Preparing video…

Learn to Program: The Fundamentals

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.


Course at a Glance

About the Course

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.

Recommended Background

This course is intended for people who have never programmed before.  A knowledge of grade school mathematics is necessary: you need to be comfortable with simple mathematical equations, including operator precedence. You should also be comfortable working with simple functions, such as f(x) = x + 5.

Suggested Readings

This online course is intended to be self-contained, but if you want additional reading material you will find that Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3 matches the course material closely.

Course Format

The class consists of 1 to 2 hours of lecture each week, which are made up of videos that are generally shorter than 10 minutes each. Each video contains integrated quiz questions. There are also weekly standalone exercises that are not part of the video lectures and a (non-optional) final exam.


  • Will I get a Statement of Accomplishment after completing this class?

    Yes. Students who successfully complete the class will receive a Statement of Accomplishment signed by the instructor.

  • Can I really do this course if I don’t know anything about programming?

    Yes! We expect this course to be taken by people completely new to programming.

  • What resources will I need for this class?

    We use the freely-available Python 3 and the IDLE development environment (which comes with Python 3). The download is available here: Download the most recent release of Python 3.

  • What is the coolest thing I'll learn if I take this class?

    You will be able to develop interactive text-based programs such as a word search game.