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.
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.
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.
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.
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.
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.
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.
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:
Several things today:
Here are the slides from the end of class.
(Chapter 13, with bits of 12). The RAT will cover part of Chapter 12, specifically through p. 371. I will provide a reading guide.
Here is project 2!