Bill Teter
Office:          149 Redcay
Telephone:    2782
Office Hours:  Tuesday, Thursday 9:00-12:00

email:  william.teter@plattsburgh.edu

       

 

Reading Assignments and Topics

Review of Java and some new features of Java 5.0

Jan. 23 (1)
    Read pp. 4 -- 22
    Java applets vs. Java applications, Emacs and program development, primitives, character constants, terminal output, assignment operators, the binary operator %, unary operators, type conversion, relational operators, logical operators, for loop, break, continue, switch, conditional operator, method syntax, call by value, overloading, local and global (field) variables, scope rules.
prepare:  Common Errors 1--9 p.22
               Programming project 1.19 p. 25

Jan.25 (2)
    Read pp. 27 -- 46
    Reference types, null, "=" vs "==" vs .equals, invoking methods, declaration vs creation vs assignment, garbage collection, String class, catenation, creation, immutability, Integer.parseInt, Arrays delaration, creation, assigning values to components, input from System.in, command line arguments
    prepare:  Common errors 1-6 page 60

Jan. 30 (3)
    Read pp. 46 -- 58
    enhanced for loops, exception handling--try, catch, finally; Exception class and subclasses, throw and throws, the string split method.
  prepare:     In Practice 2.7 p. 61

Feb. 1 (4)
    ArrayList class, resize problem

Objects, Classes, Inheritance

Feb. 6 (5)
    Read 65-67, 70-82
    Constructors, mutators, accessors, toString(), equals(), compareTo(), "this", instanceof, static members, import statement.
    prepare: programming project 3.15 p. 90

Feb. 8 (6)
    Read 94-108
    Class extension,  inheritance, type compatibility, polymorphism, overriding methods

Feb. 13 (7)
    Read 108-124
    Covariant return type, abstract methods and classes, interface, Comparable, Object class, Throwable and derived classes, i/o related classes   
    prepare: programming project 4.31, 4.32 p. 159

Feb. 15 (8)
    Read 124-131
    generic programming using Object class, wrappers for primitives, autoboxing/unboxing, interfaces and genericity
    prepare: programming project 4.35 p 159

Feb. 20 (9)
    Read 131-150
    generic programming with generic classes (java 5), wildcards and bounds, generic static methods, restrictions on generics.

Feb. 22 (10)
    funcion objects, nested classes, local classes

Algorithm Analysis

Feb. 27 (11)  Mar 1 (12) March 6 (13)
   Read 163-168,177-183
    big Oh, big theta, big omega, little oh and basic properties.  logarithms, estimating code complexity, estimating running time
    prepare: 5.3, 5.4, 5.8, 5.11, 5.12 p193
                programming project 5.30 p 198

March 8 (14)
    Binary Search, Comparator interface

Standard data structures

March 20 (15) and March 22 (16)
    Read 518-534
    Collection interface and AbstractCollection class, List interface, ArrayList, iterators and list iterators interface and  implementation with inner classes, StringBuilder class.

March 27 (17)  March 29 (18)
    read 220-228, 389-414
    Stacks, Queues (interfaces and applications)
    p. 417 11.1, 11.2

April 3 (19)
    read 228-243
    Sets (interfaces and applications)
    Maps (interfaces and applications)
    programming extra project p.249 6.22

April 5 (20)
    read p.540-549
    Array implementation of stacks and queues

April 10 (21)  April 12 (22)
    read p. 550-559
    Linked List implementation of stacks
    Linked List implementation of queues

Sorting

April 17 (23)
    Sorting with api

April 19 (24)
    Sorting algorithms:  insertion sort, complexity
    pp303-309

April 24 (25)
    lower bound on sorts by swapping, counting inversions

April 26 (26)
    Shell sort
    pp309-313

May 1 (27)
    quicksort
    pp 316--331

May 3 (28)
    Review