Computer Science I: Problem-Solving and Abstraction

CMPU-101-52

Vassar College, Spring 2012

Syllabus / Course Wiki

Professor: Tom Ellman
Office: OLB 117
Hours: Tuesdays and Thursdays: 1:30pm-3:00pm
Phone: (845) 437-5991
Email: thellman@vassar.edu
Lectures: Tuesdays and Thursdays 10:30am–11:45am, OLB 205
Labs: Fridays 1:30pm–2:45pm, OLB 105
Course Wiki: https://www.cs.vassar.edu/courses/cs101-201201-52/top



Description:

Computer Science I introduces fundamental concepts of Computer Science that are central to all computational problems, regarless of machine, operating system or programming language. Course topics include procedural abstraction and algorithms, data abstraction, functional programming, recursion, list processing, higher-order functions and design patterns. Concepts are reinforced through weekly labs and homework assignments that involve writing and testing computer programs in Scheme, a simple yet powerful programming language.

The course does not assume any prior programming experience. It is therefore suitable for freshmen students—majors and non-majors alike—who wish to explore the intellectual ideas of the discipline.

Textbooks:

  • Hunsberger. The Syntax and Semantics of the Scheme Programming Language, 2010. (Required) Online.
  • Springer and Friedman. Scheme and the Art of Programming, MIT Press, 1997. (Recommended) Available on the CMPU-101-02 Moodle.
  • Felleisen, Findler, Flatt, Krishnamurthi. How to Design Programs, 1st Edition, MIT Press, 2003. Online.
  • Felleisen, Findler, Flatt, Krishnamurthi. How to Design Programs, 2nd Edition, Draft. Online.
  • Dybvig. The Scheme Programming Language, 3rd edition MIT Press, 2004. Online.

Labs and Programming Assignments:

Laboratory work must be done in the Asprey Lab at the scheduled lab time. Exceptions require Professor Ellman’s permission. Students may carry out the programming assignments in the Asprey Laboratory, or on their own personal computers. Students should implement their labs and assignments using the Dr. Racket programming environment, which is installed on the machines in the Asprey Lab and is available for free download.

Deadlines, Lateness and Grading Policy:

Programming assignments are due at the start of class on the date specified. Late assignments will be accepted with 10% penalty, but only until the start of the next class. Final grades will be determined roughly according to the following weights:

10% Participation
30% Programming Assignments
10% Labs
15% First Midterm Exam
15% Second Midterm Exam
20% Final Exam

Academic Integrity:

You may discuss general ideas with classmates. You must do each programming assignment entirely by yourself. You may not discuss or share programs with other students. Vassar regulations require the professor to report suspected violations of academic integrity to the Dean of Studies. Read the pamphlet: Originality and Attribution: A guide for student writers at Vassar College.

Classroom Etiquette:

Students are expected to attend all lectures, with exceptions permitted in case of illness and family emergencies. Lectures will begin on time. Students are expected to arrive on time. Professor Ellman will make every effort to end each lecture on time as well. Students should not talk to each other during lectures. A student who wishes to ask a question should raise his/her hand and wait to be recognized. Students’ cell phones should be turned off during lectures.

Students with disabilities:

Academic accommodations are available for students with disabilities who are registered with the Office of Disability and Support Services. Students in need of disability accommodations should schedule an appointment with Professor Ellman early in the semester to discuss any accommodations for this course which have been approved by the Office of Disability and Support Services, as indicated in your DSS accommodation letter.

courses/cs101-201201-52/top.txt · Last modified: 2012/02/09 08:06 by thellman
VCCS Top Events Extended Site Search Login Vassar Science Web Vassar Home Driven by DokuWiki Valid XHTML 1.0