Resources
Required Texts
- Python Programming: An Introduction to Computer Science, by John Zelle (Franklin, Beedle & Assoc., 2004).
- Additional readings will be posted as needed: For this and other class-related news, be sure to check the Announcements page for updates
Software
In order to work on the assignments outside of the Collins labs, you'll need an installation of Python, along with the graphics and media libraries designed for this course.
Appropriate links and installation instructions for the Python interpreter can be found at http://python.org/download/ (link). You want the installer (Windows or OS/X) for Python 2.5.2.
For each project involving Zelle's graphics library, you'll want to make sure that the file graphics.py (link) is in the same directory as the project. Documentation for this module is in your book, and available online at ( http://mcsp.wartburg.edu/zelle/python/graphics/graphics/index.html)
For interactive graphics, you'll also want the button.py module (link). Documentation is more sparse for this one, but here's an outline: ./mediaSources/software/button.html
For image processing work, you need the wu_media.py module (link). Documentation is available at ./mediaSources/software/wu_media.html
Miscellaneous
The machines in the Collins labs do not have speakers. In order to work on the sound projects in the labs, you'll need a pair of headphones.
Format of the Course
Each class will be a mix of lecture time, discussion, quizzes (if appropriate) and in-class projects, both individual and team-oriented. Please come to each class having completed the reading assigned for that session, prepared to discuss questions, insights, or observations as they occur to you.
Homework
There will be several take-home assignments. All are to be done individually.
Participation
You will be evaluated on your regular attendance, timely preparation of the readings, and your efforts to bring helpful observations and insightful questions to the classroom.
Quizzes
There will be regular quizzes given throughout the term. These will not be announced in advance, and cannot be made up. The lowest score will be dropped.
Midterm Exam
There will be one mid-term exam. We will discuss the format in class.
Final Exam
Per the schedule, there will be a final exam, on Saturday, December 20, from 2:00 - 5:00 pm. This time is set by the college registrar, and is not subject to rescheduling. You will need to make your end-of-semester travel plans accordingly.
Policies
See the departmental policies page for the default behaviors. The following are changes local to this course:
Attendance
Your attendance at every class, for the whole class, is important both to your own success and that of the larger classroom community. It is therefore also mandatory.
You may take up to 2 unexcused absences. Each absence after that will cost 2% of your final grade, up to the maximum 10% participation component (see "Grading", below).
The open lab times, however, are optional. We will use these as additional office hours time, as people need.
Late Policy
Late submissions of the take-home assigments will be accepted for partial credit, but you must make arrangements with me in advance of the due date. In almost all circumstances, the following penalty will be imposed on late work: 10% for each day late (maximum of 40% off), until I distribute my solutions (nothing accepted after that). That being said, do not get behind on the assignments. If you are having trouble, please ask for my help, as early as possible.
Students with Disabilities:
Students with documented disabilities who may need accomodations, who have any emergency medical information an instructor should know of, or who require special arrangements in the event of an evacuation, should contact me as early as possible, preferably no later than the first week of classes.
Academic Honesty:
I take this very seriously: a breach of academic honor will result in a failing grade for the course, and may be subject to further college sanctions. And you know what? It's a tremendous dishonoring, both of our class community and of yourself. You're all grownups, and you know the difference. Don't cheat.
Collaboration: This is something of a gray area, and a common source of misunderstanding.
To clarify: Learning is usually more successful when it is done in community rather than in isolation. Homeworks will therefore be assigned to groups of students rather than individuals. In any case, you are permitted -- indeed, encouraged -- to discuss course material with each other (including other groups), to evaluate, trace, debug, refute, validate, or otherwise compare each others' work, and to adjust your own work if this collaboration results in new understanding.However, you are not free to simply mail or print identical copies of the same work, and claim that it is the work of two separate individuals/groups. This is plagiarism, and is a breach of academic honor standards (it is also extremely easy to spot, especially in a class this small). While I encourage you to learn from each other, at the end of the day, the work you submit for a grade must be yours and yours alone.
Code from outside class (texts, the Internet, etc.): As with collaboration, study of other approaches is acceptable, but you are expressly forbidden from copying such code and claiming it as your own. In the event that you cannot complete your own work without such a resource, you must clearly identify the original author and the resource from which you acquired it.
I realize that it can be difficult to draw the right boundaries here, but duplicate submissions are clearly on the wrong side. If you find yourself unsure whether a form of collaboration is acceptable, please ask me, in advance.
Grading
Relative weights for your final grade are as follows
- Assignments: 45%
- Participation: 10%
- Midterm Exam: 20%
- Final Exam: 25%
Contact
The best way by far to get in touch with me is in person, during office hours. Any kind of class-related discussion is encouraged, whether it be a specific question about a homework problem, a request for encouragement and help getting started on an assignment, a point of confusion about the reading, or just plain curiousity about some of the further scientific directions that are possible. I am often available outside of office hours to answer questions, offer further explanation, or just to shoot the breeze. I am always available during posted hours. I encourage you to drop by.
Barring that, your best bet is by email, which I check late, early, and often. In fact, email is very often the most effective way for you to ask a question, as the effort involved in articulating what you want to ask can help clarify many things. It also makes it easier for me to give succinct replies to which you can refer later. I'm a pretty early riser, though, so don't assume I'll answer anything after 9 pm or so.
Phone calls are, frankly, lousy. You're certainly invited to call (375-5339), but it's difficult to communicate technical questions and answers clearly without reading or writing down anything. Phone messages are completely futile: don't bother.