Lecture Style
Some instructors like to use "slides" projected from a laptop or from an overhead projector as part of their lectures, while others use different approaches: audience interaction, chalkboard writing, solely verbal presentation, or whatever.
While this course will use a variety of these approaches, lecture slides are provided. They have been developed over the years by CSC148 instructors (primarily Jim Clarke) and cover the course-standard topics, and I have slightly modified them for use this semester. However: this does not mean that all class material is contained within the slides and other materials! They are to provide an overview of some of the bigger issues covered in the course, and hopefully to prevent frantic note-writing of complicated diagrams, examples or definitions.
Lecture Materials
Slides will be added here as .pdf files, roughly prior to each lecture. Bringing them to class is recommended, since they may be referred to, and some in-class material will already be on them.
| Week | Lecture Notes | Lecture Files |
|---|---|---|
| 1 | Introduction, Stacks | Stack.java, ArrayStack.java, StackTest1.java, hour1.txt |
| 2 | Abstract Classes, Linked Lists, Memory Model | IntNode.java, LLExample.java, Employee.java, Programmer.java, Week2.java |
| 3 | Memory Model (cont'd), Queues | Queue.java, ArrayQueue.java, CircularQueue.java |
| 4 | Recursion | Week4.java, CircularQueue.java (fixed) |
| 5 | Time Analysis | |
| 6 | Exceptions | AbuseArray.java, CircularQueue.java, Queue.java, QueueFullException.java, Week6.java |
| 7 | Iterators | Week7.java, FactorIterator.java, FactorFinder.java, Comparable, Iterator, Iterable |
| 8 | Trees | |
| 9 | Trees (cont'd) | Week9.java, BSTNode.java |
| 10 | BSTs |
BSTNode.java,
BST.java,
LinkedBST.java
(incorrect implementation of insert)
|
| 11 | BSTs (cont'd), Mergesort |
LinkedBST.java (correct
insert and delete),
Week11.java,
(mergeSort, with a small tester)
|