This page will be removed on August 6th 2026. Please update your links to refer to https://esb.ics.hawaii.edu/2000fall.ics211/index.html instead.
Introduction to Computer Science II, ICS 211
This page is
http://www2.ics.hawaii.edu/~esb/2000fall.ics211/index.html
Office is in POST 303B, telephone (808)956-3891,
e-mail esb@hawaii.edu. Office hours are
Tuesday from 4:30 to 5:30pm,
Thursday from 10am to 11am, or by appointment.
Office is in POST 303G, telephone (808)956-3496, e-mail walbritt@hawaii.edu. Office hours are
MWF from 3pm to 4pm and he is available to answer questions during the labs.
Goals
In this course, students will:
- Learn standard data structures, including linked lists, stacks,
queues, and trees.
- Learn standard algorithms for sorting and searching
- Be exposed to the basics of algorithm analysis and complexity.
- Be exposed to software engineering techniques such as: abstract
data types, separation of definition and implementation.
- Learn to use Java for more complex programming projects than
those in ICS 111.
Organization
This course has
Exams and quizzes may be taken early, if requested at least two weeks
before the scheduled time.
The textbook is "Data Structures and Other Objects", by Michael
Main (Addison-Wesley, 1999). The textbook is available from the UH
bookstore.
The lectures are Tuesdays and Thursdays at 1:30pm in Watanabe 112.
Cheating Policy: any cheating will result in a grade of 0
for the assignment, quiz, or exam the first time it is detected, and a
grade of F for the course for any subsequent instance. There is to be
no collaboration whatsoever on homeworks or exams (you may study
together, but anything you turn in, must be entirely your own
intellectual contribution). As practicing computer scientists, you
may eventually learn to work in groups, but don't try it in this
class.
Tentative Schedule
This schedule is subject to change.
Lectures notes are in HTML.
- Aug 22. Course overview and Introduction. Chapter 1.
Notes
Materials covered:
- introduction
- specification, design, implementation
- Aug 24. Chapter 1.
Notes
Materials covered:
- running time analysis
- testing and debugging
- Aug 29. Quiz 1 (covering Chapter 1). Chapter 2.
Notes
Materials covered:
- Java classes, packages, special methods (equals, clone)
- Java applets, exceptions
- Homework assigned, due Tuesday, September 5th at 12noon
The Java material, including applets, should be a review for most students.
- Aug 31. Chapter 3.
Notes
Materials covered:
- Java arrays
- abstract data types (also Chapter 2)
- abstract data type for a bag of integers -- specification
- Sep 5. Chapter 3.
Notes
Materials covered:
- implementation of the ADT for a bag of integers
- sequence ADT
- applets
Homework 2 assigned, due Tuesday, September 12
at 11pm.
- Sep 7. Quiz 2 (covering Chapters 2 and 3). Chapter 4.
Notes
Materials covered:
- applet review
- linked lists
- node manipulations
- Sep 12. Exam 1 -- covering material through Sep. 7th.
- Sep 14. Chapter 4.
Notes
Materials covered:
- list manipulation
- implementing the bag and sequence ADTs using a linked list
- lists vs. arrays and doubly linked lists
Homework 3 assigned, due Tuesday, September 26
- Sep 19. Chapter 5.
Notes
Materials covered:
- Java objects
- widening and narrowing conversions
- bags of objects
- Java wrapper classes
- Sep 21. Quiz 3 (covering Chapters 4 and 5.1-5.3). Chapter 5.
Notes
Materials covered:
- Interfaces
- Iterators
- Bag class review
- Sep 26. Chapter 6.
Notes
Materials covered:
- stack ADT
- stack applications: expression evaluation
Homework 4 assigned, due Tuesday, October 3
- Sep 28. Chapter 7.
Notes
Materials covered:
- stack implementation
- more stack applications
- queue ADT
- queue applications
- Oct 3. Quiz 4 (covering Chapters 5.4, 6, 7.1, 7.2). Chapter 7.
Notes
Materials covered:
- queue implementation
- priority queues
Homework 5 assigned, due Thursday, October 12
- Oct 5. Chapter 8.
Notes
Materials covered:
- recursive methods
- fractals
- Oct 10. Exam 2 -- covering material from Exam 1 through Oct. 5th.
- Oct 12. Class Canceled.
Homework 6 assigned, due Tuesday, October 24
- Oct 17. Chapter 8.
Notes
Materials covered:
- teddy bear game
- n-queens problem
- reasoning about recursions
- variant expressions
- Oct 19. Quiz 5 (covering Chapters 7.3, 7.4, 8). Chapter 9.
Notes
Materials covered:
- tree taxonomy
- tree representations
- taxonomy trees
- class for binary trees
- Oct 24. Chapter 9.
Notes
Materials covered:
- tree traversal
- binary search trees
- animal guessing program
Homework 7 assigned, due Thursday, October 12
- Oct 26. Chapter 10.
Notes
Materials covered:
- Oct 31. Quiz 6 (covering Chapters 9, 10.2). Chapter 10.
Notes
Materials covered:
- heaps
- time analysis
- heap sort
- Nov 2. Chapter 11.
Notes
Materials covered:
- Nov 9.
Exam Review
Notes
- Recursion
- Trees, tree traversal
- Binary Trees
- Tree Representations: nodes, arrays
- Binary Search Trees
- B-Trees
- Heaps and Heap Sorting
- Binary Search in Arrays
- Nov 14. Exam 3 -- covering material from Exam 2 through Nov. 9th.
- Nov 16.
Notes
Chapter 11.
Materials covered:
- hashing
- open hashing
- double hashing
- chained hashing
- table ADT
- Hashtable class
- Nov 21. Quiz 7 (covering Chapters 10.1, 10.3, 11).
Notes
Chapter 12.
Materials covered:
- hashing time analysis
- selection sort
- insertion sort
- quadratic sort time analysis
- Nov 28.
Notes
Chapter 12.
Materials covered:
- selection sort
- insertion sort
- quadratic sort time analysis
- merge sort
- Nov 30. Quiz 8 (covering Chapter 12).
Notes
Chapter 13.
Materials covered:
- quicksort
- recursive sort time analysis
- extended classes
- Dec 5.
Notes
Chapter 13.
Materials covered:
- ecosystem simulation
- vector and hashtable classes
- course evaluations
- Dec 7. Review.
Notes
- Dec 12, 12 noon -- 2pm. Final Examination, covering the entire
course but with more emphasis on the material since Exam 3. The exam
is closed book, and you are allowed to bring one, single-sided handwritten
sheet of notes.
Feedback
I appreciate feedback! Please send me mail at esb@hawaii.edu with any comments, or
if you notice any mistakes, or if you have problems accessing any of
these links.
If you wish to send me anonymous feedback, I have set up a page to do just that. The comments you
make using this page are mailed to the same address as above, but
without showing your name. The comments and any responses will be
posted here.
Miscellaneous
I have taught this class in Fall 1999. The web
page for the Fall '99 course has links
to my notes and even to some of the quizzes.