CS 2102 (B15): Object-Oriented Design Concepts
Software and Materials


Home | Staff and Office Hours | Lectures and Assignments | InstructAssist | Software and Materials | Policies


Texts

There is no required textbook for this course. If you are intending to continue programming in Java beyond this course (e.g., CS, IMGD, or RBE majors), I strongly recommend Effective Java by Joshua Bloch. The readings for some lectures reference sections of this book for additional perspective; you will not be expected to know material that appears solely in this book though.

You should not need a Java language manual for this class. If you find that you need a construct that we did not cover in class, ask about it on the discussion forum (in InstructAssist) . If you want more language details than we cover in lecture, you could consult the Learning the Java Language portion of the Java tutorial pages. If you need documentation on a particular Java class, look in the official Java documentation.

If you are mainly looking for additional examples, check out the additional exercises that we will post when we cover new Java constructs. Other Java textbooks cover different material in a different order than we do, so they will be of limited use to you in helping with work for this course.

Software

You may use whatever Java programming environment you like for this course. We provide configuration instructions for two: DrJava and Eclipse. Eclipse has a much higher learning curve, but is used in upper-level lab CS courses (such as Software Engineering) and software-based jobs. If you are not going on to upper-level CS courses or if you prefer a gentler introduction to Java, we recommend DrJava. You are welcome to start in DrJava then switch to Eclipse mid-term. Lectures will use DrJava for demonstrations. Other students in the past have suggested BlueJ and IntelliJ -- as long as you can configure your environment to use the testing library, the choice of environment is up to you.

If you are using DrJava on a Mac, note that you need to download the Jar file, NOT the Mac OS X App. The Mac App does not support Java 8 (which has features we will be using). Download the jar, open a terminal window, and type the following command at the prompt to run DrJava (again, this is for Mac users only):

      java -jar path-to-the-jar-file-you-downloaded &

The DrJava documentation includes a useful QuickStart guide. Chapter 3 is enough to get you started once you have the software installed.

Whatever software you use, you must configure it to use the testing library that we'll be using this term. Separate instructions explain how to use the testing library with DrJava or Eclipse.

New on Nov 3: Here is a new version of the tester library updated to Java 8 that gets rid of the two warning messages that we've been getting when running code.

Here is the Main.java file.

The testing library documentation summarizes the different kinds of tests that you can write (including tests that are within a small delta from a computed answer). We will use mostly checkExpect, but if you need different functionality, check the list for the options.

Configuring InstructAssist Notifications

You can control which notifications InstructAssist will send you by email. You can choose to get email whenever a new thread is created, whenever there is activity in a thread you posted in, and whenever a low-priority announcement is sent out. By default you will receive email for all of these situations. Log in and access "Profile Options" under the "Preferences" menu to adjust your settings.

Note that you cannot opt out of high-priority announcements. These will be rare, limited to messages that need to get to everyone within a few hours (such as a class cancellation, handling of the system going down, or some other "big" issue).

You are responsible for all clarifications and low-priority announcements made to the discussion forum, whether or not you receive them by email. We expect that you are checking for low-priority announcements at least once every 24 hours during the week. If you don't want the email, log into the forum regularly. Or keep the email coming and set up filters to put the mail in folders that you check from within your mail system. Failure to see a post more than 24 hours old during the week is not an acceptable excuse for not acting on an announcement.

A separate page talks about how to configure homework partners in InstructAssist.

Clickers

We will be using clickers during lecture this term to assess how everyone is understanding certain concepts. Please sign out a clicker from ATC, either in their office on the first floor of Fuller Labs or from the Technology and Learning center to the right of the helpdesk in the library. We will start using the clickers on the third day of class (Friday, October 30).