• UCI

Intermediate Python

Develop your programming skills and learn the dynamic semantics of Python as an object-oriented programming language.

2,018 enrolled on this course

Person typing on laptop computer with coding lines displayed on the screen

Intermediate Python

2,018 enrolled on this course

  • 6 weeks

  • 3 hours per week

  • Digital certificate when eligible

  • Intermediate level

Find out more about how to join this course

Build your Python programming skills

On this six-week course from the University of California, Irvine, you’ll gain basic computer science knowledge to help you become more efficient with Python programming, focusing on the data-science applications of programming concepts.

Discover VS Code and how to run a Python script within it

You’ll start this course by learning about a new Integrated Development Environment (IDE) called Visual Studio (VS) Code, which you’ll be using to run Python.

From recursion and linear data structures to trees and graphs, maps and hash tables, you’ll cover a wide variety of topics throughout this course to help you become more proficient in Python programming.

Explore Python advanced language features and write your own Python classes

This course will guide you through the basics of object-oriented programming using Python classes. Each week will focus on different features and Python Data Structures to help you write more efficient programs.

Once you’ve successfully completed this course, you’ll be able to think computationally when solving data-related problems as well as being able to assess and develop algorithms. You’ll also be ready to take on more advanced programming concepts and courses to help develop your skills further.

Learn from the Python programming experts

The University of California, Irvine Division of Continued Education (UCI DCE) has decades of experience developing and delivering industry-specific technology training programs to worldwide learners. With proven subject-matter experts instructing you through each course and an Advisory Board of industry experts guiding the content and learning objectives, this course is perfect to help you develop your Python programming skills.

Syllabus

  • Week 1

    Introduction to VS Code

    • Course Introduction

      In this activity, you'll be introduced to the FutureLearn platform, and the content that will be covered during this course. You will also get an overview of the topics covered during the first week of this course.

    • An introduction to VS Code

      In this activity, you are introduced to a new IDE, namely VS Code. You will cover installation and basic usage, including debugging with breakpoints.

    • Running Python script

      In this activity, you will explore two methods for running Python scripts.

    • Week wrap up

      In this activity, you will have the opportunity to test your knowledge of the topics covered during the week. You will also be provided with a summary and a chance to provide some feedback on your experience.

  • Week 2

    Exploring `argparse`, Functions and Arguments

    • Welcome to the week

      Moving into the second week of this course, this activity will give you an overview of the topics that will be covered during this week.

    • Exploring `argparse`

      In this activity, you will explore `argparse` as the recommended command-line parsing module in the Python standard library.

    • Functions

      A big topic in this course is 'Functions'. In this activity, you will review 'Functions', with some examples, and then you will learn about functions in docstrings.

    • Demystifying args, kwargs and Zip

      Python functions can contain two types of arguments: positional arguments and keyword arguments, and in this activity you will learn more about these arguments.

    • Default arguments

      In this activity, we look at specifying default argument values to arguments in a function, to ensure a function will run successfully.

    • Week wrap up

      In this activity, you will have the opportunity to test your knowledge of the topics covered during the week. You will also be provided with a summary and a chance to provide some feedback on your experience.

  • Week 3

    Iterators, Generators and Namespaces

    • Welcome to the week

      Moving into the third week of this course, this activity will give you an overview of the topics that will be covered during this week.

    • Iterators and generators

      In this activity, you will learn the comparison of Python generator vs. iterator.

    • Types of namespaces

      In this activity, we will look into Python namespaces as containers for mapping names to objects, and specifically covering global, local, and built-in namespaces.

    • Namespaces: Continued

      In this activity, you will learn about some common errors that occur with namespaces and how to solve this. You will also cover the class of a function and learn about functions as first-class objects.

    • Week wrap up

      In this activity, you will have the opportunity to test your knowledge of the topics covered during the week. You will also be provided with a summary and a chance to provide some feedback on your experience.

  • Week 4

    Closures and Decorators

    • Welcome to the week

      Moving into the fourth week of this course, this activity will give you an overview of the topics that will be covered during this week.

    • Closures

      In this activity, you will learn about the closure function in Python and see how to create one and when to use it in your code.

    • Decorators

      In this activity, you will learn about the decorator function in Python and see how to create one and when to use it in your code.

    • Decorators with arguments

      In this activity, we will move from intermediate Python topics and briefly explore a more advanced topic, by looking at decorators that accept arguments.

    • Week wrap up

      In this activity, you will have the opportunity to test your knowledge of the topics covered during the week. You will also be provided with a summary and a chance to provide some feedback on your experience.

  • Week 5

    Objects, Inheritance and Polygons

    • Welcome to the week

      Moving into week five of this course, this activity will give you an overview of the topics that will be covered during this week.

    • Objects

      In this activity, you will learn what an object is, how to write your own objects and you will be introduced to object orientated programming.

    • Inheritance and super

      In this activity, you will learn how inheritance allows you to define a class that inherits (child class) all the methods and properties from another class (parent class).

    • Polygons

      In this activity, you will start learning about the different kinds of polygons, and how to model polygons as Python objects.

    • Week wrap up

      In this activity, you will have the opportunity to test your knowledge of the topics covered during the week. You will also be provided with a summary and a chance to provide some feedback on your experience.

  • Week 6

    Classes, Big O and Python Lists

    • Welcome to the week

      Moving into the final week of this course, this activity will give you an overview of the topics that will be covered during this week.

    • Big O notation

      In this activity, you will be introduced to 'Big O' notations, and look at the Big O notation for the 'in' operation on lists and sets.

    • Python data structures

      In this activity, you will learn how different data structures are implemented in Python, including lists, sets, and dictionaries, as well as look at memoization, and what that means for time and space complexity.

    • NumPy

      In this activity, we look at NumPy arrays and learn how the NumPy library provides high-performance arrays that we can use to dramatically speed up the runtime of our code.

    • Course wrap up

      In this activity, you will have the opportunity to test your knowledge of the topics covered during the week. You will also be provided with a summary and a chance to provide some feedback on your experience.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

  • Available now

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Explore Python advanced language features for writing efficient programs
  • Demonstrate advanced Python Data structures for efficient handling of data
  • Apply knowledge to write your own Python classes

