Oct 24th 2016

Learn to Program: The Fundamentals (Coursera)

Created by: Delivered by:

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. A computer program is a set of instructions for a computer to follow, just as a recipe is a set of instructions for a chef. Laptops, kitchen appliances, MP3 players, and many other electronic devices all run computer programs. Programs have been written to manipulate sound and video, write poetry, run banking systems, predict the weather, and analyze athletic performance. This course is intended for people who have never seen a computer program.

It will give you a better understanding of how computer applications work and teach you how to write your own applications. More importantly, you’ll start to learn computational thinking, which is a fundamental approach to solving real-world problems. Computer programming languages share common fundamental concepts, and this course will introduce you to those concepts using the Python programming language. By the end of this course, you will be able to write your own programs to process data from the web and create interactive text-based games.

Who is this class for:

This course is primarily aimed at first-year university students and high school students who want to learn how to program.



Python, Variables, and Functions

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.

Graded: Python, Variables, and Functions


Strings and Designing Functions

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

Graded: Strings and Designing Functions

Graded: Assignment 1: Time Zones


Booleans, Import, Namespaces, and if Statements

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.

Graded: Booleans, Import, Namespaces, and if Statements


For Loops and Fancy String Manipulation

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.

Graded: For Loops and Fancy String Manipulation

Graded: Assignment 2: DNA Processing


While Loops, Lists, and Mutability

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.

Graded: While Loops, Lists, and Mutability


For Loops Over Indices, Parallel and Nested Lists and Strings, and Files

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.

Graded: For Loops Over Indices, Parallel Lists and Strings, and Files

Graded: Assignment 3


Tuples and Dictionaries

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

Graded: Tuples and Dictionaries

Graded: Final Exam

Suggested Readings:
An Introduction to Computer Science Using Python 3