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, February 2; the T/Th class will be covering Class 1 on January 31, and Class 2 on February 2.
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.
The resources listed for each day are items I expect you to have read/prepared before class meets.
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 before the semester started. |
| 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. Today's instructions and notes will appear here. |
| Class 7 | Unit 2: Java-Specific Language Features. CodeLab exercises due. iRAT and tRAT. |
Read Chapters 5 and 6. |
| Class 8 | Unit 2 Application Activities | Read Chapter 7. |
| Class 9 | Unit 2 Application Activities Project 0 due | 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 will appear here. Here is an extra-credit opportunity related to exercise 3. Afternoon
section peer evaluation. |
| Class 12 | Unit 3: Intro to GUIs and Swing. iRAT and tRAT. |
Read Chapter 12. The RAT will cover through p. 368. |
| Class 13 CodeLab exercises due (March 16) |
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 14 | MIDTERM EXAM | Here is a review sheet. |
| Class 15 | Unit 3 Application Activities | |
| Class 16 | Exercise 4: Swing. | Review Chapter 13 (which is a kind of manual for several Swing components). Here is today's exercise. |
| 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 Project 1 assigned | 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). Here are the instructions for Project 0. |
| 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). This code+video tutorial might also be helpful. (Note that the "calculator" implemented here is quite different from ours, so I wouldn't recommend borrowing his code. Also, this tutorial uses a slightly different approach to MVC than the approach I "officially endorse." We'll discuss...) 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 Project 1 due at 11:59pm, May 3 | Read Chapter 15, pages 471-489 |
| Class 23 | Exercise 5: Networking. | -The exercise. |
| Class 24 | Unit 6: WebSockets iRAT and tRAT |
By popular demand, here is a short reading guide for Unit 6. Start here. The rest of the readings: |
| Class 25 | Unit 6 Application Activities. | Here will be a link to today's code. As we explore how to send structured messages (not just plain text), Java's JSON API will be really helpful. Read over this tutorial, focusing on the sections "Create JSON object using Object Model," "Creating JSON Array with Object Model," and "Read JSON Object using Object Model." Also, here is the offical API documentation. Note that the WebCheckers project and today's code include all the libraries you need to wrangle JSON. Also, if you're curious about how annotations work, the Wikipedia entry has a pretty good summary. Note that it includes some Java stuff we haven't discussed in class—none of this will be on the exam! It's just for your exploration. |
| Class 26 | Unit 6 Application Activities | |
| Class 27 | Application Activities | Afternoon final peer evaluation Evening final peer evalution |
| Class 28 | Review |
Here is a review sheet for the final. |