Introduction to Computer Science and Programming


poornima moorpa



Course reviews will be shown here


This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.

Let's start with the strategic goals of this course:

  • Help students (who may or may not intend to major in computer science) to feel justifiably confident of their ability to write small programs.
  • Map scientific problems into computational frameworks.
  • Position students so that they can compete for jobs by providing competence and confidence in computational problem solving.
  • Prepare college freshmen and sophomores who have no prior programming experience or knowledge of computer science for an easier entry into computer science or electrical engineering majors.
  • Prepare students from other majors to make profitable use of computational methods in their chosen field.

6.00SC can be summarized with these six major topics or objectives:

  • Learning a language for expressing computations—Python
  • Learning about the process of writing and debugging a program
  • Learning about the process of moving from a problem statement to a computational formulation of a method for solving the problem
  • Learning a basic set of "recipes"—algorithms
  • Learning how to use simulations to shed light on problems that don't easily succumb to closed form solutions
  • Learning about how to use computational tools to help model and understand data

6.00 is designed to help you become skillful at making the computer do what you want it to do. Once you acquire this skill, your first instinct when confronted with many tasks will be to write a program to do the task for you. Said another way, we want to help you learn to apply computational modes of thought to frame problems, and to guide the process of deducing information in a computational manner.

This means that the primary knowledge you will take away from this course is the art of computational problem solving. Unlike many introductory level courses, having an ability to memorize facts will be of little help in 6.00. This course is about learning to solve problems, not learning facts. (This, by the way, is exactly why all exams are open book.)

Setting Up Python

You can install the 6.00 software on your personal computer if your operating system is GNU/Linux, Windows (7/XP), or MacOS X. In all cases, you will need Python version 2.5.4 (any 2.5.x or 2.6.x version of Python will work, but 3.0 versions are NOT compatible). Below are direct links to the most common Python installers:


Download and install: Windows Installer

Mac OS X:

Download and install: Mac OS X Installer

Warning: On the Python homepage, the latest version available for download is actually 3.0. Do not install this! This version is not backwards compatible with the code that you'll be writing in this course (for example, you have to type print("test") instead of print "test"). Instead, be sure to download the version listed above.


Interested? Enroll to this course right now.

There is more to learn