2010 March 5 / j d a v i s @ c a r l e t o n . e d u
Carleton College CS 111, Winter 2010, Prof. Joshua R. Davis
This is a first course in computer science. It assumes no background or prior experience in the subject. Our class meets in CMC 209 during period 5A (MW 1:50PM-3:00PM, F 2:20PM-3:20PM). The basic materials are as follows.
Here's how you get in contact with me:
Dr. Joshua R. Davis (most people call me Josh)
E-mail: j d a v i s @ c a r l e t o n . e d u
Office: CMC 228, x4362
Office hours: Monday, Wednesday, and Friday after class, Tuesday 10:00-11:00, and by appointment
Michael Groeneman (g r o e n e m m @ c a r l e t o n . e d u) is the prefect for this course. As a prefect, he holds a couple of review sessions each week, in which you review material from class, get questions answered, tackle additional problems, etc. He is also available for individual tutoring.
Additionally, our computer lab (CMC 306) is often staffed with CS majors who serve as lab assistants. They can help you with technical computer problems ("How do I run my Python program?") as well as conceptual questions about assignments.
Final grades (A, B, C, etc.) are assigned according to an approximate curving process. By this I mean that there are no predetermined percentages (90%, 80%, 70%, etc.) required for specific grades. The following elements contribute to the final grade.
You are expected to spend at least 10 hours per week on this course outside class. Some students may need to spend more than 10 hours. If you are spending more than 15, say, then talk to me. If you are spending fewer than 10, then your education is suboptimal; we should discuss ways to enrich it, such as extra readings or side projects based on your personal interests.
For some assignments the students are expected to work in pairs. Your pair hands in a single copy of the assignment with both names on it. You are encouraged to talk with other pairs — to bounce ideas off them, for example — but the work that you submit must be the work of your own pair. The two members of a pair must contribute roughly equally.
Other assignments are individualized, in that each student hands in her own work. Even on these assignments you are encouraged to talk with other students. However, you should write up your work separately, in your own words.
In short, you may not copy someone else's work or allow them to copy yours. Presenting someone else's work as your own is an act of Academic Dishonesty.
During the term, you have one free pass to hand in an assignment late. Here is how you activate it. Instead of handing in the assignment, send me e-mail (by the due date) declaring that you are using your late pass and proposing a new due date. If the due date is extended by only one class meeting, then no explanation is necessary; if you need longer, then convince me. Use your free pass wisely; once you have used it, no late assignments are accepted, except in extreme circumstances that are truly beyond your control.
If some medical condition affects your participation in class or your taking of exams, let me know during the first week of class. You may need to make official arrangements with the Office of Disability Services.
Date | Day | Reading | Topic | Assignment | Notes | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M 1/04 | 01 | introduction, basics | Introductions | About CS 111 | |||||||||||||||||||||||||||||||||||||||||||||||||
W 1/06 | 02 | pp. 1-28 | lab: basics | Drawing with cTurtle | Getting Started | ||||||||||||||||||||||||||||||||||||||||||||||||
F 1/08 | 03 | lab: for loops, functions | Drawing Circles | Getting Started | |||||||||||||||||||||||||||||||||||||||||||||||||
M 1/11 | 04 | pp. 29-44, skim pp. 45-61 | lab: Booleans, conditionals | Tic Tac Toe | Getting Started | ||||||||||||||||||||||||||||||||||||||||||||||||
W 1/13 | 05 | pp. 62-82 | logic, strings, lists | Getting Started | |||||||||||||||||||||||||||||||||||||||||||||||||
F 1/15 | 06 | catch up, Tic Tac Toe | Getting Started | ||||||||||||||||||||||||||||||||||||||||||||||||||
M 1/18 | 07 | finish Getting Started | while loops, discrete dynamical systems | Getting Started | |||||||||||||||||||||||||||||||||||||||||||||||||
W 1/20 | 08 | pp. 83-99 | cryptography | Ciphers | |||||||||||||||||||||||||||||||||||||||||||||||||
F 1/22 | 09 | pp. 100-108, 117-128 | substitution cipher | substitution.py
| |||||||||||||||||||||||||||||||||||||||||||||||||
M 1/25 | 10 | pp. 129-154 | lab: frequency analysis | Frequency Analysis | |||||||||||||||||||||||||||||||||||||||||||||||||
W 1/27 | 11 | catch-up, dictionaries | |||||||||||||||||||||||||||||||||||||||||||||||||||
F 1/29 | 12 | Exam 1 | Elevation Models | ||||||||||||||||||||||||||||||||||||||||||||||||||
M 2/01 | 13 | pp. 155-165 | lab: elevation models | ||||||||||||||||||||||||||||||||||||||||||||||||||
W 2/03 | 14 | pp. 166-184 | all data are numeric | ||||||||||||||||||||||||||||||||||||||||||||||||||
F 2/05 | 15 | pp. 185-199 | image processing | Inking | imageprocessing.py
| ||||||||||||||||||||||||||||||||||||||||||||||||
M 2/08 | Midterm Break | ||||||||||||||||||||||||||||||||||||||||||||||||||||
W 2/10 | 16 | pp. 200-234 | image processing | imagedeforming.py
| |||||||||||||||||||||||||||||||||||||||||||||||||
F 2/12 | 17 | binary | Binary Numerals | ||||||||||||||||||||||||||||||||||||||||||||||||||
M 2/15 | 18 | binary | Binary | Binary Numerals | |||||||||||||||||||||||||||||||||||||||||||||||||
W 2/17 | 19 | pp. 305-317 | recursion | recursion.py
| |||||||||||||||||||||||||||||||||||||||||||||||||
F 2/19 | 20 | recursion, efficiency | Exam 2 | recursion.py
| |||||||||||||||||||||||||||||||||||||||||||||||||
M 2/22 | 21 | sorting, efficiency | sorting.py
W 2/24 | 22 | pp. 329-343 | objects | particleA.py
F 2/26 | 23 | lab: objects | Particles
| M 3/01 | 24 | finish Particles | lab: objects | Final Project | Simulations
| W 3/03 | 25 | pp. 344-366 | lab: final project work |
| F 3/05 | 26 | pp. 393-422 | design problems |
| M 3/08 | 27 | lab: final project work |
| W 3/10 | 28 | conclusion |
| S 3/13 | final project due 6:00PM
| |