Develop your programming skills and learn the dynamic semantics of Python as an object-oriented programming language.
Duration
6 weeksWeekly study
3 hours
Intermediate Python
Other courses you might like
This course isn't running right now. We can email you when it starts again, or check out these other courses you might like.
Browse more in Science, Engineering & Maths and Teaching
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.
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?
Established
1965Location
Irvine, USAWorld 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
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: