CS 0401 Daily Syllabus
Lecture # Date Concept References
1 Aug. 30 Intro. Material; Course Policies
Course Prerequisites and Goals
Getting Started with Java
Handout
Notes
Gaddis Ch. 1
2 Sep. 1 Intro. to Java and compiling / running programs
Keywords, Identifiers and Literals

Assessment Quiz
ex1.java
Gaddis Ch. 2
3 Sep. 6 Variables, data and expressions; primitive types vs. reference types; operators, precedence and associativity
ex2.java
ex3.java
Gaddis Ch. 2
4 Sep. 8 Using the Scanner class for input

Intro. to control statements; boolean expressions (relational operators, boolean operators, truth tables)
ex4.java
Gaddis Ch. 2

Gaddis Sec. 3.1
Gaddis Sec. 3.5
5 Sep. 13 Finish Boolean expressions

Java if statement (syntax and use, special cases; dangling else)

Syntax errors vs. Run-time errors vs. Logic errors

Java while statement (syntax and use, variations)
Gaddis Ch. 3
ex5a.java
ex5b.java



Gaddis Ch. 4
6 Sep. 15 Java for statement (syntax and use, variations)

Java switch statement (syntax and use, special cases and cautions)
Gaddis Ch. 4
forexamples.java
ex5c.java
ex5d.java

Gaddis Sec. 3.9
ex6.java
7 Sep. 20 Intro. to Java methods, method calls and functional abstraction; static method syntax and use; passing arguments to a method by value
Gaddis Ch. 5
8 Sep. 22 Local variables and scope

References and reference types in Java and their implications

ex7.java


ex8.java
9 Sep. 27 Intro. to Java classes and objects, data abstraction and encapsulation, data hiding and private variables Gaddis Ch. 6
ex9.java
10 Sep. 29 Creating Java classes (syntax and examples), constructors, accessors and mutators
ex10.java
IntCircle.java
11 Oct. 4 Intro. to Java arrays (motivation; idea; syntax; simple use)
Intro. to simple Java text files
Gaddis Ch. 8
ex11.java
ex11.txt
12 Oct. 6 More on Java arrays (arrays as objects, array parameters, modifying an array, searching an array) ex12a.java
13 Oct. 13 Arrays of reference types; arrays as instance data; shared data vs. separate copies; resizing an array; private methods ex12b.java
Scores.java
14 Oct. 18 Exam One
Material for exam up through and including Lecture 13
15 Oct. 20 Two-dimensional arrays
ArrayLists and their uses
Intro to sorting (idea, simple sorting algorithms [SelectionSort, InsertionSort])
ex13.java
ArrayL.java
ex14.java
SortInt.java
16 Oct. 25 Binary search: intro, discussion and trace; comparison with sequential search Gaddis 8.11
BinarySearchDemo.java
17 Oct. 27 Miscellaneous OO topics / issues Gaddis Ch. 9
18 Nov. 1 Intro. to using Graphical Components in Java (idea, background, simple example, using a JButton, event-driven programming) Gaddis Ch. 7
ex15a.java
ex15b.java
19 Nov. 3 More graphical components (layout managers, JPanels to subdivide windows) ex15c.java
ex15d.java
Counters.java
Counters2.java
20 Nov. 8 Extending JPanel to encapsulate data

Intro to Java interfaces; Assignment 4 discussion
Counters2.java
ex16.java
Laughable.java
Booable.java
21 Nov. 10 Java wrapper classes; parsing integer input; using the Character class Gaddis Ch. 10
ex17.java
MyInteger.java
ex18.java
22 Nov. 15 Intro. to Java inheritance; superclasses vs. subclasses; protected variables; inheritance vs. composition Gaddis Ch. 11
ex19.java
SuperClass.java
SubClass.java
Subby.java

ex20.java
RationalNumber.java
MixedNumber.java
MixedNumber2.java
23 Nov. 17 Ad-hoc polymorphism (operator overloading) ex21.java
24 Nov. 22 Subclassing (true) polymorphism; overriding methods and late binding; accessing super versions of methods; accessing collections of data in a polymorphic way

Abstract classes; abstract methods; using an abstract class within a hierarchy
ex22.java

ex23.java
25 Nov. 29 Interfaces, polymorphic access and generics

Using parameterized generic types and methods in Java
Gaddis Sec. 11.9
ex24.java
SortAll.java

ex24T.java
SortAllT.java
26 Dec. 1 Intro. to Java Exceptions (idea; generation of exceptions (throwing); handling of exceptions (catching); rules and quirks) Gaddis Ch. 12
ex25.java
27 Dec. 6 Text vs. binary files and their differences; Serializable objects; writing objects to and reading objects from files ex26.java

ex27a.java
ex27b.java
CDSerial.java
SongSerial.java
28 Dec. 8 Intro. to recursion (idea; simple recursive equations; recursive case and base case; implementing recursion) Gaddis Ch. 15
recursion.java
N/A Dec. 12 Exam Two
8:00AM-9:50AM, 343 Alumni Hall