Learn to Program: The Fundamentals

4 min read Original article ↗

University of Toronto

Ends soon! Save on skills that make you shine with 40% off 3 months of Coursera Plus. Save now

University of Toronto

Learn to Program: The Fundamentals

Jennifer Campbell

Paul Gries

525,321 already enrolled

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.

Beginner level

No prior experience required

Flexible schedule

3 weeks at 10 hours a week

Learn at your own pace

Most learners liked this course

Gain insight into a topic and learn the fundamentals.

Beginner level

No prior experience required

Flexible schedule

3 weeks at 10 hours a week

Learn at your own pace

Most learners liked this course

91% of learners achieved a positive career outcome

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 7 modules in this course

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.

This module gives an overview of the course, the editor we will use to write programs, and an introduction to fundamental concepts in Python including variables, mathematical expressions, and functions.

What's included

8 videos10 readings1 assignment

This module introduces strings (a Python data type used to represent text), and a process to follow when creating a function.

What's included

6 videos6 readings1 assignment1 programming assignment

This module introduces Booleans (logical values True and False), how to convert between types, how to use Boolean expressions in if statements to selectively run code, and the concept of a Python module.

What's included

7 videos7 readings1 assignment

This module introduces one way to repeat code (using a for loop), how to manipulate strings, and how to use a debugger to watch a program execute step by step.

What's included

5 videos5 readings1 assignment1 programming assignment

This module introduces another way to repeat code (using a while loop), how to properly document your code to help other programmers understand it, Python's list data type, and the concept of mutation.

What's included

6 videos6 readings1 assignment

This module introduces how to use a for loop over the indexes of a list, how to nest lists, and how to read a write files.

What's included

7 videos6 readings1 assignment1 programming assignment

This module introduces tuples (an immutable version of lists), and Python's dictionary type.

What's included

4 videos3 readings2 assignments

Instructors

Jennifer Campbell

University of Toronto

2 Courses564,502 learners

Paul Gries

University of Toronto

2 Courses564,502 learners

Offered by

  • 40% off promotion

Frequently asked questions

You'll learn how to turn simple problems into Python code and understand what the computer is doing as it runs that code. It starts with expressions, variables, and functions, then builds into decisions, loops, and working with text, files, and collections. You'll apply that in quizzes and programming assignments, including string-processing work such as DNA processing.

No, the course starts from the beginning and teaches Python as it teaches programming. You'll begin with installing Python and using IDLE, then move into expressions, variables, and functions. The main thing you'll need is a willingness to practice, because you'll start writing code early in the course.

Yes, it's beginner-friendly for someone who wants a thorough introduction to programming, not just a quick tour of syntax. The course explains core ideas carefully and reinforces them with lessons, readings, quizzes, and programming assignments, so you keep practicing as the material builds. It may feel more demanding if you're looking for a very short overview, because regular practice is part of the learning experience.

More questions

Financial aid available,