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.
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.
Dr. Ana Bell , Prof. Eric Grimson and Prof. John Guttag