# MIT6.100L: Introduction to CS and Programming using Python

## Descriptions

- Offered by: MIT
- Prerequisites: None
- Programming Languages: Python
- Difficulty: 🌟🌟
- Class Hour: 50 hours+

This course, introduced as part of MIT's 2022 curriculum reform, is a required introductory programming course offered by the Department of Electrical Engineering and Computer Science (EECS). It is designed for students in the [Computer Science and Engineering](https://www.eecs.mit.edu/academics/undergraduate-programs/curriculum/6-3-computer-science-and-engineering/), [Artificial Intelligence and Decision-Making](https://www.eecs.mit.edu/academics/undergraduate-programs/curriculum/6-4-artificial-intelligence-and-decision-making/), and [Electrical Engineering and Computation](https://www.eecs.mit.edu/academics/undergraduate-programs/curriculum/6-5-electrical-engineering-with-computing/) majors (taken as an alternative to 6.100A). The course includes all content from 6.100A and covers fundamental concepts of computation, the Python programming language, basic algorithms and data structures, testing and debugging, and algorithmic complexity.

Professor Ana Bell, who has been a lecturer in the EECS department for many years, delivers clear and engaging explanations. The course consists of 26 lectures. Students are encouraged to download the course code in advance and follow along during the lectures. There is ample practice material both during and after class, with complete solutions provided (except for Problem Sets).With a smooth progression in difficulty, the course's official materials are freely available and open source, making it an excellent choice for beginners to gradually step into the world of Computer Science.

## Course Resources

- Course Website: [fall2022](https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/material-by-lecture/)
- Recordings: refer to the course website
- Textbooks: Whether or not you have the textbook does not significantly impact your ability to follow the course.
- Assignments: refer to the course website

## Personal Resources

All the resources and assignments used by @Alidme in this course are maintained in [Alidme/MIT6.100L - GitHub](https://github.com/Alidme/MIT6.100L).
