Boston University CAS CS 112 A1 Spring 2017
The Course Syllabus
Most information is now on Piazza
CS 112 Office Hours Calendar
BU CS Tutoring calendar
Lectures and Labs
The code written in lecture now resides in the repository (which you can sync to yours)
- Thu Jan 19 lecture: Linear search and start binary search LinearSearch.java BinarySearch.java
- Thu Jan 19 — Fri Jan 20 lab 1: start converting Card/Hand from Python to Java
- Tue Jan 24 lecture: More on binary search: logarithmic vs. linear running time; some Java basics
- Thu Jan 26 lecture: More useful binary search (to return "insert after" point); finish conversion of Card/Hand from Python to Java
- Thu Jan 26 — Fri Jan 27 lab 2: working Git and Eclipse
- Tue Jan 31 lecture: primitive types vs. objects; pointers/references, variable scope, and parameter passing; for loops
- Thu Feb 2 lecture: static vs. not static variables and methods; selection sort
- Thu Feb 2 — Fri Feb 3 lab 3: work on hw2
- Tue Feb 7 lecture: running time of selection sort; bubble sort
- Thu Feb 9 — Fri Feb 10 lab 4: debugging tips (lecture and labs cancelled due to snow)
- Tue Feb 14 lecture: mergesort
- Thu Feb 16 lecture: quicksort; pre/post increment in Java
- Thu Feb 16 — Fri Feb 17 lab: midterm review
- Tue Feb 21: no lecture (Monday schedule)
- Thu Feb 23: midterm 1
- Thu Feb 23 — Fri Feb 24 lab 5: the Eclipse debugger
- Tue Feb 28: quicksort running time; start stacks
- Thu Mar 2: array-based stack and parenthesis matching application
- Thu Mar 2 — Fri Mar 3 lab 6: HW4 and style guidelines
- Tue Mar 14: no lecture -- snow day
- Thu Mar 16: midterm solutions; hw4 solutions; linked-list-based stacks
- Thu Mar 16 — Fri Mar 17 lab 7: Java generics
- Tue Mar 21: interfaces and generics; sorting a generic array; linked-list-based queue
- Thu Mar 23: a bit on type hierarchy, subclasses, superclasses, generics, typecasting, and object equality vs. pointer equality. Linked List traversals.
- Thu Mar 23 — Fri Mar 24 lab 8: HW5 help with RPN calculator
- Tue Mar 28: Recursive and iterative linked list reversals; start trees
- Thu Mar 30: Pre-order and post-order depth-first search (recursively and with a stack); breadth-first search with a queue. Start binary trees.
- Thu Mar 30 — Fri Mar 31 lab 9: practice for midterm 2
- Tue Apr 4: Guest lecture by Abbas Attarwala on binary search trees.
- Thu Apr 6: Midterm 2
- Thu Apr 6 — Fri Apr 7 Lab 10: HW6 help with Loopy Lists
- Tue Apr 11: Binary search trees as maps (aka dictionaries aka associative arrays). Insert and lookup.
- Thu Apr 13: Binary search tree inorder traversals and deletions
- Thu Apr 13 — Fri Apr 14 Lab 11: Java Iterators
- Tue Apr 18: The need for balancing; 2-3 trees and red-black trees
- Thu Apr 20: finish red-black trees; O-notation
- Thu Apr 13 — Fri Apr 14 Lab 12: Ternary Search Trees and their toString method
- Tue Apr 25: Hash tables
- Thu Apr 27: midterm 2 solutions; a bit of hash table analysis
- Thu Apr 27 — Fri Apr 28 Lab 13: HW7 Help
- Tue May 2: Heaps/Priority Queues: slides and code