To support our site, Class Central may be compensated by some course providers.

Introduction to Computer Science and Programming Using Python

All-Time Top 50

Massachusetts Institute of Technology via edX

students interested
  • Provider edX
  • $ Cost Free Online Course
  • Session Self Paced
  • Language English
  • Certificate $49 Certificate Available
  • Effort 15 hours a week
  • Start Date
  • Duration 9 weeks long

Taken this course? Share your experience with other students. Write review

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.

Taught by

Ana Bell, Eric Grimson and John Guttag

Tags

Related Courses

Reviews for edX's Introduction to Computer Science and Programming Using Python
4.5 Based on 117 reviews

  • 5 stars 71%
  • 4 stars 19%
  • 3 stars 3%
  • 2 stars 4%
  • 1 stars 3%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Anonymous
5.0 5 years ago
Anonymous completed this course.
This is an excellent course that will teach you some Python, but more importantly will teach you algorithmic thinking and how to break down large problems into simpler ones. I came into it with some self-taught Python knowledge and found it challenging but manageable. Absolute beginners may want to first try Google's free Python course or some other quick introduction to the language.

The problem sets are very hard, but also the best part of the experience: they drive home the lecture concepts and completing them successfully makes you feel accomplished. Some examples: we had to w…
32 people found
this review helpful
Was this review helpful to you? Yes
Prose S
5.0 3 years ago
by Prose completed this course, spending 6 hours a week on it and found the course difficulty to be medium.
This is a well-crafted, fast-paced introduction to Computer Science, though a little dry at times. I think it's based on the introductory 'CS for non CS majors' course at MIT.

The pace, relative complexity of some of the subject matter* and difficulty of a few of the exercises - I'm not a gifted programmer and I found a couple fairly challenging despite some background - might make it better suited as a second (or third) course for some, despite using Python (perhaps the easiest programming language to pick up). Rice's IIP or Udacity's CS101 - which I'd both done earlier - would b…
16 people found
this review helpful
Was this review helpful to you? Yes
Nicole D
4.0 2 years ago
by Nicole completed this course, spending 12 hours a week on it and found the course difficulty to be very hard.
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.
13 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 5 years ago
Anonymous completed this course.
This was probably the best introduction to computer programming I have ever seen. The professors are engaging and the lectures are short and to the point. Finger exercises between lectures really drive home the points that the professors were trying to make. The programming assignments were challenging enough to make you feel like you have accomplished something, but the specifications were generally enough to get you through it. The forums were invaluable to completing the assignments and were full of very bright students with excellent questions. The Midterms were very challenging, especially the first one. I liked how once the fundamentals of Python were covered, the focus moved to solving real world engineering problems, but I still feel that there is a lot more to learn about Python. I'd take another class from this MIT group in an instant.
6 people found
this review helpful
Was this review helpful to you? Yes
Prahlad P
5.0 2 years ago
by Prahlad completed this course, spending 35 hours a week on it and found the course difficulty to be medium.
Great course! But you have to work a lot, not get frustrated and be ready to think out of the box and get out of the comfort zone to solve the problems.

One of the things to take away from this course for me was that coding of complex programs is not done alone. Brainstorm with some one else if the approach you are taking to solve the problem is on the right track. Pseudocodes are important.

Another thing I learnt in this course is that they make you work hard on the Problem sets so that you are well prepared for the Finals. You may have difficulty winning the battle but you will win the war because you are well prepared for it.

At the end of it, it's real power when you tell the computer what you want it to do and it does that!
6 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
1.0 7 months ago
Anonymous is taking this course right now.
I'm taking this class as a refresher and as a way to dig into some sorting algorithms that I haven't used in awhile but if I was new to coding/python, I would find this class to be very confusing. The lectures aren't presented very clearly. The slides are disorganized, often times with the professor making random, nonsensical scribbles that are more distracting than helpful. When you do see the code example screen, there's old code, unused code, and sometimes superfluous code that would be extremely confusing to a beginner. Topics in the first few weeks don't seem to build on one another in …
Was this review helpful to you? Yes
Vicky P
4.0 2 years ago
by Vicky partially completed this course, spending 2 hours a week on it and found the course difficulty to be hard.
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.
5 people found
this review helpful
Was this review helpful to you? Yes
Salvador A
5.0 3 months ago
by Salvador completed this course, spending 12 hours a week on it and found the course difficulty to be hard.
I came to this course after taking some parts of Harvard's CS50x (a really good course), another Intro to CS course, so I couldn't help but compare. This isn't to say which one "did it better"

