| Class meeting | Concept | Examples from class | 
    
      | Thu 7 September | General Java syntax, Standard output 
 | HelloWorld.java 
 | 
    
      | Tue 12 Sept | Standard output Variables, data types, constants
 Assignment statements
 
 | BasicOutput.java DataTypesAndVariables.java
 
 | 
    
      | Thu 14 September | String data type Arithmetic
 Casting
 
 | AboutString.java Arithmetic.java
 FunWithCasts.java
 
 | 
    
      | Tue 19 September | Using pre-defined classes, calling methods. Math and Scanner class
 
 | InputFromKeyboard.java HigherMath.java
 
 | 
    
      | Thu 21 September | Object reference variables. Object creation using new.
 Calling methods and passing arguments
 Introduction to Graphics (coordinates, drawing, basic Colors)
 
 | Drawing.java
	 [some code to get us started] Drawing.java (the drawing I did in class)
 
 | 
    
      | Tue 26 September | Object creationg (revisited), using constructors. Factory methods for object creation
 Mutator/Accessor methods
 
 | ObjectCreation.java FactoryMethods.java
 
 | 
  
      | Thu 28 September | String object, methods Expressions, selection using if statements.
 
 | AboutString.java Expressions.java
 Selection.java
 
 | 
  
      | Tue 3 October | Selection: continued Comparing floating point numbers,
 comparing objects (e.g. String),
 Switch statements
 
 | ComparingFloatingPoint.java ComparingObjects.java
 SwitchExample.java
 
 | 
   
      | Thu 5 October | Repetition using while loops and do-while loops. Sentinel-controlled repetition.
 
 | RepetitionExample.java YesOr.java
 BusyLoop.java
 ValidatingUserInput.java
 
 | 
  
      | Thu 12 October | Counter-controlled repetition. Repetition using for loops
 
 | CounterControlledRepetition.java StringReplacement.java
 
 | 
    
      | Tue 17 October | User-defined classes member variables, constructors,
 methods
 | Circle.java UsingCircle.java
 
 | 
  
    
      | Thu 19 October | User-defined classes: constructors, methods toString, equals methods
 
 | DrawingCircle.java [some starter code] Circle.java
 UsingCircle.java [updated client code]
 DrawingCircle.java [my drawing]
 
 | 
    
      | Tue 24 October | User-defined classes: returning multiple parameters
 static data members and methods
 
 | Circle.java UsingCircle.java
 
 | 
    
      | Thu 26 October | Introducing arrays Array indicies, operations.
 
 | ScalarVsArray.java ArrayWithInitializerList.java
 ArrayTraversal.java
 
 | 
    
      | Tue 31 October 
 | Review of arrays, lab08 revisited Copying arrays, shallow vs deep copy
 Arrays of Objects
 
 | Vector.java ArrayHolder.java
 TestArrayHolder.java
 ArrayOfObjects.java
 
 | 
    
      | Thu 2 November 
 | Multidimensional Arrays 
 | RainfallPerHour.java StaggeredArray.java
 
 | 
    
      | Tue 7 November 
 | Introducing Recursion - using non-static methods
 
 | RecursionExample.java 
 | 
    
      | Thu 9 November 
 | Recursion: - using non-static methods
 - multiple base cases
 - discussing efficiency
 | RecursionExample.java ArrayHolder.java
 FindCombinations.java
 
 | 
    
      | Tue 14 November | Inheritance, class hierarchies Constructor chaining, overridden methods
 
 | PlayingGames.java 
 | 
    
      | Thu 16 November | Access-modifiers revisted (public, protected, private) Polymorphism
 
 | PlayingGames.java [continued] 
 | 
    
      | Tue 21 November | Abstract methods and classes Exceptions, handling in try-catch
 
 | ThinkingInAbstract.java PlayingWithFire.java
 
 | 
    
      | Thursday 30 November | File Input/Output 
 | ReadingFromAFile.java WritingToAFile.java
 AppendToFile.java
 
 | 
    
      | Tue 12 December | How to run a java program from outside of Eclipse, 
	using a script file to launch the program. | connect4.bat (windows example) connect4.mac.txt (Mac example)
 
 |