Lecture | Date | Topics | Examples/notes | Reading | Lecturer |
---|---|---|---|---|---|
Data Structures and Algorithms for Machine Learning ) | May 3, 5 | Machine Learning, Decision Trees, What Computer Science Is (and Isn't) | Decision Tree Lecture | RC | |
The Java Virtual Machine (cont.) | 28 Apr | Class loading and initialization Object initialization Method dispatch Exception handling Java security model Bytecode verification Stack inspection |
The Java Virtual Machine (cont.) | C. Fournet and A. D. Gordon. Stack Inspection: Theory and Variants. ACM Trans. Prog. Lang. and Sys. (TOPLAS) 25:3(May 2003), 360-399.
D. Wallach and E. Felten. Understanding Java Stack Inspection. Proc. IEEE Symp. Security and Privacy, May 1998. |
DK |
The Java Virtual Machine | 26 Apr | Java compilation Class file format Java bytecode |
The Java Virtual Machine
BytecodeExamples.zip |
JVM Spec | DK |
Search Trees | 21 Apr | Binary search trees AVL trees 2-3 trees |
Search Trees
TreeSearch.java |
24.27-30, 26, 28.1-21 | DK |
GUI dynamics | 19 Apr | events listeners handlers |
GUI dynamics
examples |
JFC Tutorial | DIS |
GUI Statics | 14 Apr | components containers layout managers |
GUI Statics
examples |
JFC Tutorial | DIS |
Graphs (cont.) | 12 Apr | Graphs
minimum spanning trees generics in Java 1.5 exceptions |
Graphs (cont.) | Chapter 29 | DK |
Graphs | 7 Apr | Graphs
DFS, BFS, topological sort coloring, planarity Dijkstra's algorithm |
Graphs | Chapter 29 | DK |
Abstract Datatypes (cont) | 5 Apr | priority queues, heaps | ADTs (cont) PriorityQueue.java nlogn lower bound for comparison sorting |
24.31-33, 27 | DK |
Abstract Datatypes and their Implementation | 31 Mar | searching and sequence structures queues, stacks, extensible arrays (Vectors) Hashsets and Hashtables dictionaries |
ADTs | Chapters 16-23 | DK |
Generic Programming | 29 Mar | Generic programming Iterator and Iterable interfaces Inner classes |
generic remora videos |
Chapters 7,8 | DK |
Asymptotic Complexity | 15 Mar, 17 Mar | Big-O notation | complexity | Chapter 9 | RC |
Sorting (continued) | 10 Mar | select sort merge sort quick sort |
sort
BasicSorting MergeSort QuickSort |
11.0-11.8 12.0-12.18 |
RC |
Searching Asymptotic Complexity Sorting |
8 Mar | searching: linear, binary binary search asymptotic time complexity sorting: select sort, merge sort, quick sort |
search.and.bigO
SearchIntArray SearchComparableArray |
Chapter 16 11.0-11.8 12.0-12.18 9.0-9.11 |
RC |
Interfaces, Comparable |
3 Mar | interfaces cont. interface Comparable |
Comparable | DK | |
Interfaces | 1 Mar | subtyping interface rules implementing an interface type checking |
Interfaces | 2.31, A.10, Chapter 3 (except 3.27, 3.28) |
DK |
Trees | 24 Feb | tree definitions applications parsing |
Trees
TreeCell.java |
24.0-24.16, 24.18, 24.20-24.26, 24.35 25.0-25.11, 25.18-25.20 |
RC |
Lists (continued) | 22 Feb | insertion and deletion doubly-linked lists |
Lists | Chapters 4, 6, and A.84-A.88 Chapter 5 is optional |
RC |
Lists | 17 Feb | first dynamic data structure introduction to singly-linked list ListCell classbuilding and searching |
Lists
ListCell.java List.java |
Chapters 4, 6, and A.84-A.88 Chapter 5 is optional |
RC |
Inheritance | 15 Feb | subclass/superclass relationships overriding methods and fields using "this" and "super" subtyping abstract classes |
Inheritance Test.java Test0.java Test1.java Test2.java |
Chapter 2 | DK |
Object-Oriented Programming | 10 Feb | objects data abstraction references garbage collection |
OOP | Chapter 1 Appendix A |
DK |
Grammars and Parsing | 5 Feb | application of recursion grammars parsing expression parsing code generation |
Parsing
AddParser.java AddParserWithScanner.java CS211In.pdf CS211In.java CS211InInterface.java CS211Out.java CS211OutInterface.java |
24.34, A.5, lecture notes |
RC |
Recursion | 3 Feb | Recursive programs frames and recursive calls |
Recursion
Power.java Hanoi-Recursive.java Hanoi-Iterative.java |
10.0-10.18, 10.26-10.32, 10.34-10.36, 10.40-10.41 |
DK |
Induction | 1 Feb | Induction |
Induction | lecture notes Gauss |
DK |
Java Review | Jan 27 | Classes, objects, primitive and reference types, array representation, the Java API, command line interface, new features of J2SE 5.0, debugging and experimentation | Lecture 2 Examples.zip |
Java API Appendix A |
DK |
Introduction | Jan 25 | Course policies and procedures 8-Puzzle application SaM application |
Introduction
SaM Puzzle |
Preface (iv-v) Introduction (1-3) Sam Loyd |
RC |