(since you really shouldn't compare since they have difference scopes) but just to show you how they are different, and to help you choose depending on what you're looking for.

They take different approaches. CS50x explains a lot of what goes on "under the hood" and teaches programming using C (a low-level language in comparison to Python), and also touches on a lot of other CS …
Was this review helpful to you? Yes
Anonymous
2.0 2 years ago
Anonymous is taking this course right now.
The course moves very quickly and has required 20+ additional hours of work weekly beyond the instruction. The lectures are very contained in their scope, but the scope of the problems jumps far beyond the lecture and requires much unsupported research (really guessing, in many cases!). This problem could be easily rectified with a more gradual evolution of problems. (Bridging problems between the current short end-of-lesson questions and complex weekly problems.) On-screen the graphics are difficult to follow with a very small font making it hard to see key characters. The execution scree…
Was this review helpful to you? Yes
Anonymous
5.0 4 years ago
Anonymous completed this course.
This course has been my best online 'tutorial'. Instructor approaches teaching from 'first principle' and for me that is the way to go. I was able to grasp the fundamentals of programming on the fly. I entered the course with the aim of getting first hand education on python programming to enable me write scripts for digital design as an architect but I chanced upon a requisite knowledge I never earlier imagined. Each lesson was modest in design, well defined in specific objective, and understandable information. It covered a wide range of lessons needed for computer programming and would recommend it for anybody who wants to learn computer science.
3 people found
this review helpful
Was this review helpful to you? Yes
Elvina V
5.0 9 months ago
by Elvina completed this course, spending 4 hours a week on it and found the course difficulty to be medium.
This course covers a lot of ground, so it may be demanding for a beginner. However, if you have some programming experience and just want to get all you knowledge into a system and learn some python it can be pretty manageable. Problems sets can be challenging, but not if you've solved similar problems in another language. So I recommend it to someone who has done at least a CodeAcademy course, so you wouldn't feel thrown into a deep end right away. Otherwise it's a great course. I personally enjoyed the instructor's sense of humour and barely contained enthusiasm for the subject.
Was this review helpful to you? Yes
Anonymous
5.0 4 years ago
Tony completed this course.
This is am amazing class. One of the best so far MOOCs I've taken so far. I not only learned python, but also computational thinking that expands the power of programming. As a non-cs major heading into a master's CS program, the exposure to this class gave me tremendous confidence in moving into the next level. the psets, coupled with exercises between lectures fortified my understanding of the materials seamlessly. I highly recommend this class to anyone interested in learning python, and programming in general.
4 people found
this review helpful
Was this review helpful to you? Yes
Dubravko G
5.0 2 years ago
by Dubravko completed this course, spending 15 hours a week on it and found the course difficulty to be hard.
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.
2 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 5 years ago
Gabriel completed this course.
Prior experience: 1 year of computer science education.

This was my first MOOC, and up to this point, the most rewarding one. The way it approaches CS is the best I've seen so far, giving real examples of usage of all the concepts, it's really motivating.

Regarding difficulty, it has the perfect balance: the challenges are demanding but not so hard that you feel frustrated or can't complete it.

I totally recommend this one, but I advise you that if your only goal is to learn Python, maybe it is not the best choice, as you will use a lot of time on others subjects rather then just programming.
1 person found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 4 years ago
Anonymous completed this course.
I thought this course was HARD. Devoted many more hours to it than I anticipated and barely got above the passing mark. That said, I learned a lot and found it to be of higher quality than several undergraduate courses I took as an enrolled student at a respected university. I am not a programming type and my brain does not naturally take to this kind of material. If you have a thick skin and are interested in the topic, this is the course you want. Many of the concepts helped me substantially in understanding how to use other programs like R effectively.
2 people found
this review helpful
Was this review helpful to you? Yes
Aviaura A
5.0 3 years ago
by Aviaura is taking this course right now, spending 12 hours a week on it and found the course difficulty to be very hard.
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. So, if you are merely starting, don't feel belittled. This is a magnificent course, and even if you just complete it, without scoring good, trust me, you will take many things out of it for future. Will normally take around 12-15 hours a week, but if you are new might take long.
2 people found
this review helpful
Was this review helpful to you? Yes
Doris S
5.0 3 years ago
by Doris completed this course, spending 6 hours a week on it and found the course difficulty to be hard.
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. The midterm and final, though, I found very difficult.

The pacing of the class is also a little uneven: we lingered over the easier topics early on, but then sped through more demanding topics, such as object-oriented programming, toward the end of the course.
3 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 2 years ago
Anonymous completed this course.
I really enjoyed this course. Prof. Grimson's lectures were a pleasure to watch. I had very little programming experience (just Python for Informatics on Coursera), so I found this course to be difficult, but very rewarding. I took it concurrently with the Rice python course on Coursera, and I found that the two courses complemented each other very well, though it was hard to find time to complete all the assignments for both courses.
2 people found
this review helpful
Was this review helpful to you? Yes
Yngwi Y
5.0 a year ago
Yngwi completed this course, spending 6 hours a week on it and found the course difficulty to be medium.
Really excellent one. Even without any prior exposure to the programming one can grasp all the fundamental ideas, presented in course, pretty easily. The other important characteristic is very active discussion forum, where it is possible to find support or get answers for a variety of questions. And, third, despite frequent claims to the contrary, automatic grader gets the job done - with a proper implementation throughout all the course I haven't managed to get any errors or incorrect behaviour from it.
Was this review helpful to you? Yes
Thong T
5.0 3 years ago
by Thong completed this course, spending 12 hours a week on it and found the course difficulty to be hard.
In summer last year, I took this course as my first course to learn CS and I was satisfied with the quality and rigor of this course. I learned many CS concepts and did practice with tons of programming exercises. The professor's high quality lectures and active discussion forum were really helpful. I think the high quality of edX platform itself also contributed to my success in this course.
2 people found
this review helpful
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.