CPSC 225: Intermediate Programming
Department of Mathematics and Computer Science
Hobart and William Smith Colleges
Instructor: David J. Eck (firstname.lastname@example.org)
Course Handout: http://math.hws.edu/eck/courses/cpsc225_s19.html
Monday, Wednesday, Friday, 9:05–10:00 AM
Lab: Tuesday, 11:55–1:20
Some Useful Links
- Introduction to Programming Using Java, Version 8.0 (the textbook for the course).
- PDF version of the textbook, good for reading on-screen.
- Java 8 Documentation
(local access only -- from off-campus use Oracle's copy: Documentation
- JavaFX API Documentation.
- A Style Guide for Java Programming.
- Download Site for JDK 8,
where you can download a Java programming system for Windows, if you want to be able to compile Java programs on
your own computer. You want to download the "Java SE Development Kit," and it is very likely that you want the version for Windows x64.
(For Mac OS, you should be offered the choice to install
Java the first time you try to use it, but it also available at the above web site. For Linux, it should be installable using
your regular software installer, but it is also available on the download site.)
- Download Site for Eclipse, which we will use for programming.
Several different download packages are available.
Grab the "Eclipse IDE for Java Developers" if you want to use it on your own computer.
Note that this will be a newer version of Eclipse than we are using in the lab, but the differences are minor.
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,
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
Section 8.3, and
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