Department of Mathematics and Computer Science Hobart and William Smith Colleges Spring 2019. Instructor: David J. Eck (eck@hws.edu) Course Handout: http://math.hws.edu/eck/courses/cpsc225_s19.html Monday, Wednesday, Friday, 9:05–10:00 AM Gulick 2000. Lab: Tuesday, 11:55–1:20 Rosenberg 009.
Lab Worksheets  
Lab 1, January 22 Spellcheck / Eclipse 
Lab 2, January 29 Artistic Inheritance 
Lab 3, February 5 Recursion Exercises 

Lab 4, February 12 Timing Experiments 
Lab 5, February 19 Linked Lists 
This week, we look at stacks and queues and the general idea of abstract data types. The reading is Section 9.3. If time permits, we will talk about JavaFX for part of the class on Friday.
Reminder: There is a test coming up on Wednesday of next week.
This week, we begin our study of Linked Data Structures. We will spend much of the week on linked lists, Section 9.2.
We should have time near the end of the week to talk about "lambda expressions," Section 4.5, and how they are used to define event handlers in JavaFX programs.
After finishing up analysis of algorithms, the main topic for the week is recursion, Section 9.1. We will look at some basic examples of recursion, including a recursive version of binary search and Quicksort, a recursive sorting algorithm. On Monday, in preparation for the lab on Tuesday, we looked at "turtle graphics" and how to draw fractals with turtle graphics and recursion.
On Monday, we will continue to talk about material from Chapter 5, including inheritance, polymorphism, this and super, and interfaces. For the rest of the week, we will be working on Chapter 8. The reading is Section 8.2, Section 8.3, and Section 8.5. We will not be going into great depth on this material, but you will see the ideas used from time to time for the rest of the course.
Welcome to the course!
The first meeting for the class will actually be a lab on Tuesday, January 22. It will be a regular programming lab, with an assignment that will be due the following week. The assignment will give you a chance to review some of the material from Introductory Programming that you should already know. The lab will also introduce the Eclipse development environment, in case you are not familiar with it.
On Wednesday, we will talk about inheritance and class hierarchies. This will be new material for some of you, but even if it is not new to you it won't hurt to review it. The reading for this material is Section 5.5. You should also read Section 5.6, Section 5.7, and Section 5.8, if you are not already familiar with the material in those sections. We will be talking about that material on Friday.
The required reading for the first week also includes the course handout and the style guide that will be handed out on the first class meeting.