Lectures: 2 sessions / week, 1 hour / session
Recitations: 1 session / week, 1 hour / session
This subject is aimed at students with little or no programming experience.
This subject has several related goals:
The original textbook for 6.00 and the course lectures parallel each other, though there is more detail in the book about some topics. The book is NOT required. We will not be referring to it in assignments or depending upon it to cover holes in the lectures.
Guttag, John. Introduction to Computation and Programming Using Python. Spring 2013 edition. MIT Press, 2013. ISBN: 9780262519632.
A new edition of the textbook is now available. However, there may be some discrepancies between the original course lectures included on this course site and the sections in this revised and expanded edition of the textbook.
Guttag, John. Introduction to Computation and Programming Using Python. Revised and expanded edition. MIT Press, 2013. ISBN: 9780262525008.
If you choose not to purchase this book, you will probably find it useful to buy or borrow another book that covers Python. You might check your local public library's resources, or search online for a free Python text, such as How to Think Like a Computer Scientist or An Introduction to Python (PDF).
A significant portion of the material for this course will be 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, though attendance and participation may be taken into account in the case of grades on letter borderlines. Please attend the recitation to which you were assigned, if possible.
Each problem set will involve programming in Python. Students will make extensive use of libraries, so that it will be possible to write programs that solve real problems. There will be three quizzes: two during the semester, administered in evenings, and one during the final exam time-slot.
Our policy is simple: unless otherwise noted in the assignment itself, feel free to collaborate with each other on all the individual problem sets, but note with whom you collaborated. Portions of some of the problem sets may have been used in previous terms; please do not look at old solutions or course "bibles." Collaboration with non-team members in team problem sets is not allowed. The assignments are intended to help you understand the material. Know the code and be prepared for occasional individual code reviews. During these reviews we may ask you to make modifications to your code while we watch.
You should not collaborate on quizzes.
Grades will be roughly computed as follows:
Over the course of the term, students will have two "late days" that they can use on problem sets. Any additional late work beyond these two late days will not be accepted, unless an extension has been approved by the professors.