CPSC 225: Intermediate Programming

   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

Some Useful Links

Fifth Week: February 18, 20, and 22

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.

Fourth Week: February 11, 13, and 15

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.

Third Week: February 4, 6, and 8

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.

Second Week: January 28 and 30; February 1

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.

First Week: January 23 and 25

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.