CISC 3120

Course Calendars

Subject to revision!

I am teaching two sections of this course. The two Google calendars below show how to map the daily class topics to our class meetings. For example, the Thursday evening class will be covering Class 1 and Class 2 on Thursday, August 25; the T/Th class will be covering Class 1 on August 27, and Class 2 on August 30.

Note that the final exam schedule has already been determined by the College; please make sure now that your exam for this class doesn't conflict with others in your schedule; I will not be able to accommodate rescheduling your final.


The resources listed for each day are items I expect you to have read/prepared before class meets. In general, you should expect a quiz on the readings (an easy way to earn points for doing the reading!).

Evening students: remember, you will be responsible for two classes of preparation each day we meet!

Class Topic Resources
Class 1 Introduction to the Class and to Team-Based Learning

Read this in order to get a sense of how the class is going to run.

Here is the text of the welcome email I sent to the class earlier in the week.

Here are the slides from tonight's class.

Class 2 Exercise 1: Crash Course in Java and Eclipse Read the book's Introduction. Ignore the instructions on "Setting Up Java." Read Using Eclipse instead.
Fill out this short survey.
Read About CodeLab.
Register for and begin working on CodeLab, here.
Instructions for Exercise 1 will appear here.
Class 3 Unit 1: Java Basics.
iRAT and tRAT.
Read Chapters 1 and 2.
Class 4 Unit 1 Application Activities Read Chapter 3.
Class 5 Unit 1 Application Activities Read Chapter 4.
Today we'll also decide on peer evaluation criteria.
Class 6 Exercise 2: GitHub
Project 0 assigned

Read About Github.
Read the first two chapters of the git book ("Getting Started" and "Git Basics"). Additinally, consider watching any of the videos on that page.
Read Getting Your Project on GitHub. But you don't need to mess with GitHub Desktop (unless you want to); Eclipse will let us do all that stuff without leaving our development environment. (We'll work on that in the lab today.)

In preparation for Project 0, read About Documentation and Style
Today's instructions and notes will appear here.
Class 7 Unit 2: Java-Specific Language Features.
iRAT and tRAT.
Read Chapters 5 and 6.
Class 8 Unit 2 Application Activities
Project 0 due.
Read Chapter 7.
Class 9 Unit 2 Application Activities Read Chapter 8.
Class 10 Unit 2 Application Activities
Class 11 Exercise 3: War (and Peace)
Midterm Peer Evaluations
Read Chapter 9.
The Exercise 3 instructions.
Morning section peer evaluation.
Evening section peer evaluation.
Class 12 MIDTERM EXAM Here is a review sheet.
Class 13 Unit 3: Intro to GUIs and Swing.
iRAT and tRAT.
Read Chapter 12. The RAT will cover through p. 368.
Class 14 Unit 3 Application Activities

Read Chapter 13.

Here is a place for you to provide anonymous feedback about the course so far. (We'll discuss in a couple weeks.)

Class 15 Unit 3 Application Activities
Class 16 Exercise 4: Swing. Review Chapter 13 (which is a kind of manual for several Swing components).
Class 17 Unit 4: Introduction to Design Patterns
iRAT and tRAT
Read the wikipedia page on design patterns. Then,read this discussion about how a few patterns can work together to create very powerful code. (In particular, note that these patterns are "widely used in the design of the Java library classes.")
Class 18 Unit 4 Application Activities Read the individual pages on the iterator pattern (which is almost too straightforward—it's easy to miss the point— and the decorator pattern (this may be a little more challenging to follow).
Class 19 Unit 4 Application Activities Read the Wikipedia overview of the Model-View-Controller design pattern.
Also, some slides about MVC in Java (slides 1-26, and 33), and a discussion of a simple MVC example in Java (slides 1-5).
Finally, the Wikipedia overview of the Observer/Observable pattern in Java
Class 20 Unit 5: Introduction to I/O and Networking
iRAT and tRAT
Read Chapter 11. (Yes, it's on exceptions, which is a necessary precursor to talking about I/O and Networking. This chapter will be the subject of the RATs.)
Class 21 Unit 5 Application Activities

Last day to withdraw.

Read Chapter 14. Download the book's example code here (if you haven't already) and read the BeatBoxSaveOnly from Chapter 14
Class 22 Unit 5 Application Activities Read Chapter 15, pages 471-489
Class 23 Exercise 5: Networking. The exercise.
Class 24 Unit 6: WebSockets
iRAT and tRAT
Multi-base Calculator due.

By popular demand, here is a short reading guide for Unit 6. Start here.

The rest of the readings:

  • A lengthy but detailed tutorial from Oracle. (For the complete example code for this tutorial, look here or download the EE SDK here
  • A simple example with a Java server and JavaScript client, part 1, part 2.
  • An example with a Java client.
Class 25 Unit 6 Application Activities.
Class 26 Unit 6 Application Activities
Class 27 Application Activities Some detailed instructions for the WebCheckers project—which is extra credit!—are posted here.
Class 28 Review
A topic list for review. The exam will be cumulative, but the emphasis will be on material covered since the midterm--graphics/Swing, network programming, design patterns.