Department of Computer Science         CSC 121 - Course Outline

I.       Through Test 1 (Labs 1, 2, 3, 4, 5, 6, 7-Practical 1, and 8) Arrays are introduced in Labs 1 (command line arguments), 3 (initializer lists for Polygons), and Program 1.

A.    Introduce Object Oriented Programming

1.                 abstraction

2.                 specification

3.                 JDK, IDE, API

4.                 Java identifiers, JavaTM keywords, style

B.    Java Syntax

1.                 class definitions

2.                 variable declarations

a)                 primitive data types

b)                 objects

c)                 literals

d)                 scope

3.                 method declarations

4.                 constructors

C.    Java Operators and Precedence

1.                 unary: cast, increment, decrement, logical negation, arithmetic negation

2.                 binary arithmetic operators

3.                 binary logical operators: equality, conjunction, disjunction

4.                 assignment operators

D.  Selection and Repetition

1.                 if else

2.                 for
There are two forms of the for loop

//Generic for loop 
for (initialization; termination; increment) {
    statement(s)
}
//Form 1:
class ForDemo {
     public static void main(String[] args){
          for(int i=1; i<11; i++){
               System.out.println("Count is: " + i);
          }
     }
}
//Form 2:
class EnhancedForDemo {
     public static void main(String[] args){
          int[] numbers = {1,2,3,4,5,6,7,8,9,10};
          for (int item : numbers) {
            System.out.println("Count is: " + item);
          }
     }
}

3.                 while

4.                 switch

II.     Through Test 2 (Test 1, Programs 2, 3, and 4, Labs 9, 10, 11, and 12)

A.    Writing Classes

1.                 anatomy of a class

2.                 anatomy of a method

3.                 method overloading

4.                 method decomposition

B.    Enhancing Classes

1.                 references

2.                 aliases

3.                 garbage collection

4.                 modifiers

a)                 controlling access

b)                

3.                 numbers (wrapper classes)

        

C.    Animation (optional)

1.                 animations

2.                 listener interfaces

3.                 the Timer class

III.  Through Final

A.    Arrays

1.                 arrays of objects

2.                 an array of images

B. Inheritance and Polymorphism

C. Streams

1.                 File I/O