Course workload and attendance
In addition to the fifty minute MWF lectures at 10 am, you must sign up for and attend one of the three hour-and-a-half laboratory sessions for the course (MT 2:30-4:00, W 3:00-4:30). You should expect to work about 10 hours per week for this class, including classes and lab. Help outside of class hours is available according to the following schedule:
- during lab sessions and one hour after lab sessions every week (2.5 hours per week).
- 2 hours of office hours with your teaching assistant in a group session of 6-7 students in your college the night before homework is due (every other week) [8-10 pm or 9-11 pm]
- online on www.piazza.com (anytime as well as two hours before due time for homework)
Your course grade will be based on eight homeworks (45%), two exams (20% each), and class work (quizzes and polls)/lab work (15%). Your final grade will depend less on where you stand relative to your classmates at the end of the term, and more on where you stand relative to your own self at the start of the term.
Piazza is the online forum we use for discussion and question-answering. You will receive an invitation to join the comp140 forum on piazza by the end of the first week of class.
Lecture material (PDFs of powerpoint slides used in class) is available in the Modules section of this site. Homework descriptions and code will be posted under Assignments on the Owlspace tab.
Course reference material
There are no required textbooks for the class. We will draw on material from a large number of online sources. We will provide URLs to all the online resources we draw upon in the Modules section of this website There are several good introductory textbooks for Python. We recommend
Beginning Python: from Novice to Professional, Magnus Lie Hetland, Apress, 2005, is a good reference book on all that Python has to offer. We especially like the ten projects at the end of the book for those who can’t wait to get their feet wet in Python.
Think Python: How to think like a computer scientist, Allen Downey, Green Tea Press, is a free book that we will draw upon extensively in this class.
- Introduction to computing and programming in Python, Mark Guzdial, Pearson, 2005, is an excellent textbook that introduces ideas in computer science using media computation in Python.
If you have any favorites to recommend, email firstname.lastname@example.org.
Some good online sources for Python documentation are:
Some excellent online Python tutorials are:
- Guido Von Rostum’s Python tutorial
- A Non-Programmer’s Python tutorial
- A Beginner’s Python tutorial
- ZetCode’s Python tutorial
- Python tutorials for students with no programming experience
- Python tutorials for Python beginners who have programmed before
The purpose of homework is to train you to solve problems and to help deepen your understanding of concepts introduced in class. There will be eight homeworks (Homework 0 — Homework 7). The homeworks will become slightly more difficult and require more time as the semester progresses. Thus, the later homeworks will be weighted a little more heavily than the earlier ones. Due dates and times for the homeworks are specified in the course schedule. Homeworks are to be turned in on Owlspace. Homework is worth full credit when turned in on time. Graded homeworks will be returned a week after the official due date. No submissions will be accepted after the grading guide is released.
Because each of you will probably come upon some time during the semester where so much work piles up that you need a little extra time, every student begins the semester with two free “late days.” Each “late day” is a 48 hour period after the due date. class days, not actual days (i.e. a homework due on Monday submitted on Wednesday uses up one late day; a homework due on Monday submitted on Friday uses up two late days, a homwork due on Friday submitted on Sunday uses up one late day). After your two late days are exhausted, homeworks that come in late (up to a maximum of three class days) will be assessed a late penalty of
of your score per calendar day.
You should think of these free “late days” as extensions you have been granted ahead of time, and use them when you might have otherwise tried to ask for an extension. As a result, getting an extension beyond the two free “late days” will generally not be granted. In very special circumstances for which you can provide official documentation (primarily extended medical problems or other emergencies), extensions may be granted beyond the late days. All extension requests must be directed to me (email@example.com), no later than 24 hours before the assignment is due.
There will be two in-class examinations: the midterm and the final. The midterm examination will be held on October 10, 2012 from 7 pm to 10 pm. If you have a conflict with that time or day, you can take the exam on October 9, 2012 from 1 pm to 4 pm.
Grading and Regrades
Grades and other performance statistics will be posted on Owlspace. If
you believe we have made an error in grading your homeworks or exams,
please bring the matter to our attention within one week . No makeup
exams will be given.
You will need a laptop for the lab sessions as well as for homework and for the examinations. We will help you set up all the required software for the class during labs in the first week of class. If you do not have a laptop, let me (firstname.lastname@example.org) know. All required software will will be available from the Modules and Labs tab on this page.
(adapted from Mehran Sahami’s course)
We take the Honor Code very seriously. The work you submit for this class is expected to be the result of your own work. Attempting to take credit for someone else’s work by turning it in as your own constitutes plagiarism, as defined by our own Honor Code.
You are allowed to discuss course material and general approaches to problems with your other classmates, the teaching assistants and the professor, but you should never misrepresent someone else’s work as your own.
You must indicate at the top of your homework submission any assistance you have received. Name the people you received help from, and indicate what kind of help you received. It is your responsibility to make sure that the assistance you receive does not cross the boundary into having someone else write code for you.
If you use any material from online sources, you must provide the URL as well as an explanation of the value you have added to the referenced work. More on how to provide proper attribution to online work is shown here. Also see Rice University’s policy on citing sources.
You must not share code with others. In particular, you should not ask anyone to give you a copy of their code or, conversely, give your code to another student who asks you for it. Similarly, you should not discuss your strategies to such an extent that you and your collaborators end up turning in exactly the same code. Discuss ideas together, but do the coding on your own.
You must not look at solution sets or code from other years or semesters. Here is the reason for this rule. Developing a good programming assignment often takes years. When a new assignment is created, it invariably has problems that require a certain amount of polishing. To make sure that the assignments are as good as they can be, we, like most other schools in the country, reuse assignments over the years, incorporating changes each time to make them more effective. Submitting code that solves last year’s assignment perfectly while failing to solve the current one would be a particularly damaging situation for you.
Whenever you seek help on an assignment, your goal should be to improve your level of understanding and not simply getting your code to work. Suppose, for example, that someone responds to your request for help by showing you a couple of lines of code that do the job. Don’t fall into the trap of thinking about that code as if it were a magical incantation—something you simply include in your solution and don’t have to understand. By doing so, you will be in no position to solve similar problems on exams. You should be prepared to explain any part of your assignment to your TAs or professor.
Students with Disabilities
Any student with a documented disability needing academic adjustments or accommodations is requested to contact me (email@example.com) during the first two weeks of class. All discussions will remain confidential. Students with disabilities will need to also contact Disability Support Services in the Ley Student Center.