|
Syllabus
Week 1
   
Week 2
   
Week 3
   
Week 4
   
Week 5
   
Week 6
Week 1
- Monday, July 4
- No class.
- Tuesday, July 5
- - Introduction to CS, programming, Java, this course, etc.
- - Overview of key programming ideas.
- - Contents of a 'good' program.
- Reading: Chapter Sections 1, 2.3
- Homework 1 Out.
- Wednesday, July 6
- - Memory in a computer & Data representation in Java
- - Variables
- - Primitive Java Types:
byte, short, int, long, float, double, char, boolean
- - Operators, Expressions, and Operator Precedence
- - Type conversion
- Reading: Chapter Sections 2.4, 2.5
- Homework 2 Out
- Thursday, July 7
- - Introduction to References and Objects.
- - Introduction to the
DecimalFormat built-in class.
- Reading: Chapter Sections 2.0-2.2, 2.9
Drop/Add for Term II ends at 11:59pm. Duke students use ACES; visiting students call 684-2621 and leave your name, social security number, and drop/add information.
- Friday, July 8
- - More built-in classes:
Keyboard, Math, String.
- - More operators and boolean expressions
- - Program statements (
if, switch, while, do-while, for)
- Reading: Chapter Sections 2.6-2.8, 3.0-3.9
- Homework 1 Due.
- Homework 2 Due.
- Homework 3 Out
Week 2
- Monday, July 11
- - Introduction to writing classes.
- - Method overloading and method signatures.
- - Returning values from methods.
- Reading: Chapter Sections 4.0-4.5
- Tuesday, July 12
- - Covering a missed subtopic: loop invariants
- - The
static modifier.
- - Scope of variables/variable names.
- - The
this reference.
- - Starting on method behavior.
- Reading: None.
- Homework 3 Due.
- Wednesday, July 13
- - Pulling together the use of loops, simple string parsing, writing classes, etc. through a simple game.
- Short, ungraded quiz.
- Reading: None.
- Homework 4 Out.
- Thursday, July 14
- - More on method behavior.
- - Garbage collection.
- Reading: Chapter Sections 5.0-5.4
- Friday, July 15
- - More on parameter passing.
- - Introduction to arrays & multi-dimensional arrays.
- - Introduction to
ArrayList and Vector classes.
- Reading: Chapter Sections 6.0-6.1, 6.3-6.4
Week 3
- Monday, July 18
- - Review for Exam
- Reading: Your review materials!
- Homework 4 Due.
- Tuesday, July 19
- - Introduction to applets and graphics.
- - Objects and applets.
- Reading: None.
- Wednesday, July 20
- Midterm Exam
- Thursday, July 21
- - More on applets and graphics.
- - Interfaces.
- - Events and listeners.
- - Animations (manual or with timers).
- Reading: Chapter Sections 1.5, 2.10, 2.11, 3.10, 4.6, 4.7, 6.5, 7.6
- Homework 5 Out.
- Friday, July 22
- - Inheritance.
- Reading: 7.0-7.4
Week 4
- Monday, July 25
- - More on inheritance and polymorphism.
- Reading: None.
- Tuesday, July 26
- - Inheritance vs. Interfaces
- - Adapter classes.
- - Introduction to GUI's
- Reading: 9.0-9.6, 7.5
- Homework 5 Due.
- Wednesday, July 27
- - More on GUI's
- Reading: None.
- Homework 6 Out.
- Thursday, July 28
- - Nested classes.
- - I/O Streams, Standard I/O, Reading from files.
- - String parsing.
- - Wrapper classes.
- Reading: 8.0-8.3
- Friday, July 29
- - Object Serialization.
- - Introduction to Exceptions.
- - Debugging and using the Eclipse debugger.
- Reading: 8.4-8.6
Week 5
- Monday, August 1
- - Recursion
- Reading: 11.0-11.3
- Tuesday, August 2
- - Coding day.
- Reading: None.
- Wednesday, August 3
- - Starting on algorithms.
- - Searching: Linear Search
- - Searching: Binary Search
- Reading: 12.0-12.3
- Homework 6 Due.
- Thursday, August 4
- - Linear Search vs. Binary Search
- - The
lg function.
- - O-notation and &Theta-notation.
- Reading: None.
- Friday, August 5
- - Sorting: Selection Sort, Insertion Sort, and Bubble Sort.
- Reading: None.
- Homework 7 Out.
Week 6
- Monday, August 8
- - Merge Sort and Quicksort.
- Reading: None.
- Tuesday, August 9
- Datastructures: Maps, Sets, Lists, and Queues.
- Reading: None.
- Homework 7 Due.
- Wednesday, August 10
- Final Exam review session.
- Last day of class.
- Thursday, August 11
- Reading Period Day
- Friday, August 12
- Final Exam: 2PM - 5PM
|