Who is the course for?

This course is designed for anyone interested in developing their knowledge of Python programming. It will be especially useful for programmers, data scientists, web designers, coders, and data analysts.

What software or tools do you need?

To complete this course, you’ll need access to Anaconda for Python 3.x

Who will you learn with?

Hello! I am the cofounder of http://teamelate.com, an Applied Maths grad, and I teach python! Reach out to me with any questions you may have :-). @willhenrytweets

Who developed the course?

University of California, Irvine

Established in 1962, the University of California, Irvine Division of Continuing Education (UCI DCE) has served the lifelong learning needs of individuals, organizations, and the community on a local, regional, and global scale.

  • Established

    1965
  • Location

    Irvine, USA
  • World ranking

    Top 100Source: Times Higher Education World University Rankings 2020

Ways to learn

Buy this course

Subscribe & save

Limited access

Choose the best way to learn for you!

$134/one-off payment

$27.99

For the first two months. Automatically renews

Free

Fulfill your current learning needDevelop skills to further your careerSample the course materials
Access to this courseticktick

Access expires 9 May 2024

Access to 1,000+ coursescrosstickcross
Learn at your own paceticktickcross
Discuss your learning in commentstickticktick
Certificate when you're eligiblePrinted and digitalDigital onlycross
Continue & Upgrade

Cancel for free anytime

Ways to learn

Choose the best way to learn for you!

Subscribe & save

$27.99

For the first two months. Automatically renews

Develop skills to further your career

  • Access to this course
  • Access to 1,000+ courses
  • Learn at your own pace
  • Discuss your learning in comments
  • Digital certificate when you're eligible

Cancel for free anytime

Buy this course

$134/one-off payment

Fulfill your current learning need

  • Access to this course
  • Learn at your own pace
  • Discuss your learning in comments
  • Printed and digital certificate when you’re eligible

Limited access

Free

Sample the course materials

  • Access expires 9 May 2024

Find out more about certificates, Unlimited or buying a course (Upgrades)

T&Cs apply.

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Learner reviews

Learner reviews cannot be loaded due to your cookie settings. Please and refresh the page to view this content.

Get a taste of this course

Find out what this course is like by previewing some of the course steps before you join:

Do you know someone who'd love this course? Tell them about it...