Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Massachusetts Institute of Technology

Introduction to Computer Science and Programming in Python

Massachusetts Institute of Technology via MIT OpenCourseWare

Overview

Build a Learning Habit
Download Class Central's free printable study calendar
Download for Free
_6.0001 Introduction to Computer Science and Programming in Python_ is intended for students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class uses the Python 3.5 programming language.

Syllabus

1. What is Computation?.
Shell vs. Editor.
Python vs. Math.
Bindings.
2. Branching and Iteration.
Strings.
Comparisons.
Branching.
While Loops.
For Loops.
3. String Manipulation, Guess and Check, Approximations, Bisection.
String Manipulations.
For Loops With Strings.
4. Decomposition, Abstraction, and Functions.
Function Calls.
Functions as Arguments.
5. Tuples, Lists, Aliasing, Mutability, and Cloning.
Tuples.
Simple Lists.
List Operations.
List Aliasing/Mutation.
6. Recursion and Dictionaries.
7. Testing, Debugging, Exceptions, and Assertions.
Black Box and Glass Box Testing.
Errors.
Exceptions.
8. Object Oriented Programming.
Class Definition.
Class Instance.
Methods.
Method Call.
Special Methods.
9. Python Classes and Inheritance.
Getters and Setters.
Subclass.
10. Understanding Program Efficiency, Part 1.
11. Understanding Program Efficiency, Part 2.
12. Searching and Sorting.

Taught by

Ana Bell, Prof. Eric Grimson and Prof. John Guttag

Reviews

4.5 rating, based on 23 Class Central reviews

Start your review of Introduction to Computer Science and Programming in Python

  • I recently completed the Introduction to Computer Science and Programming in Python course, and it was an excellent experience. The course introduced fundamental programming concepts such as loops, functions, recursion, and data structures in a very clear and structured way. The focus on problem-solving and logical thinking made it easier to approach real-world challenges through coding. Python was a great choice as a beginner-friendly language, and the assignments gave me practical hands-on exposure. The instructors explained complex topics with simplicity, which boosted my confidence. Overall, this course built a strong foundation in computer science and improved my coding skills.
  • Yoga Lakshmi Desu
    This course provided a strong foundation in computer science and programming using Python. The explanations were clear, and it was an excellent experience. The course introduced fundamental programming concepts such as loops, functions, recursion, a…
  • Profile image for Mahfuz Hayder Dilshad
    Mahfuz Hayder Dilshad
    "Introduction to Computer Science and Programming in Python" is a solid, practical entry point for beginners. The course does a great job of breaking down core programming concepts—like loops, functions, and data structures—using Python's clean syntax. The hands-on exercises were valuable for building foundational problem-solving skills. However, the pacing felt a bit uneven, with some complex topics rushed through too quickly. While it provides a decent grounding, it lacks the depth needed to truly master the material. It is a pretty good introductory resource overall, but it leaves room for improvement.
  • Profile image for Ahmed Taha Mohssine
    Ahmed Taha Mohssine
    it was amazing to start studying the basics of python in the mit open course , i undestood briefely strings and tuplles and loops . I LIKE THE DICTIONARIES PART AND FIELS AND THE PROBLEMS THAT THE PROFESSOR GIVES US TO UNDESTOOD THE CONCEPTS SO THAT WE CAN TAKE ADVENTTAGE FROM THE REAL LAB TO UNDERSTAND THE PROGRAMING THEORY
  • Profile image for Bobur Hoshimjanov
    Bobur Hoshimjanov
    Honestly, finishing MIT 6.0001 feels like a massive weight off my shoulders. I thought I knew Python, but this course humbled me real quick. It’s not just about syntax; it’s about learning how to actually solve problems without losing your mind. The problem sets were brutal—especially the word game and the Hangman project—but finally getting my logic to work was such a rush. Professor Guttag makes the complex Big O stuff actually click. If you want to stop "copy-pasting" and actually understand what’s happening under the hood, this is the gold standard. My brain is fried, but I’m ready for more.
  • Profile image for Manish Kumar
    Manish Kumar
    This course was well structured and easy to follow from start to finish. The concepts were explained clearly with practical examples, which made learning simple and interesting. The instructor explained even complex topics in a very understandable way. The lessons were short, focused, and well organized, making it easy to stay consistent. The assignments helped reinforce what I learned and improved my confidence. Overall, this course added real value to my skills and knowledge. I would highly recommend it to beginners as well as anyone looking to strengthen their foundation.
  • Profile image for Rasmiha Mujeeb
    Rasmiha Mujeeb
    The Python course was highly informative and beginner-friendly. The concepts were explained clearly with practical examples, making it easy to understand variables, loops, functions, and object-oriented programming. Each module included hands-on exercises that improved my confidence in writing real code. The instructor’s explanations were simple and effective, and the projects helped me apply what I learned in real-world scenarios. The course also introduced useful libraries like NumPy and Pandas, which are helpful for data analysis. Overall, it’s a well-structured course for anyone starting their programming journey, and I feel more confident in Python after completing it.
  • its really good for learning about this things that can help to people .
    i live in iran and after i learn it i really like to have a class in MIT university .
  • Profile image for Arun Kumar
    Arun Kumar
    This course is very helpful for beginners. The teacher explains ideas in a simple and friendly way. The lessons about Python are easy to follow, even if you have never programmed before. I like that the course gives many examples and small exercises to practice. It helped me understand basic computer science concepts step by step. Overall, it is a great starting course for anyone who wants to learn programming.
  • Lekshmi Manoj
    Good and I have learned many things in this class. and truly valuable .very nice the classes are very understanding and easy to learn
  • Sardar Muhammad Hamza Khan
    It’s well-structured, easy to follow, and the content is relevant and useful. A bit more practical examples or hands-on activities would make it even better.
  • Burra Praveen
    I have enjoyed learning python with hands on practical's and i did learn about python at full extent to write code, solve some real life problems.
    So i strongly recommend anyone i know to try it for themselves.
  • Profile image for Robiul Islam
    Robiul Islam
    This is one of the best free courses I’ve come across. The lessons are clear, well structured, and genuinely useful, making it easy to learn without feeling overwhelmed.
  • IMMADISETTY KUSUMA
    It's is really help to your future career and also students can improve coding skills .Teaches explain very well
  • Profile image for Jashim Uddin
    Jashim Uddin
    Is course is so resourceful, I learn many things from that. Such as loop, function, array and so one
  • Yugal Sharma
    It is a best course platform and easily explain topics and complete course .I have study this course and I learn the skills for my future from this course
  • Profile image for Shirina Turakulova
    Shirina Turakulova
    it was really really cool, i wish i could learn them as a beginner again. thank you so much for such an amzing lessons
  • Arthur Michel Bahr
    Great intro course! Easy to follow, hands-on, and perfect for beginners—just needed quicker support.
  • Profile image for Jeevesh 2003
    Jeevesh 2003
    Successfully completing the course, I gained comprehensive knowledge in the subject matter. The rigorous curriculum equipped me with practical skills and theoretical understanding. Engaging lectures, hands-on projects, and collaborative discussions…
  • Profile image for Tapiwa Kganakga
    Tapiwa Kganakga
    Pretty good, I felt like I learned a lot going through this course. Would definitely recommend this to other students.

Never Stop Learning.

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

Someone learning on their laptop while sitting on the floor.