CISC 3115

Course Calendar

Subject to revision!

Because we are meeting once weekly, we will be covering material in two class sessions each time we meet. You will be responsible for preparing for both sessions. The resources listed for each day are items I expect you to have read/prepared before class meets.

Please note the scheduled time for the final exam (from the College's final exam scheduling grid), and make sure that your exam for this class doesn't conflict with others in your schedule; I will not be able to accommodate rescheduling your final.


Introduction to the Class and to Team-Based Learning.

This course will be organized using the principles of Team-Based Learning (TBL). Read this in order to get a sense of how the class is going to run.

If you want to be able to keep track of your grades during the semester, and to receive emails from me, please fill out this short survey by February 15. (After that date, I will not be adding anyone to the online grading system.)

Here is the email I sent before classes started.

Please read about how we'll be using CodeLab in this course. From that page, you'll be able to sign up for CodeLab, if you need to, and sign up for this course's exercises.

Exercise 0:
Java and vim.

If you're in this class, you've already completed an introductory Java programming course. Please review Chapter 1 and Chapter 3 of our textbook. These topics should be familiar to you — particularly, the roles of the Java compiler and the Java Virtual Machine, the basic structure of a Java program, and the essential characteristics of primitive and reference values/variables. (Of course, the book is written in terms of an earlier version of Java, but these essential elements are unchanged.)

There is some discussion about "writing classes;" I don't expect you to have experience with that yet; it's actually the main focus of this course. But you should be familiar with the general idea of objects and how to use them (e.g. by invoking methods or accessing members).

Also, in preparation for today's class meeting, please read and review this page on software development in this class. If you have access to a computer on which you can install software — especially if you can bring that computer to class! — please make sure you can do Java development on it. Ideally, you'll follow the instructions on that page to install vim and (if necessary) the Java Development Kit (JDK).

In today's class session, we'll go through a simple exercise in writing, compiling, and executing a Java program. Mainly, this will make sure we're all on about the same page. I'll provide a link to the exercise here during class. Here is an almost-complete solution.

Unit 1: Welcome to "Objectville"
iRAT and tRAT

Read Chapter 2. Here is a reading guide that will help you identify the most important points for this class, and help you prepare for the RATs. I will provide a guide like this for each unit; in general, you should skim these reading guides before you start the reading. You should also allocate study time for doing the exercises/puzzles at the end of each chapter—unlike the exercises in many textbooks, these exercises are really important for helping you really learn the concepts of the chapter.

Unit 1 Application Activities

These activities will draw from Chapters 1 through 3. You should review Chapters 1 and 3, if you haven't already, to refresh your memory. If you encounter unfamiliar concepts, we'll address them in this unit.

Today we'll also decide on peer evaluation criteria.

Exercise 1.
When we get to class, I will provide a link to the exercise.
Unit 2: Objects, State, and the Java API
iRAT and tRAT
This unit will draw on Chapters 4 through 6 of the book. But the RATs will be based only on Chapters 4 and 5. (A lot of the material in these chapters is review!) I will provide a reading guide for this unit: here.
Unit 2 Application Activities
Read Chapter 6 for today. (The reading guide above includes coverage of Chapter 6.)
Unit 2 Application Activities
Some advice about documentation here and here. We'll discuss in class.
I will provide a link to the exercise.
Unit 3: Polymorphism: Inheritance and Interfaces
iRAT and tRAT

Unit 3 covers Chapters 7 through 9. The RATs will be on Chapter 7 only. I will provide a reading guide.

Project 1 assigned. Due at the end of the day, March 12.


Unit 3 Application Activities
Unit 3 Application Activities

Today we'll do "formative" peer evaluation—you'll have the chance to give anonymous feedback to your teammates, so everyone knows what they're doing well and what they can improve.

Unit 3 Application Activities

Last week you did peer evaluation; this week, please give ME some evaluation. I have two short surveys, plus a bonus survey. Neither of these are required, but they are VERY helpful to me:

  • First, a midterm evaluation of the class. How's it going? Depending on your combined responses, we can make some changes in the second half. Fill out the brief survey here.
  • Second, an even briefer survey about your preparation for this class. The department is still working out the 1115-3115 course sequence, and your feedback about your previous experience would be very helpful. Fill out that survey here.
  • Bonus! Professor Kletenik and I are "hosting" a field trip to Verizon Media Labs on Wednesday May 8 from 12 to 1pm. If you are interested/available to join us, please fill out this contact form. And this is open to all CISC majors, so feel free to tell your friends (and make sure they fill out the form if they want to join).

Exercise 3
I will provide a link to exercise 3.
MIDTERM
I will provide a review guide for the midterm, including all the application activities we've done so far.
To Be Announced

Several things today:

  • Peer evaluation feedback
  • Review of your class feedback
  • Brief discussion of Project 1 (it won't be graded yet!)
  • Preview of Unit 4.

Here are the slides from the end of class.

Unit 4: GUIs and Events
iRAT and tRAT

(Chapter 13, with bits of 12). The RAT will cover part of Chapter 12, specifically through p. 371. I will provide a reading guide.

Unit 4 Application Activities
Finish reading Chapter 12, and also Chapter 13..
Unit 4 Application Activities
Unit 4 Application Activities
Exercise 4.
Read this introduction to the exercise before you come to class. And HERE are the full instructions.

Here is project 2!

Unit 5: Generics and Collections
iRAT and tRAT
Chapter 16. For the RAT, study through p. 555. Here is the reading guide for the whole chapter.
Unit 5 Application Activities
Unit 5 Application Activities
Exercise 5
Here is exercise 5.
Unit 6: Recursion (toward Data Structures)
iRAT and tRAT
Here is the reading for Unit 6.
Unit 6 Application Activities
Unit 6 Application Activities
We'll also do final peer evaluation and we'll have a little time for exam review; Here is a review guide for the final.