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 |
|