Courses:

Introduction to Computer Science and Programming >> Content Detail



Syllabus



Syllabus

Amazon logo When you click the Amazon logo to the left of any citation and purchase the book (or other media) from Amazon.com, MIT OpenCourseWare will receive up to 10% of this purchase and any other purchases you make during that visit. This will not increase the cost of your purchase. Links provided are to the US Amazon site, but you can also support OCW through Amazon sites in other regions. Learn more.


Prerequisites


This subject is aimed at students with little or no programming experience.



Goals


This subject has several related goals:

  • Provide an understanding of the role computation can play in solving problems.
  • Help students, including those who do not necessarily plan to major in Course VI, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.
  • Position students so that they can compete for UROPs and excel in subjects such as 6.01.


Lecture and Recitation Attendance


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.



Homeworks and Quizzes


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 during class time, and one during the final exam time-slot.



Collaboration Policy




Problem Sets


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 and/or projects 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.

  1. Our first concern is for what the students in the class learn. We assume that everyone in the class is here because they want to learn, and will behave in a manner consistent with that goal.

  2. Working with other students on problem sets often enhances the learning process. That is why we have a relatively liberal collaboration process. Getting honest evaluations and critiques of your work is also part of the learning process. That is one of the reasons we want you to submit your work individually, and why it is important that the work you submit is truly yours.

  3. Collaborative learning works best when the students working together have roughly the same level of knowledge and skill. Each participant in the collaboration should contribute more or less equally to solving the problem. When one student is consistently showing another how to do things, it is not a true collaboration. When one student bases their solution on the completed work of another, it is certainly not a collaboration.

  4. We are certainly not opposed to students who understand things helping out those who don't, but that is not the same as collaboration. Also, it is important to understand the difference between helping someone to learn something, and helping them to get a problem set done. The former can be accomplished by explaining how some feature of Python or how some algorithm works. The latter can be accomplished by providing a solution to the problem set. That is not permitted by our collaboration policy.


Quizzes


You should not collaborate on quizzes.



Grading Policy


Grades will be roughly computed as follows:


ACTIVITIESPERCENTAGES
Problem sets and project55%
Quiz 110%
Quiz 215%
Quiz 320%

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 Prof. Guttag.



Textbook


There is no course textbook; much of the reading will come from online sources. However, if you are seeking an additional optional reference, you may find the following useful:

Amazon logo Zelle, John. Python Programming: An Introduction to Computer Science. Wilsonville, OR: Franklin, Beedle & Associates, 2003. ISBN: 9781887902991.


 








© 2017 CourseTube.com, by Higher Ed Media LLC. All Rights Reserved.