# Introduction to Computer Science and Programming in Python

- Institution: Massachusetts Institute of Technology
- Department: Electrical Engineering and Computer Science
- Taught by: Dr. Ana Bell, Prof. Eric Grimson, Prof. John Guttag
- Term: Fall 2016
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering, Languages and linguistics
- Source: [MIT OpenCourseWare](https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/)
- Licence: [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) (Non-commercial use only.)
- Syllabus: [at the source](https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/pages/syllabus/)
- Readings: [at the source](https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/pages/readings/)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

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.

## Lectures

1. [Lecture 1: What is Computation?](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/6156118c7f31), 44 min (Video)
2. [Lecture 2: Branching and Iteration](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/a084099ddf88), 44 min (Video)
3. [Lecture 3: String Manipulation, Guess and Check, Approximations, Bisection](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/00b0841c07b9), 46 min (Video)
4. [Lecture 4: Decomposition, Abstraction, and Functions](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/241566bcf5fa), 42 min (Video)
5. [Lecture 5: Tuples, Lists, Aliasing, Mutability, and Cloning](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/e41adcedc844), 42 min (Video)
6. [Lecture 6: Recursion and Dictionaries](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/b576981e9400), 49 min (Video)
7. [Lecture 7: Testing, Debugging, Exceptions, and Assertions](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/6ed6a53109b8), 42 min (Video)
8. [Lecture 8: Object Oriented Programming](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/298edc8fd9c8), 42 min (Video)
9. [Lecture 9: Python Classes and Inheritance](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/b4375ed94cf2), 48 min (Video)
10. [Lecture 10: Understanding Program Efficiency, Part 1](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/79df72c292c6), 52 min (Video)
11. [Lecture 11: Understanding Program Efficiency, Part 2](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/c03fde2a2882), 50 min (Video)
12. [Lecture 12: Searching and Sorting](https://invisiblenetwork.ai/learn/mit/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/f6b68dc571cd), 49 min (Video)
