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

2,041 enrolled on this course

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

    6 weeks
  • Weekly study

    3 hours

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

    • Programmer holding up a yellow sticky note with Python written on it

      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.

    • Laptop computer sitting on a wooden desktop with programming code screen displayed

      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.

    • Looking through black rimmed glasses at a computer screen with programming code displayed in the background

      Running Python script

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

    • White lightbulb on a white background, with three yellow pins arranged around the top of the lightbulb

      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

    • White laptop computer on a desk displaying screen with programming code on screen

      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.

    • Hand typing on laptop computer keyboard busy writing code

      Exploring `argparse`

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

    • Section of coding language displayed on a computer screen

      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.

    • Person balancing a black laptop computer on index finger, with coding program displayed on the screen

      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.

    • Section of coding language displayed on a computer screen

      Default arguments

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

    • White lightbulb on a white background, with three yellow pins arranged around the top of the lightbulb

      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

    • Black laptop computer on a wooden desktop with coding program displayed on the screen

      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.

    • Partial view of a laptop computer screen and keyboard with coding program displayed on the screen

      Iterators and generators

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

    • laptop computer on a desktop with coding program displayed on the screen and person typing on another computer in the background

      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.

    • Partial view of a laptop computer screen and illuminated keyboard with coding program displayed on the screen

      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.

    • White lightbulb on a white background, with three yellow pins arranged around the top of the lightbulb

      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

    • Image of laptop computer screen displaying coding program with lines of code written

      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.

    • Partial view of a black laptop computer screen illuminated with code on the screen and keyboard

      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.

    • Side view of laptop computer screen displaying coding program with lines of code written

      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.

    • Top down view of a computer screen illuminated with coding lines written across the screen

      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.

    • White lightbulb on a white background, with three yellow pins arranged around the top of the lightbulb

      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

    • Front view of partially closed laptop computer with keyboard illuminated by open coding program on the screen

      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.

    • Front view of a laptop computer on a white desk with coding program displayed on the screen

      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.

    • Side view of a computer screen illuminated with coding lines written across the screen

      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).

    • Partial view of a laptop computer screen with coding lines displayed on the screen

      Polygons

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

    • White lightbulb on a white background, with three yellow pins arranged around the top of the lightbulb

      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

    • Partial view of a laptop computer screen and keyboard with coding program displayed on the screen

      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.

    • Partial view of a laptop computer screen and keyboard with coding program displayed on the screen

      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.

    • Partial view of a computer screen illuminated with coding lines written across the screen

      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.

    • Front view of white laptop computer on a white desk with coding lines across the screen and larger computer screen in the background

      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.

    • White lightbulb on a white background, with three yellow pins arranged around the top of the lightbulb

      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.

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?

William Henry

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?

UCI

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

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

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...