| Date |
Lecture |
Reference |
Lab |
| May 16th |
- Course Introduction and Policies
- Course Goals
- Introduction to Computers and Java
- Introduction to our programming environment
|
Lecture Notes
HelloWorld.java
LL Chapter 1
|
Lab 1 |
| May 18th |
- Introduction to Java Language
- Keywords, Identifiers, Types
- Variables
- Statements
- Expressions
|
Java Basics Notes (Updated
5/22/06)
ex2a.java
LL Chapter 2
|
| May 23rd |
- Using References
- Program Input
- Begin exploring Procedural Programming
- Boolean Expressions
- Control Structures: if, while
|
Examples:
ex3.java(Using Objects, StringBuffer)
ex4a.java(Scanner)
ex4b.java(Scanner)
ex4c.java(Command Line Args)
ex5a.java(if, while)
ex5b.java(if, while)
|
Lab 2
|
| May 25th |
- Control Structures: do/while, for, switch
- Methods and Parameters
|
Procedural Notes above
LL Chapter 5
LL Chapter 4.3
Examples:
ex5c.java(for, do/while)
ex5d.java(for)
ex6.java(switch, NumberFormat)
|
| May 30th |
|
Procedural Notes
LL Chapter 7
LL Chapter 11
Examples:
ex7.java(Static methods, Memory Separation)
ex8.java(Methods, Arrays, Sequential Search)
ex9.java(Methods, 2D Arrays)
ex10.java(Recursion)
|
Lab 3
|
| June 1st |
- Problem Solving with Procedural Programming
- Finish Procedural Programming
- Intro to Object-Oriented Programming
- Data Abstraction
- Encapsulation
- Composition of an Object
- Classes and Objects
- Instance Variables
- Instance Methods
|
Examples:
ex11.java(Modular Design)
ex12.java(Using instance methods)
|
| June 6th |
- Designing a class
- Wrappers & autoboxing
- Files & Streams
|
OOP notes LL Chapter 6
Examples:
IntCircle.java
ex13.java(Using IntCircle)
MusicCD.java
CompilationCD.java
CDTest.java (MusicCD Driver)
MyInteger.java(int parsing)
ex14.java(Using MyInteger)
|
Lab 4
|
| June 8th |
Exam I
Topics:
- Java Basics, including terminology
- Expressions & Statements
- Control Structures
- Methods
- Arrays
- Recursion
- Procedural Problem Solving
|
|
| June 13th |
- File Streams
- Composition
- Inheritance
|
OOP notes
LL Chapter 8
Examples:
ex15.java(File input - Scanner)
ex16.java(File output)
ex17.java(Text vs. Binary file sizes)
SuperClass.java
SubClass.java(Inheritance)
ex18.java(SuperClass, SubClass driver)
RationalNumber.java
MixedNumber.java(Composition)
MixedNumber2.java(Inheritance)
ex19.java(MixedNumber driver)
|
Lab 5
|
| June 15th |
- Polymorphism
- Object Class
|
Examples:
ex20.java
ex21.java
|
| June 20th |
- Exceptions
- Abstract Classes
|
OOP Notes
LL Chapter 10
Examples:
ex22.java
ex23.java
AbstractCD.java
MusicCD2.java
CompilationCD2.java
|
Lab 6
|
| June 22nd |
- Interfaces
- Generic Operations
- Sorting
|
OOP Notes
Examples:
ex24.java(Interfaces)
SortInt.java(Selection and Insertion Sort)
ex25.java(Using SortInt)
Sorting.java(Generic Selection & Insertion Sort)
ex26.java(Using Sorting)
SortingT.java(New parameterized Sorting)
ex26T.java(Using SortingT)
AbstractCD.java(Using Comparable<AbstractCD>)
|
| June 27th |
- Searching
- Collections
- Lists
- Sets
- Iterators
- Queues
|
OOP Notes LL Chapter 12 The Java Tutorial
Examples:
Searching.java
ex27.java(List)
ex28.java(Set)
ex28b.java(TreeSet)
ex28c.java(Queue)
|
Lab 7
|
| June 29th |
Project 2 Help Session
|
|
| July 4th |
Happy 4th of
July |
No Lab |
| July 6th |
|
OOP Notes
LL Chapter 12
The Java Tutorial
Examples:
ex28d.java(Stack)
ex29.java(Map)
ex30.java(Generics, Wildcard)
ex31.java(Bounded Wildcard)
ex32a.java(Generics)
ex32b.java(Generics)
ex32c.java(Generics)
ex32d.java(Generics)
|
| July 11th |
Exam II
Topics:
- Designing Classes
- Data Abstraction
- Encapsulation
- Composition
- Inheritance
- Abstract Classes
- Interfaces
- Polymorphism
- Exception Handling
- Wrapper Classes
- equals(), hashCode(), compareTo()
- Files & Streams
- Searching & Sorting
- Collections
- Iterators
|
|
Lab 8
|
| July 13th |
Power Outage
|
|
| July 18th |
- Begin Event-Driving Programming
- Graphical User Interfaces
- JFrames
- Components & Containers
- JLabels
- JButtons
- Event Handling
- JTextFields
- Inner Class Definitions
- Layout Managers
|
Examples:
ex33.java(JLabel)
ex33b.java(JButton)
ex33c.java(JButton with state)
ex33d.java(Inner Class Definition)
ex34.java(FlowLayout)
ex34b.java(GridLayout)
ex34c.java(BorderLayout)
|
Lab 9
|
| July 20th |
- JOptionPane
- JCheckBox
- ItemListener
- JRadioButton
- JComboBox
- Model/View/Controller Architecture
- JList
- JScrollPane
- JPanel
- Borders
- JTextArea
|
EDP Notes
LL Section 5.11
LL Section 5.12
LL Section 10.8
Examples:
ex35.java(JOptionPane)
ex36.java(JCheckBox)
ex36b.java(JRadioButton)
ex36c.java(JComboBox)
ex37.java(JList)
ex37b.java(JList with Model)
ex38.java(JPanel/Borders)
|
| July 25th |
- Mouse Events
- Adapter Classes
- Java GUI Processing
- Custom Painting
- Menus
- Popup Menus
- JColorChooser, JFileChooser
- Internal Frames
|
EDP Notes (7/24/06)
Examples:
ex39.java(MouseEvent, JTextArea)
ex40.java(Custom JPanel)
ex41.java(GeneralPath-Star)
ex42.java(Menus)
ex42b.java(Popup Menus)
ex42c.java(JColorChooser, JFileChooser)
ex43.java(JSlider)
ex44.java(JDesktopPane, JInternalFrame)
ex45.java(JSplitPane)
ex46.java(JTabbedPane)
|
Lab 10
|
| July 27th |
|
Examples:
ex47.java(Thread Subclass)
ex47b.java(Implements Runnable)
ex48.java(Unprotected Shared Memory)
ex49.java(Unsynced Producer/Consumer)
ex49b.java(wait/notify P/C)
ex49c.java(lock/condition P/C)
MyClient.java(Client)
MyServer.java(Simple Server)
MyServer2.java(Multiclient server)
MyServer3.java(Multithreaded server
MyClients.java(Multiple client simulator)
MyServer4.java(Message Passing server)
MyClients2.java(Multiple client message passing sim)
|
| August 1st |
Exam III
|
|
|
| August 3rd |
|
|