CMPSCI 121
"Introduction to Problem Solving with Computers" using Java

Department of Computer Science
University of Massachusetts Amherst

Home
Resources
Grading
Weekly Schedule
Syllabus
Homework
Exams

Bulletin Board
Staff

OWL

Syllabus

(Syllabus is subject to change.)

Date Topics Relevant Readings
in Moll's E-Book
Assignments
due in OWL 9am
Tuesday , Jan. 27,
in Morrill 2 131
Course Introduction
Computers in the world, programs and languages, course outline and logistics. Lecture slides.
Problems for Chapter 1 and OWL survey assigned. Both are due Thursday, Jan. 29

(Install DrJava on your computer.)
Tuesday, February 3
Typing expressions, println
Declarations, Assignments, Modify HelloWorld, how to hand in assignments in OWL. Lecture slides.
E-Book Chapters 0 and 1

See OWL.

Thursday, February 5
Introduction to objects and classes
Objects, classes, methods, attributes, and all about how to use objects!Lecture slides.
E-Book Chapter 2

See OWL.

Tuesday, February 10
Object and classes...continued
Objects, classes, methods, attributes, and all about how to use objects!Lecture slides.
E-Book Chapter 3

See OWL.

Thursday, February 12
Strings, Primitives Types, Scanners, APIs, and Import
String class, Primitive Types, Using the Scanner class, Using import,Lecture slides.
E-Book Chapter 3

See OWL.

Tuesday, February 17
Operators, Conditionals, For Loops
Mod(Percent) operator, boolean expressions, if...else statements, for loopsLecture slides.
E-Book Chapter 4

See OWL.

Thursday, February 19
Boolean Connectives, Char Processing, Math.random
static methods, more for loops, if...else statementsLecture slides.
E-Book Chapter 4

See OWL.

Tuesday, February 24
Methods
more on methods, practice with loops, random, graphics, and tracing codeLecture slides.
E-Book Chapter 5

See OWL.

Thursday, February 26
Values and References
Understand the difference between values (primitive types) and references (for object). Lecture slides.
E-Book Chapter 5

See OWL.

Tuesday, March 3
While Loops, Wrapper classes, and Graphical I.O.
While loops, wrapper classes, conversion between types, JOptionPanes, static methods. Lecture slides.
E-Book Chapter 6

See OWL.

Thursday, March 5
Problem Solving: A worked example.
How to use multiple classes together to solve a problem. You'll find below three java files: Window.java, Room.java, and Builder.java. These are the 3 class files we developed in class.Window.java, Room.java, Builder.java.
E-Book Chapter 6

See OWL.

Tuesday, March 10
Review for mid-term and Start on Chapter 7.
I'll review for the midterm, and start chapter 7. You will not be responsible for Chapter 7 on the midterm. Midterm Review slides Last year's midterm
E-Book Chapter 7

See OWL.

Thursday, March 12
FIRST MIDTERM EXAM.
Midterm will occur in the normal lecture time and place. No "aids", such as books, notes, calculators, iPhones, or anything else are allowed.
E-Book Chapters 1-6

See OWL.

Tuesday, March 24
Arrays
Arrays. Lecture slides
E-Book Chapter 7

See OWL.

Thursday, March 26
Arrays and Sorting
How to use arrays to sort a list of numbers using the Bubble Sort Algorithm. Lecture slides Java sorting program
E-Book Chapter 7

See OWL.

Tuesday, March 31
Big Programs
Word Counting program, More on object references, and two references pointing to the same object. Lecture slides
E-Book Chapter 8

See OWL.

Thursday, April 2
Snake 1: Solutions in detail. Also, more on how the snake program works, including "listeners" and "timerTasks". More on the word counting program from Chapter 8.
Lecture slides
E-Book Chapter 7

See OWL.

Tuesday, April 7
Inheritance
How to derive subclasses from super-classes. Inheritance, polymorphism, etc.Lecture slides
E-Book Chapter 9

See OWL.

Thursday, April 9
Special Lecture: Computer Vision How to perform certain visual tasks, like object recognition, with a computer. Image representation in a computer, recognition algorithms, complexity of the problem.
Lecture slides

See OWL.

Tuesday, April 14
File Input/Output and Exception Handling
How to read from a file on disk and write to a file on disk. Introduction to error (or exception) handling in Java.Lecture slides
E-Book Chapter 10

See OWL.

Thursday, April 16
Exceptions continued. Also, aliasing
"try" and "catch" constructs. Catching errors, throwing errors, the "throw" statement. Catch or specify requirement. Checked and unchecked errors.Lecture slides
E-Book Chapters 10, See auxiliary reading on Exceptions at Sun's Java sight.

See OWL.

Tuesday, April 21
NO CLASS: MONDAY SCHEDULE

See OWL.

Thursday, April 23
SECOND MIDTERM EXAM.
Midterm will occur in the normal lecture time and place. No "aids", such as books, notes, calculators, iPhones, or anything else are allowed.
E-Book Chapters 1-10

See OWL.

Tuesday, April 28
Interfaces
Interfaces. The implements and interface keywords. Classes for holding methods. Implementing interfaces. Defining interfaces. Lecture slides
E-Book Chapter 11

See OWL.

Thursday, April 30
Interfaces continued
Casting between different object types. More examples of interfaces using these java files: Drawable.java,Triangle.java,Circle.java,DrawingMethods.java. Dynamic dispatching. Lecture slides
E-Book Chapter 11.

See OWL.

Tuesday, May 5
The Comparable Interface, Object Casting, and Abstract Classes
Continue discussion of interfaces with the Comparable interface. Need for type casting to "Object" type with Comparable interface. Abstract classes.Lecture slides
E-Book Chapter 11

See OWL.

Thursday, May 7
Graphics.
JPanels. Event models. Events. Callbacks. Lecture slides
E-Book Chapter 12.

See OWL.

Tuesday, May 12
Graphics, MouseListeners, and Modifications
Modifying graphics programs. MouseListeners.Lecture slides
E-Book Chapter 13

See OWL.

Thursday, May 14, 10:30 AM
Final Exam
in Mahar Auditorium 108