As found on MIT OCW: Intro to Computer Science and Programming in Python from Fall of 2016 [before f-strings became a thing in Python] , but with some changes.
Instructor: Dr. Ana Bell
Course Meeting Times
Lectures: 2 sessions / week, 1 hour / session
Recitations: 1 sessions / week, 1 hour / session
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 will use the Python 3.5 programming language.
This is a half-semester course. Students who successfully complete 6.0001 may continue into 6.0002 Introduction to Computational Thinking and Data Science, which is taught in the second half of the semester.
Provide an understanding of the role computation can play in solving problems. Help students, including those who do not plan to major in Computer Science and Electrical Engineering, feel confident of their ability to write small programs that allow them to accomplish useful goals. Position students so that they can compete for research projects and excel in subjects with programming components. Textbook The textbook is Buy at MIT Press Guttag, John. Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press, 2016. ISBN: 9780262529624. The book and the course lectures parallel each other, though there is more detail in the book about some topics. It is available both in hard copy and as an e-book.
A significant portion of the material for this course will presented only in lecture, so students are expected to regularly attend lectures.
Recitations give students a chance to ask questions about the lecture material or the problem set for the given week. Sometimes, new material may be covered in recitation. Recitation attendance is encouraged but not required.
Each problem set will involve programming in Python. There will be 6 problem sets in the course. There will be two quizzes. All quizzes will be closed-book, though you will be allowed to bring one page of notes to the first quiz and two pages of notes to the second quiz. Pages must be letter-sized, double-sided, either handwritten or typed.
Since Jonathan is doing this course independently, grading will not be done. Instead, the Public will be able to review his work for this course and judge it on its own merits.
Task status | SES # | TOPICS | ASSIGNMENTS |
---|---|---|---|
🟢 | 1 | What is computation? | Pset 0 released |
🟢 | 2 | Branching and Iteration | Pset 1 released |
🟢 | 3 | String Manipulation, Guess and Check, Approximations, Bisection | Pset 0 due |
🟢 | 4 | Decomposition, Abstractions, Functions | Pset 2 released |
5 | Tuples, Lists, Aliasing, Mutability, Cloning | Pset 1 due | |
6 | Recursion, Dictionaries | Pset 3 released | |
7 | Testing, Debugging, Exceptions, Assertions | Pset 2 due; Quiz 1 | |
8 | Object Oriented Programming | ||
9 | Python Classes and Inheritance | Pset 3 due; Pset 4 released | |
10 | Understanding Program Efficiency, Part 1 | Pset 4 due; Pset 5 released | |
11 | Understanding Program Efficiency, Part 2 | ||
12 | Searching and Sorting Pset 5 due; | Final Quiz |