Introduction to Computer Science and Programming Using Python

This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems. Some of the people taking the two courses will use them as a stepping stone to more advanced computer science courses, but for many it will be their first and last computer science courses. _This run features updated lecture videos, lecture exercises, and problem sets to use the new version of Python 3.5. Even if you took the course with Python 2.7, you will be able to easily transition to Python 3.5 in future courses, or enroll now to refresh your learning. _

Since these courses may be the only formal computer science courses many of the students take, we have chosen to focus on breadth rather than depth. The goal is to provide students with a brief introduction to many topics so they will have an idea of what is possible when they need to think about how to use computation to accomplish some goal later in their career. That said, they are not "computation appreciation" courses. They are challenging and rigorous courses in which the students spend a lot of time and effort learning to bend the computer to their will.


  • What type of computing environment do I need for this course?

    • You need to have a computer running one of the following operating systems:
    • Microsoft Windows, version XP or greater (XP, Windows Vista, or Windows 7)
    • Apple OSX, version 10.2 or greater
    • Linux - most distributions that have been released within the past two years should work
    • In addition, you will need the ability to download, install, and run software on your computer.

  • What browser should I use?

    • We strongly recommend that you use the Chrome browser while visiting the edX site. This site is optimized for viewing in Chrome.
    • If you cannot use Chrome, you should use the Firefox browser. Be advised you may have trouble with site functionality if you choose to use an alternate browser.

  • What programming language(s) will this course use?

    • 6.00x will be using the Python programming language, version 3.5.
    • You are not expected to have any prior programming knowledge - this course is intended for students who have little to no experience with any programming language.

  • What is the format of the class?

    • The class will consist of lecture videos, which are broken into small chunks, usually between eight and twelve minutes each. Some of these may contain integrated "check-yourself" questions.
    • There will also be programming assignments and standalone exams/quizzes, which are not part of the video lectures.

  • Will the text of the lectures be available?

    • Yes, transcripts of the course will be made available.

  • Do I need to watch the lectures live?

    • No. You can watch the lectures at your leisure - you do not need to watch the lectures at any set time.

  • How much does it cost to take the course?

    • Nothing: the course is free.

OpenCourser is compensated by edX. Learn more.

From edX
Institution Massachusetts Institute of Technology
Instructors Eric Grimson, John Guttag, Ana Bell
Length 9 weeks
Effort 15 hours per week
Availability Archived
Price Free, or get a Verified Certificate for $49
Language English (English)
Subjects Computer Science Engineering Science
5 based on 3 reviews
More Info Introduction to Computer Science and Programming Using Python @ edX

What people say about Introduction to Computer Science and Programming Using PythonBETA

hours per week

I easily spent 12+ hours per week on this course.

about 15 or more hours per week on it.

changed my life

I found this course very challenging and equally rewarding.This course changed my life…

The course has opened a lot of windows and changed my life.

of computer science definitely leans more towards the theoretical, math-heavy side of computer science…

Many congratulations to Prof. Eric Grimson and all those who contributed to this course…

It gave me the foundation of computer science.

john guttag

There is a good book bu John Guttag.

looking forward

Now I sold my first Web-Application completely writen in Python…

And I myself looking forward for 6.00 2 to start…

I'm looking forward to doing the 2nd part of this course!Awesome course…

This course teaches valuable skills*


Yearly salary

This is the average pay in the US for people with these skills.

We've collected a sampling of potential jobs below.

Software Systems Engineer (Senior)


Instructor - Computer Science


Asst. Professor - Computer Science


Software Engineer (Senior)


*Median income figures across U.S., note that actual salaries vary.

Review this course.

Recommend by rating it a 4 or 5

Tell us a little bit about it.
How much coursework did you finish?


SixHundredX recommends this course:

Best introduction to CS ever, but very challenging. Worth spending 4-8 hours doing homework each week.


chewbacca recommends this course:

Hands down, this is one of the best courses to learn programming. I took AP computer science in high school and really didn't get a strong grasp of things like big o notation and understanding why some sorts are better than others. It wasn't my teacher's fault necessarily, but I think juggling Java and fifty other things is hard. Python makes it a bit easier. The way 6.00x builds on that foundation and takes it even further is what's really impressive. I took this course to refresh my CS knowledge, but I've found more than a few occasions where I use it in my personal and work life. I hope one day MIT will release a sequel for this class to do even more with CS (like building standalone applications / games with Python). Also I wish they would teach more about using external libraries, but that's easy enough to figure out on your own. Still, A+ for MIT!


MingW recommends this course:

Great. The profs in this course get very deep into the basics. A big part of CS is understanding the foundations and this course does it. I'm into data analysis and the sections on algorithms and data were really helpful for advancing my goal. I was split between this class and CS50 (from Harvard) since CS50 covers C. However, after taking 6.00x I'm very happy and even bought a verified certificate to put in my resume.

Like this course?

Save it for later.

You can find this course in these lists: