Skip to content
edXPythonFree courseIntermediate levelCertificate

Introduction to Computer Science and Programming Using Python

This two-part certification course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Part 1 of this class will culminate in building a version of the classic arcade game "Pong".

Created by: John Guttag

Produced in 2013

icon
What you will learn

  • Introduction to computer science and the core elements of programs.
  • Basic algorithms and functions.
  • Recursion and objects.
  • Debugging.
  • Efficiency, orders of growth and memory and search.
  • Classes and inheritance.
  • Trees.

icon
Course Description

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.

NOTE: If this course is not currently in-session on edX, you can access the course videos and other materials free at the MIT website and on the MIT OpenCourseWare YouTube channel.

NOTE: While edX calls labels this course 'Introductory', we feel that this course is not well suited for those without a minimal level of coding experience. Students without prior programming background will find there is a steep learning curve and may have to put in more than the estimated time effort.

icon
Pros

icon
Cons

    • Designed to be a first-ever experience with computer science. This is the ultimate beginner-friendly course.
    • Designed by MIT.
    • Large pool of exercises and supplemental resources to expand the concepts taught in the course.
    • Community resources encourage students to help each other.
    • Course is best followed by purchasing the supplemental textbook, raising the overall cost.
    • Focuses more on data science than most introductory Python courses.
    • This 8-week course might really take 8 weeks to complete.

icon
Instructor Details

John Guttag

Professor Guttag is the Dugald C. Jackson Professor of Computer Science and Electrical Engineering at MIT. He leads the Computer Science and Artificial Intelligence Laboratory's Data Driven Medical Research Group. The group works on the application of advanced computational techniques to medicine. Current projects include prediction of adverse medical events, prediction of patient-specific response to therapies, non-invasive monitoring and diagnostic tools, and tele-medicine. He has also done research, published, and lectured in the areas of data networking, sports analytics, software defined radios, software engineering, and mechanical theorem proving.Professor Guttag received his bachelors degree in English and his master's in applied mathematics from Brown University. His doctorate is from the University of Toronto.From January of 1999 through August of 2004, Professor Guttag served as Head of MIT's Electrical Engineering and Computer Science Department. He is a Fellow of the ACM and a member of the American Academy of Arts and Sciences.

icon
More courses by John Guttag

Free

icon
Reviews

4.6

17 reviews in total

Select a bar to show only those reviews.Select the bar again to show every rating.

By Mustafaa on 11/12/2019

Thoroughly explained, everything was perfect. Good teaching standard

By Ruilin on 4/25/2019

For any aspiring Python gurus, Id highly recommend finding three or four hours on a weekend, or a few minutes each night to read his tutorials, listen to his talks and try solving his puzzles. You'll be writing awesome Python code in no time!

By Ruilin on 4/25/2019

A life-changing MOOC. I take this MOOC aside from my work as a government clerk in China in 2016, which is very unsatisfactory. At that time, I was 24, graduated from an Econ & Business university, beaten by the humiliating experience of working in a rigorous hierarchy, and most relevant, never touched programming.This MOOC helped me to recognize my potential in the field of computer science. It is demanding, even might cause you scratchingly uncomfortable. But it is definitely a worth try. As the saying goes, good things take time. I finished the course a bit more than 2 years ago, and guess what? From a speck of humble dust in the giant bureaucratic machine, to a first-year Bachelor student of Computer Science at a recognizable university at the age of 26!My life trajectory is running on a new track, and in the determination of this amazing transition (it is especially hard if you are from the developing world where the society is not so tolerant), I'd say this MOOC plays a fundamental role. Thanks to edx, thanks to MITx!

By Ilya on 4/25/2019

This course is hard like other MIT courses. Be prepared to work a lot to perform well. A good news that it's not that hard like previous course in functional programming. The second part is about scientific applications of python that is not very common for such courses but natural for MIT. Personally I was highly interested in Monte-Carlo simulations.

By Dubravko on 4/25/2019

Excellent introduction class for anyone wanted to learn Python either you are a beginner/student or a professional experienced engineer wanted to learn something new. 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.

By Vicky on 4/25/2019

The many practice quizzes are very useful and I could follow the first half of the course but when I encountered a problem with an exercise around the middle of the course I couldn't solve it and since I was too busy to find other help (e.g. books/resource persons), I was stuck and gone off track with the course schedule. So I had to drop this course. I'd recommend this course if you have someone around who already knows programming because as with other computer stuffs, sometimes a small thing can get you stuck and you can look at it a million times and still can't see where the problem lies.

By Nicole on 4/25/2019

I just finished this class. It was much harder and moved much quicker than any other MOOC I have taken. I learned a lot, but it was a lot more work than I had really anticipated. I am a complete novice with no programming experience, so perhaps that was my fault. I did finish (just this second) and did get a good grade, but I put far more time and effort into the class than I had expected. Be prepared!As an example the first 3 'week' projects are due 4 days apart (Thurs, Tue, Fri due dates) so the 'week' concept was a bit misleading. Again, I really enjoyed and learned a ton, but I hope others know their expectations.Also a lot of the work is self taught. You need to go out and find the answer far more than expect the answer to be in the videos or exercises.

By Vlad Nalimov on 4/25/2019

This course might seem a little boring or even intimidating to some. It's won't be an easy walk-through if you don't have any clue what Python or programming is about.

By Ruilin Yang on 4/25/2019

This MOOC helped me to recognize my potential in the field of computer science. It is demanding, even might cause you scratchingly uncomfortable. But it is definitely a worth try.

By Doris Smith on 4/25/2019

An excellent introduction to thinking computationally. I liked the instructor, and the exercises and problems sets largely struck a nice balance, being challenging but not discouraging.

By Dubravko Gacina on 4/25/2019

Excellent introduction class for anyone wanted to learn Python either you are a beginner/student or a professional experienced engineer wanted to learn something new.

By Elvina Valieva on 4/25/2019

This course covers a lot of ground, so it may be demanding for a beginner.

Showing 12 of 17 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100