Computer Science II: Data Structures and Algorithms

Professor: Jenny Walter
Office Hours: Tues, Wed and Thurs: 10:30 am to noon SP 306
Phone: (845) 437-7449
Email: jewalter at vassar dot edu
Lectures: Mon and Wed 9 to 10:15 am SP-309
Labs: Mon 3:10 to 5:10 pm SP-309
Coaching: Rachel Fisher, Tyler Kugler, and Marian Lam
Syllabus: Course Syllabus



This course examines object-oriented programming, data structures and algorithms using. Topics include fundamental data types (e.g., stacks, queues, lists, trees and maps), fundamental algorithms (e.g., searching and sorting), introduction to analysis of algorithm complexity, input and output to files and streams, and graphics programming. The course emphasizes abstraction, encapsulation, inheritance, polymorphism, iteration, recursion, and object-oriented design patterns. Student are asked to apply these ideas to sample applications that illustrate the breadth of computer science.

Laboratory work must be done in SP 309 at the scheduled lab time. Exceptions require Professor Walter's permission. Students may carry out the programming assignments in SP 309, SP 307, or on their own personal computers. Students should implement their labs and assignments using either the NetBeans programming environment or the DrJava programming environment, both of which are installed on the machines in the Asprey Lab and is available for free from Oracle's web site or http://drjava.org. NetBeans shows you mistakes as they are typed, does some automatic code completion, and is slightly more complicated to use. DrJava is very much like the DrScheme and DrRacket IDE's and may be easier to use for testing programs.

In labs, you are encouraged to work in pairs. You should try to complete each homework assignment entirely by yourself; however, you are permitted to work with your professor or coaches if you encounter difficulties. You should submit your lab work and homework assignments to the appropriate drop boxes on our class Moodle site. No submissions will be accepted once solutions are posted.

Lab work will be graded on a scale of 0 to 3: a score of 0 means you did not show your lab to a coach or your professor and were not in lab, 1 means you were in lab but did not finish most of the work, 2 means you finished a major amount of the work, and 3 indicates you completed the lab in a satisfactory manner. Homework will be graded on a scale befitting the number of problems. If you would like feedback on the quality of your lab or homework, please visit Professor Walter's office hours and ask her to review and discuss your work with you.

Two exams will be given in this class: a mid-term exam and a final exam. The format of the exams will be announced prior to the exam dates.

5% Class Participation
10% Lab Participation
15% Assignments
30% Midterm Examination - Monday, March 6th, 3:10 to 5:10 pm
40% Final Examination - Tuesday, May 23rd, 1:00 to 3:00 pm (location TBA)

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 Walter 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.

Academic accommodations are available for students registered with the Office for Accessibility and Educational Opportunity (AEO). Students in need of disability (ADA/504) accommodations should schedule an appointment with Professor Walter early in the semester to discuss any accommodations for this course that have been approved by the Office for Accessibility and Educational Opportunity, as indicated in your AEO accommodation letter.