Course Notes, Practice Problems, and Solutions

      C++ notes
      Explaining end-of-file I/O using C++
      Google's C++ Style Guide
      Java Coding Style Conventions
      Basic Unix commands
      How to transfer files and compile under linux
      Recording by me about software needed to use our linux machines
I tried to edit this video and appeared to have messed it up. I cannot figure out how to undo whatever I did. Maybe I will someday. Stay tuned.

Reviewing pointers and dynamic memory
      When an object has dynamic memory
      Pointers and memory diagram
      Valgrind example (Correct, except g++ bug always give unreachable memory)
      Valgrind example showing how it works


Week 11:   Final exam
      Final exam information
      Final practice problems ........... solutions
Week 9 and Week 10:   Formal Languages and Automata Theory
Week 8:   Hashing and Polymorphism under the hood
Week 7:   Object-oriented design and programming, Factory design pattern

Week 6:   Midterm exam
      Midterm exam information
      Old exam from CSS 343 . . . . . . . solutions
All the problems are relevant except the Poly coding problem.
You would likely have an IntSet question in its place, e.g., is one set a subset of another: bool sub = A.isSubset(B);
Week 5:   AVL Trees, 2-3 trees, B-trees
Week 3 and Week 4:   Graphs, Depth/Breadth-first, Dijkstra's shortest path algorithm
Week 2:   Binary search trees, Priority queues and Heaps
Week 1:   General and binary trees, Huffman encoding