Week # |
Dates |
Event / Topics |
Labs, Homeworks, and Quizzes |
Week #1 |
Wed 17-Mar |
Digital Representation (Two’s Complement) Computer Architecture (Logic + Circuits |
No quiz this week Lab1 Optional Hw1 |
Week #2 |
Wed 24-Mar |
Two-Dimensional Arrays Matrices and Finding Polynomial Solutions to Power Sums |
Quiz1 Lab2 Optional Hw2 |
Week #3 |
Wed 31-Mar |
Recursion Towers of Hanoi Fib (and memoization) Quicksort Depth-First Search with Backtracking Knight's Tour, NQueens |
Quiz2 Lab3 Optional Hw3 |
Week #4 |
Wed 7-Apr |
Recursion Redux: NQueens, Flood Fill, Maze Solving Counting and Computability Countability of Integers, Evens, Primes, Rationals, Lattice Points Diagonalization Uncountability of Reals, Power Sets (Aleph Numbers) Godel's Incompleteness Theorem The Halting Problem Rice's Theorem Exponential Time Complexity SubsetSum |
Quiz3 Lab4 Optional Hw4 |
Week #5 |
Wed 14-Apr |
Inheritance basics (Interfaces, Classes,...) Collections: Sets, Stacks, Queues, ArrayLists, LinkedLists Prefix Notation, Postfix Notation Depth-First Search (review) Breadth-First Search (8-Puzzle) with an explicit queue |
Quiz4 Lab5 Optional Hw5 |
Spring Carnival (Thu 15-Apr to Sat 17-Apr) | |||
Week #6 |
Wed 21-Apr |
Abstract Data Types + Interfaces ArrayLists, LinkedLists Sets + HashSets Time Complexity of HashSet Operations (add, contains) HashSet implementation Array of LinkedLists Set elements must define equals() and hashCode() Maps + HashMaps Optimizing Breadth-First Search with a "seen" Set Combinatorial Iterators Permutations.java, Combinations.java, PowerSets.java, BaseNCounting.java Problem-Solving with Combinatorial Iterators SubsetSum, 24 game, Cryptarithm Bonus/Optional Topic: NP-Completeness |
No quiz this week Lab6 Optional Hw6 |
Week #7 |
Wed 28-Apr |
AI: 2-Player Games with Minimax Client-Server Programming with Sockets Threads (a gentle introduction) Command-Line Arguments |
Quiz5 No lab or hw this week |