Syllabus for Fall 2011
Topics and Reading Assignments
Textbooks
J. Zelle, Python Programming: An Introduction to Computer Science
Grading
| In-class Quizzes | 25% |
| Final Exam | 15% |
| Class Participation | 5% |
| Programming Projects | 45% |
| Short Homeworks | 10% |
Programming projects and class participation will account for about half of your grade, with quizzes, homeworks, and the final exam accounting for the remainder. The grading policy for programming projects is that the tasks specified explicitly in the lab description will constitute about 85% of the assignment. If you complete the specified parts of the assignment properly, and produce a good quality writeup, it's worth up to a B+ grade. In addition, the project description will include a variety of extensions, or you can come up with your own. Completing one or more extensions, in addition to the specified parts of the assignment, will earn you some flavor of A.
Deadlines
The weekly programming projects will be due on Tuesday at midnight. Late assignments will receive reduced credit. Homework assignments will be due by midnight Thursday, with no credit for late homeworks.
Every Friday's lecture will begin with a short quiz after a review of the homework. There will be 11 quizes in total, with your top 10 scores counting towards you overall grade. If you have to miss class on Friday, you must take the quiz early in order to receive credit.
Collaboration and Academic Honesty
For some assignments you may be working with a partner. You and your partner will generate a single writeup for the assignment and a single set of code. When working with a partner, you should divide the code writing between the two of you in an equitable fashion, noting the division of labor in the writeup or the code.
Collaboration on project concepts and ideas between individuals and groups is acceptable, but, you need to understand everything you do, and your code should be your own or your group's code. If you use ideas from another group, you must indicate that within your code or writeup. Err on the side of caution. The worst thing that can happen is for the professor to notice disturbing similarities in homeworks with no attribution of credit.
Obtaining or copying code from someone else and using it as part of your solution without attribution is a violation of academic honesty.
Sharing code, or verbally providing python code to someone who is not your partner for the project is a violation of academic honesty.
Handin
The first week we will go over how to build a simple web page that incorporates text and images using the Colby Wiki. Each week you will add a new page to your wiki site that describes your weekly project and the results. You will submit your own code using a college file server.
Weekly Topics and Readings
| Week | Topics | Reading |
|---|---|---|
| 1: |
|
Zelle, Chapter 1 Computational Thinking |
| 2: |
|
Zelle, Chapters 2, 3, 6 |
| 3: |
|
Zelle, Chapters 2, 7, 8 |
| 4: |
|
Zelle, Chapters 2, 4, 5 |
| 5: |
|
Zelle, Chapters 4, 5, 11 |
| 6: |
|
Zelle, Chapters 5, 9, 11 |
| 7: |
|
Zelle, Chapter 9, ABOP Chapters 1-2 |
| 8: |
|
Zelle, Chapter 12, ABOP Chapters 1-3 |
| 9: |
|
Zelle, Chapters 10-12 |
| 10: |
|
ABOP, Zelle, Chapter 11 |
| 11: |
|
Zelle, Chapter 12 |
| 12: |
|
Zelle, Chapter 13 |
| 13: |
|
Handouts |


