Course Title: Think Java (Java Programming Language Part 1 & 2)

Date and Place

10/16, 10/23, 10/30, 11/6, 11/13 and 11/20/2012 total 6 meets on Tuesday nights, from 7:30 to 9:40 pm at E6 in ROLCC


The first part of the course will be based on Professor Allen B. Downey's free book, " Java: How to Think Like a Computer Scientist” (see the Class Notes below), and his teaching method described in the book to enable students to learn programming using the basic Java programming language. The second part (and some of the first part) of the course will be based on The Java Tutorials: Learning the Java Language.

The course teaches the steps required to create basic Java programs, the significance of object-oriented programming, and the keywords and constructs of the Java programming language. Students taking this course can receive a solid basis in the basic Java programming language upon which to base continued work, training, and learning.

Course Outlines

Part 1: Think Java: How to Think Like a Computer Scientist

  1. The way of the program (programming language, program, debug, first program...)
  2. Variables and types (variables, assignments, operators...)
  3. Void methods (floating-point, classes and methods, parameters...)
  4. Conditionals and recursion (modulus operator, conditions, recursion...)
  5. Value methods (return values, overloading...)
  6. Iteration and loops (multiple assignment, while...)
  7. Strings and things (characters, traversal, String...)
  8. Mutable objects (packages, instance variables, Objects...)
  9. Create your own objects (class, constructors...)
  10. Arrays (accessing elements, arrays and objects...)
  11. Arragys of Objects (Card objects, arrays of cards...)
  12. Objects of Arrays (Deck class, shuffing, sorting...)
  13. Object-oriented programming (object methods and class methods, inheritance...)
  14. GridWorld: Part 1, 2, 3 (College Board AP Computer Science Case Study)

Part 2: The Java Tutorials: Learning the Java Programming Language

  1. Quick Review: Language Basics, Classes and Objects
  2. Interfaces
  3. Numbers and Strings
  4. Generics
  5. Packages


At least some programming experience.


A laptop with at least 2GB of memory running Windows XP/7, Intel based Mac OS X 10.6 or above, or Unix/Linux.

About Instructor Chia James Chang

James has worked in the software industry for 20 years and is currently working at Microsoft. He had worked for Yahoo!, Sun Microsystems, Rolm/IBM, and several startups and has used Java and other languages and technologies to develop various enterprises, mobile, security, and Big Data software.

Class Notes: