Jessica's Information for CS1

Last updated: Fall 2003 quarter

This page contains information pertaining to the CS1 (Computer Science 1) sections that I teach.

Helpful Information

Course Web Page for All Sections

Lecture Notes

Lecture 1-1 The course syllabus and intro to the course. Homework #1 is given out and due next Monday.
Lecture 1-2 Abstraction and programming languages (Some concepts in Wu ch. 0)
Lecture 1-3 Basic types and memory. How classes and objects relate to abstraction as well as a look at my new house's mailbox. (Wu ch. 2)
Lecture 2-1 and 2-2 On Monday your homework is due
Introduction to constants, variables, basic types, literals, and class/object construction (more Wu Ch. 2)
Lecture 2-3 Expressions, precedence, more about class/instance variables/methods, the Java Math class (Wu Ch. 3). A very simple program that starts to test the Math pow function is given and is called
Lectures 3-1 and 3-2 Boolean expressions and an introduction to constructing classes. An example of how objects and basic types are different is given. Wu ch. 4.
Homework 2 is given out.
Updated - last revision oct. 6
Lectures 4-1, 4-2, and 4-3 Review of reference vs. basic types, more boolean variables, selection statements (Wu Ch. 5). Lots of info on creating your own classes (Wu ch. 4)
Lectures 5-1 and 5-2 Switch statements, parameters and pass by value, and iterative statements (while, for, do) (Wu ch. 6)
The code for is included here for your reference.
Week 6 Lectures Homework #3 is now up. Scope and arrays
Lecture 7-1 and 7-2 Data structures, finishing up arrays, and searching/sorting We will be in ICL1 and ICL2 on Tuesday for all my classes and will have the quiz in room 70-1400 on Wednesday for all my classes.
You will need the stub for the lab exercise on Tuesday. You can bring my notes up in mozilla, but since they are pdf you might not get them right away. If you get the "open file with" box, remember to type in /usr/local/bin/acroread so that pdf files are brought up with adobe's reader.
Lectures for week 8

Testing and Debugging Basics, as well as Goals for the lab:

  • Extensively refactor - i.e. reduce as much redundancy in the code as possible and make it more flexible for future change. I should be able to change the cost of coffee, the discounts, and the number of bags to get a discount easily without changing much code.
  • Refactor to split things up into model-view-controller. For instance, if I want to be able to switch between command line input, text input, and GUI input (like this example), I should easily be able to (maybe by changing one line).
  • Fix the program. It's broken.


Lectures for week 9 Stacks. There is an example character stack and application in the notes. Homework 4 is given out and due next Monday (November 6) at 11:59pm.

Lectures for week 10 Queues: bounded, unbounded, and circular

Handouts and Helpful Sites This is sample code taken from the Java specifications. It shows when strings are equal and when they're not.
A First Java Program Tutorial Part of the Java Tutorial series, this site helps a user through installing the appropriate software for creating Java programs as well as programming their first program.
Unix ref. card A helpful reference card for basic Unix (contains some commands that only work on our system).
Emacs ref. card A helpful 2 page reference card for Emacs shortcut keys.
OOPS Definitions Definitions for key concepts in Wu Ch. 1.
Types and Syntax Some syntactical constructs for Java as well as primitive type info. A simple java applet game (code by Karl Hörnell from , April 8 1996) and reproduced here. Click here for a demo of the game and note that you have to download the graphics file iceblox.gif as well as the applet html file (copy the source) in order to compile the game for yourself and have it run.
Queue Javadocs Javadoc for a simple bounded queue class, Javadoc for a simple circular queue class

Contact Information

The easiest way to contact me is through email. I read email several times a day and will get your message. My email address is:
. If I do not respond in the same day it could be because I am out of town (I too go away on the weekend sometimes) or otherwise occupied. I will always do my best to reply in a timely manner.

You may also see me during the office hours available off of my CS home page .

My office is in 70-3509. The CS tutoring center is on the same floor at the other end of the building. If you are not able to see me during normal office hours and need help, email me to set up an appointment. If you need to call my office, the number is 475-2507.

To the RIT CS Home Page

To Jessica's Home Page