Set Reminder Save for later

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 lecture videos, lecture exercises, and problem sets using Python 3.5. Even if you previously 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.

Get Details and Enroll Now

OpenCourser is an affiliate partner of edX.

Get a Reminder

Not ready to enroll yet? We'll send you an email reminder for this course

Send to:



Massachusetts Institute of Technology

Rating 4.4 based on 152 ratings
Length 9 weeks
Effort 14 - 16 hours per week
Starts Jan 22 (14 weeks ago)
Cost $300
From Massachusetts Institute of Technology, MITx via edX
Instructors Eric Grimson, John Guttag, Ana Bell
Download Videos On all desktop and mobile devices
Language English
Subjects Programming Science
Tags Computer Science Engineering Science

Get a Reminder

Get an email reminder about this course

Send to:

What people are saying

We analyzed reviews for this course to surface learners' thoughts about it

computer science in 16 reviews

This is a well-crafted, fast-paced introduction to Computer Science, though a little dry at times.

It covered a wide range of lessons needed for computer programming and would recommend it for anybody who wants to learn computer science.

Prior experience: 1 year of computer science education.

This is an excellent introduction into Computer Science using Python.

Very good introduction to computer science.

6.00.1x taught me many areas of computer science that I did not previously think about which I found quite nice.

This was an excellent course, half of a first course in computer science covering basic algorithmic thinking, functions, loops, recursion, debugging, searching and sorting, orders of growth, object-oriented programming and trees.

This is less of a programming course than it is a computer science course, because a lot of programming details (syntax, built-in functions, etc) is only briefly mentioned and you're expected to do some research yourself using the Python documentation, etc.

problem sets in 7 reviews

The exercises and the problem sets bear very little relationship to the lectures.

The problem sets were thorough, and the structure of presentation and evaluation made it so that I didn't slack off.

This was a nicely difficult course that included interesting problem sets where you build something step by step.

CONS: \- There were a few errors in the lectures and some very ambiguous wording in the problem sets, but most of the time the course staff took an attitude of "we're always right and you're probably just doing it wrong" towards the students.

\- I have to mention it again: some of the problem sets, exams, exercises, etc.

I spent the 12 hours per week on average, and spent a lot of time on the problem sets and quiz.

I enjoyed this course specially problem sets that I consider are challenging and very useful.

The problem sets are difficult, challenging and rewarding.

eric grimson in 6 reviews

The class is somewhat medium-to-hard to follow and requires quite an attention and regularity of attendance (it's an esteemed MIT after all) but presenters and authors MIT's Professors John V. Guttag, Eric Grimson and Ana Bell did an extraordinary job of making a learning curve as gentle and pleasant as humanly possible.

Personally, to me it's the very Eric Grimson's teaching style which kept me going.

bell and whistles, a classical approach and a wonderful professor, Eric Grimson.

I guess,what makes this course even more interesting is that it's being taught by former MIT Chancellor Prof. Eric Grimson.

The videos and slides available are a wonderful resource, Eric Grimson explains everything very well.

Eric Grimson is fantastic and provides very intelligible presentations for the material.

Because of this course, I started learning Python instead of R. I had no background in computer science or programming, but it was not hard to get a high grade in the course since lectures and explanations are excellent, prof. Eric Grimson is an amazing lecturer.

for someone in 5 reviews

Okay, so for someone who has never coded, and wants to learn to program, you can safely assume this is the best course, yet the hardest out their.

Even for someone who has programmed for a year or so, this course can be tough.

It wasn't all that difficult, but I gave a "hard" rating because I think this course would be extremely difficult for someone without real programming experience.

I undoubtedly recommend this course for someone who wants to improve his/her knowledge at programming because it uses a really easy to learn programming language, i.e.

However, it can result a little difficult for someone who has no previous experience at programming.

I've tried, i really did, but for someone, who has no prior programming skills and not a huge amount of time (and willpower!

I'd say it is a challenging course especially for someone with not prior Python or coding experience.

programming language in 5 reviews

My only training before this course was self-taught, and I only focused on programming language syntax instead of computer science and problem solving abilities.

* Python is a great programming language for new computer programmers since its syntax is very easy to learn.

I am working as a software developer in a software house and my objective to take this course is to refresh my knowledge and to learn a new programming language.

* You'll learn about computer, algorithms and programming languages in general.

Also, the choice of programming language, Python, turned out to be an interesting, a less intimidating and a valuable tool for me to enter in this area.

An excellent introduction to Computer Science concepts illustrated using the Python programming language.

for beginners in 3 reviews

For beginners, make sure to do extra reading and assignments outside of the course (but recommended by the course) in order to get the most out of it.

Worst course for beginners.

However since I was a beginner when I started this course on edX, I didn't find it helpful and my ratings are for beginners.

\- Not slow pace for beginners.

the track is fine for me but i think that is not for beginner as its pace is a bit fast for beginners, but the lectures on debugging, efficiency and order of growth i like the most I don't think it is for absolute beginners as it is a little bit advanced.

This course is difficult for beginners and easy for somewhat experienced.


An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Teacher: Computer Science $55k

Instructor - Computer Science $72k

Lecturer of Computer Science $72k

Computer Science educator $78k

Computer Science Specialist $87k

Lecturer (Computer Science) $98k

MS Computer Science $106k

Professor Computer Science $109k

Computer Science R&D $129k

Associate Computer Science $133k

Professor - Computer Science $138k

MS in Computer Science $141k


Sorted by most helpful reviews first

Guest says:

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.

Guest says:

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!

Guest says:

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

Write a review

Your opinion matters. Tell us what you think.



Massachusetts Institute of Technology

Rating 4.4 based on 152 ratings
Length 9 weeks
Effort 14 - 16 hours per week
Starts Jan 22 (14 weeks ago)
Cost $300
From Massachusetts Institute of Technology, MITx via edX
Instructors Eric Grimson, John Guttag, Ana Bell
Download Videos On all desktop and mobile devices
Language English
Subjects Programming Science
Tags Computer Science Engineering Science

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now