Syllabus
CSC 161
The Art of Programming |
|
The formulation and solution of problems using computers is increasingly important in all of the sciences and humanities. This course introduces core concepts and techniques of programming using the language Python. Lab required. This course is the recommended first course for the B.A. in Computer Science, as well as for non-CS majors. It may be followed by either CSC 162, CSC171, or CSC 172. This course has no prerequisites.
Textbook
Python Programming: An Introduction to Computer Science, by John Zelle.
Supplemental books (purchase not required):
Python for Software Design: How to Think Like a Computer Scientist, by Allen Downey. Free online version, hardcopy on library reserve.
Python Programming in Context, by Bradley Miller & David Ranum. On library reserve.
Class Schedule
Monday & Wednesday 4:50-6:05pm
Dewey 1101
No class 9/7, 10/5, 11/25
Midterm exam 10/21 in class
Final exam 12/17 8:30-10:30am
Instructor
Prof. Henry Kautz <kautz@cs.rochester.edu>
Office
hours: Tuesdays 10:00-11:30am and by appointment, CSB 709
Teaching Assistants
Matt Post <post@cs.rochester.edu>
Office hours:
Mondays 2:00-3:30pm in CSB 724
Yi Chu <chu@cs.rochester.edu>
Office hours: Wednesday 11:00-12:30pm in 627
Topics
- Algorithms, computers, & computing
- Expressions, assignments, loops & branches
- Numerical computing
- Computing with text
- Graphics
- Functions
- Recursion
- Principles of good program design & testing
Sample Programming Exercises
- Planetary motion
- Sound studio
- Fractal art
- Cyptography
- Predictive text messaging
- DNA transcription simulation
- Games for health
Workshops
All workshops are in Hylan 307
First workshops meet Sunday Sept 13
Sunday: 3:30-5:30 5:40-7:40 7:50-9:50
Monday: 6:15-8:15 8:25-10:25
Tuesday: 4:50-6:50 7:00-9:00
Workshop Leaders
Orego Brad <borego@cs.rochester.edu>
Melnick Sara <smelnic2@u.rochester.edu>
Anselmi Michael <manselmi@u.rochester.edu>
Gorenstein Aaron <agorenst@u.rochester.edu>
Greg Wilbur <gregory.wilbur@rochester.edu>
Hopkins Ben (super leader) <bhopkin3@u.rochester.edu>
Workshop Leader Training
For workshop leaders, course instructor, and course TAs only
Fridays 3:30-5:00pm in CSB 601
On Friday Sept. 4, 4:15-5:00pm (after Activity Fair)
Lab Teaching Assistants
First labs meet Thursday Sept 3
TR 12:30-1:45 Bari Muhammad Firdau <amuhamm4@u.rochester.edu> & Daniel Bartkowski <dbartkow@u.rochester.edu>
TR 2:00-3:15 Darly Paredes <darly.paredes@rochester.edu> & Sun Min <smin4@u.rochester.edu>
TR 4:50-6:05 Andrew Wood <awood8@u.rochester.edu> & Wyatt Anderson< e.wyatt.anderson@rochester.eduu>
TR 6:15-7:30 Mike Seid <mseid@u.rochester.edu> & Tyler Kieft <tyler.kieft@gmail.com>
Grading
- 10% Quizzes
- 5% Workshop attendance
- 35% Midterm and final exam
- 50% Weekly programming and writing exercises
Computing Resources
- Labs for this course are in Gavett 244. You may also use any other public PC's or your own computer.
- To store your files between sessions, you can mail them to yourself using the university email system, or copy them to your own USB flash drive. It is good idea to save multiple copies of your work in progress until it is complete. A 2GB USB flash drive costs less than $10 at any drug store and will have plenty of space for all of your files for the semester.
- For more information, see the Computing Help page.
Policies
- Assignments are turned in using Blackboard. 20% penalty for assignments 1 to 7 days late. No credit for assignments more than 7 days late.
- Students are encouraged to discuss course material with each other on the Blackboard discussion board.
- Academic honesty: Any instance of suspected plagerism or other forms of dishonesty will be reported to the College Board on Academic Honesy in accord with university policy. When using electronic turn in of assignments, it is the student's responsiblity to ensure that the correct file is uploaded. Neither the instructor nor TAs will attempt to judge claims that work copied from others was accidently submitted.
- Students with disabilities are encouraged to request appropriate accomodations for tests, lectures, and assignments. Please see university policies on student accomodations and discuss your needs with the instructor.
- Students who are having difficulty with course material are encouraged to talk to the instructor, TA's, workshop leaders, and/or the staff in Learning Assistance Services.
- The instructor and TA's love to hear from students outside of class. Whether you are loving the course or hating it, please come by our office hours, and share your concerns, complaints, suggestions, and questions!