|
SLO #1: Produce robust and secure programs using exception handling and
extensive program testing. |
| Class Dates |
Podcasts |
Topics |
Readings |
Slides |
Assignments |
Due Dates |
Examples and Resources |
|
Aug 22
|
Session01
Can view lectures in Laulima in "Podcasts"
or on UHTV or EDUTV
|
Introduction to the Class |
Syllabus
|
lecture01-intro
|
Optional Assignment #1 (Who am I?) |
Aug 24 at 12 noon
|
Tutor Information
Introduction to Programming Using Java, 7th Edition
Data Structures: Abstraction and Design Using Java, 2nd Edition
Learning Resource Center
Ho'oulu
Training Tips
Recycling Computers
Laulima Login
UH gmail
What Skills Do I Need to Get Hired?
William's home page
sorting exercise
|
|
Aug 24
|
Session02
|
Variables, Primitives, Objects, and Arrays |
Eck:
Variables and the Primitive Types,
Introduction to Arrays,
Array Details,
Text Input and Output
K&W: Appendix A.8
|
lecture02-variables-primitives-objects-arrays
|
Assignment #2
|
Aug 29 at 12 noon
|
Java API
Variables.java
JDK
jGRASP
InitializingDisplayingArrays.java
Java Coding Standard
|
|
Aug 29
|
Session03 |
Arrays, Methods, and Files |
Eck:
Array Processing,
Subroutines,
Command Line Environment,
Introduction to Exceptions and try..catch,
Text Input and Output
K&W: Appendix A.8
|
lecture03-arrays-methods-files
|
Assignment #3
|
Aug 31 at 12 noon
|
ArraysAndMethods.java
Repeat.java
Commandline Arguments Instructions
TryCatchBlocks.java
ReadFromFile.java
Java API
Class Exception
Class RuntimeException
|
|
Aug 31
|
Session04 |
Files and Array List |
Eck:
Array Processing,
Subroutines,
Command Line Environment,
Introduction to Exceptions and try..catch,
Text Input and Output
K&W: Appendix A.8
|
lecture04-files-array-list
|
Assignment #4
|
Sep 5 at 12 noon
|
WriteToFile.java
ArrayBasedGroceryList1.java
ArrayBasedGroceryList2.java
ArrayBasedGroceryList3.java
ArrayBasedGroceryList4.java
groceries.csv
badlist.csv
|
|
SLO #2: Develop recursive algorithms and programs.
|
| Class Dates |
Podcasts |
Topics |
Readings |
Slides |
Assignments |
Due Dates |
Examples and Resources |
|
Sep 5
|
Session05 |
Big-O |
The Idiots Guide to Big O
A beginner's guide to Big O notation
Big-O Notation and Sorting
wikipedia: Big-O notation
K&W: 2.4
|
lecture05-big-o
|
Assignment #5 |
Sep 7 at 12 noon
|
FactorialProgram.java
BigOCode.java
MoreBigO.java
|
|
Sep 7
|
Session06 |
Recursion I |
Recursion made simple
Eck:
Recursion
K&W: 5.1, 5.2
|
lecture06-recursion
|
Assignment #6
|
Sep 12 at 12 noon
|
Backwards.java
Counting.java
|
|
Sep 12
|
Session07 |
Recursion II |
Recursion made simple
Eck:
Recursion
K&W: 5.1, 5.2
|
lecture07-recursion2
|
Assignment #7
|
Sep 14 at 12 noon
|
Factorials.java
Powers.java
Fibonacci.java
|
|
SLO #3: Use standard libraries or packages as well as advanced object-oriented programming techniques (polymorphism, inheritance, and encapsulation).
|
| Class Dates |
Podcasts |
Topics |
Readings |
Slides |
Assignments |
Due Dates |
Examples and Resources |
|
Sep 14
|
Session08
|
Classes |
Eck: Objects and Classes
K&W: Appendix A.7
|
lecture08-classes
|
Assignment #8
|
Sep 19 at 12 noon
|
Comparable.java
Java API Interface Comparable
Fraction.java
IllegalFractionException.java
FractionCalculator.java
Java API
Class String
PresidentDriver.java
|
|
Sep 19
|
Session09 |
Classes II |
Eck: Objects and Classes
K&W: Appendix A.7
|
lecture09-classes2
|
Assignment #9
|
Sep 21 at 12 noon
|
Java API
Class String
Fraction.java
IllegalFractionException.java
FractionCalculator.java
Class Object
PresidentDriverWithMethods.java
NullPointerProgram.java
|
|
Sep 21
|
Session10 |
Inheritance and Polymorphism |
Eck: Inheritance, Polymorphism, and Abstract Classes
K&W: Chapter 1.2, 1.3
|
lecture10-inheritance-polymorphism
|
Assignment #10
|
Sep 26 at 12 noon
|
PresidentDriverWithInheritance.java
IllegalFractionException.java
Fraction.java
FractionCalculator.java
DoNotCatch.java
Name.java
ThreeNames.java
PolymorphismExample.java
|
|
Sep 26
|
|
Review 1 |
|
|
|
|
review1.htm
|
|
Sep 28
|
|
Exam 1 |
covers all topics above |
|
|
start between 12:01 AM and 10:44 PM |
|
|
SLO #4: Select the appropriate searching or sorting algorithm based on the algorithm's behavior.
|
| Class Dates |
Podcasts |
Topics |
Readings |
Slides |
Assignments |
Due Dates |
Examples and Resources |
|
Oct 3
|
Session11 |
Searching, Interfaces, and Sorting |
Eck: Searching and Sorting
K&W: Chapter 8
|
lecture11-searching-interfaces-sorting
|
Assignment #11
|
Oct 5 at 12 noon |
Comparable.java
Java API Interface Comparable
Fraction.java
Name.java
ThreeNames.java
TestComparable.java
Sorting.java
Select-sort
|
|
Oct 5
|
Session12 |
Sorting, Searching, and Overloading |
Eck: Searching and Sorting
K&W: Chapter 8
|
lecture12-sorting-searching-overloading
|
Assignment #12 |
Oct 10 at 12 noon |
Sorting.java
Searching.java
GroceryItem.java
GroceryItemException.java
GroceryItemDriver.java
ArrayBasedGroceryList5.java
groceries.csv
|
|
SLO #5: Use and implement abstract data types such as lists, stacks, queues, and trees.
|
| Class Dates |
Podcasts |
Topics |
Readings |
Slides |
Assignments |
Due Dates |
Examples and Resources |
|
Oct 10
|
Session13 |
Array Stack |
Eck: Stacks
K&W: Chapter 3
|
lecture13-array-stack
|
Assignment #13
|
Oct 17 at 12 noon
|
TwoThings.java
StackInterface.java
ArrayStack.java
ArrayStackDriver.java
BackwardLines.java
electricity.txt
Equals.java
|
|
Oct 12
|
catch up day |
|
|
|
|
|
|
|
Oct 17
|
Session14 |
Linked Stack |
Eck: Stacks
K&W: Chapter 3
|
lecture14-linked-stack
|
Assignment #14
|
Oct 19 at 12 noon
|
Node.java
NodeDriver.java
StackInterface.java
LinkedStack.java
LinkedStackDriver.java
BalancedBraces.java
Equals.java
|
|
Oct 19
|
Session15 |
Linked List |
Eck: Linked Lists
K&W: Chapter 2
|
lecture15-linked-list
|
Assignment #15
|
Oct 24 at 12 noon |
groceries2.csv
GroceryItem.java
GroceryItemDriver.java
GroceryItemException.java
GroceryMenu.java
LinkedList.java
LinkedListDriver.java
ListException.java
ListInterface.java
Node.java
NodeDriver.java
Java API Class LinkedList
Class JOptionPane
|
|
Oct 24
|
Session16 |
Linked List II |
Eck: Linked Lists
K&W: Chapter 2
|
lecture16-linked-list2
|
Assignment #16
|
Oct 26 at 12 noon |
groceries2.csv
GroceryItem.java
GroceryItemDriver.java
GroceryItemException.java
GroceryMenu.java
LinkedList.java
LinkedListDriver.java
ListException.java
ListInterface.java
Node.java
NodeDriver.java
Java API Class LinkedList
Class JOptionPane
|
|
Oct 26
|
Session17 |
Linked List III |
Eck: Linked Lists
K&W: Chapter 2
|
lecture-17-linked-list3
|
Assignment #17
|
Oct 31 at 12 noon |
groceries2.csv
GroceryItem.java
GroceryItemDriver.java
GroceryItemException.java
GroceryMenu.java
LinkedList.java
LinkedListDriver.java
ListException.java
ListInterface.java
Node.java
NodeDriver.java
Java API Class LinkedList
Class JOptionPane
|
|
Oct 31
|
Session18 |
Ordered Linked List |
Eck: Linked Lists
K&W: Chapter 2
|
lecture-18-ordered-linked-list
|
Assignment #18
|
Nov 2 at 12 noon |
GroceryItem.java
Comparable.java
Java API Interface Comparable
OrderedLinkedList.java
OrderedLinkedListDriver.java
OrderedGroceryMenu.java
|
| Nov 2 |
Review 2 |
|
|
|
|
|
review2.htm
|
|
Nov 7
|
Exam 2 |
covers sessions 2-18 |
|
|
|
start between 12:01 AM and 10:44 PM
|
|
|
Nov 9
|
Session19 |
Array Queue |
Eck: Queues
K&W: Chapter 4
|
lecture-19-array-queue
|
Assignment #19 |
Nov 21 at 12 noon |
QueueInterface.java
ArrayQueue.java
ArrayQueueDriver.java
Palindrome.java
StackInterface.java
ArrayStack.java
|
|
Nov 21
|
Session20 |
Linked Queue |
Eck: Queues
K&W: Chapter 4
|
lecture -20-linked-queue
|
Assignment #20 |
Nov 28 at 12 noon
|
QueueInterface.java
LinkedQueue.java
LinkedQueueDriver.java
Node.java
NodeDriver.java
|
|
Nov 28
|
Session21 |
Trees I |
Eck: Binary Trees
K&W: Chapter 6
|
lecture-21-trees
|
Assignment #21 |
Nov 30 at 12 noon |
|
|
Nov 30
|
Session22 |
Trees II |
Eck: Binary Trees
K&W: Chapter 6
|
lecture22-trees2
|
Assignment #22 |
Dec 5 at 12 noon |
BinaryNode.java
BinaryNodeDriver.java
BinarySearchTree.java
BinarySearchTreeDriver.java
TreeException.java
Person.java
PersonDriver.java
PersonException.java
Menu.java
presidents.csv
|
|
Dec 5
|
Session23 |
Trees III |
Eck: Binary Trees
K&W: Chapter 6
|
lecture23-trees3
|
Assignment #23 |
Dec 7 at 12 noon |
BinaryNode.java
BinaryNodeDriver.java
BinarySearchTree.java
BinarySearchTreeDriver.java
TreeException.java
Person.java
PersonDriver.java
PersonException.java
Menu.java
presidents.csv
|
|
(optional)
|
Session24 |
Heaps |
Adamchik: Binary Heaps
K&W: Chapter 6.5
|
lecture #24
|
Assignment #24 |
Dec 7 at 12 noon |
|
|
(optional)
|
Session25 |
Priority Queues |
Adamchik: Binary Heaps
K&W: Chapter 6.5
|
lecture25-priority-queues
|
Assignment #25
|
Dec 7 at 12 noon |
patients.csv
QueueInterface.java
PriorityQueue.java
PriorityQueueDriver.java
Heap.java
HeapDriver.java
HeapException.java
|
|
(optional)
|
Session26 |
Hash Tables |
Wikipedia: Hash Tables
K&W: Chapter 7.3
|
lecture26-hash-tables
|
Assignment #26
|
Dec 7 at 12 noon |
hashing-examples.txt
Hash Tables
hashCode()
Linear probing
Quadratic probing
Double hashing
|
| Dec 7 |
Review 3 |
|
|
|
|
|
review3.htm
eCAFE Course and Faculty Evaluation
|
|
Dec 14
|
Exam 3 |
covers sessions 2-23 |
|
|
classroom open 12:15pm-2:15pm
|
start between 12:01 AM and 10:44 PM
|
|