ICS 211: Introduction to Computer Science II


Instructor:William McDaniel Albritton
Office Hours:Tuesdays and Thursdays 9:15am-10:15am
Walk-ins and appointments welcome!
Office Location:DA 211
Contact:(808) 455-0319 (walbritt AT hawaii.edu)
Website URL:http://www2.hawaii.edu/~walbritt/ics211/

SLO #1SLO #2SLO #3SLO #4SLO #5

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