Description
I took this course in 22F. We learned about classes and objects, GUI programming, data structures, and basic algorithms. Some topics include video processing, information retrieval, graph traversal, pattern matching and recognition, and web services. The programming language is Java.
Project Demonstration
Some problem sets include:
- Use Huffman encoding to compress and decompress files. This brings together trees, maps, priority queues, and file i/o.
- Write code for social network analysis, use it in variations on the Kevin Bacon game, and devise your own interface for playing the game.
- Determine the part of speech for new sentences given a database of tagged sentences (sentences with the part of speech for each word contained indicated), using a hidden Markov model (HMM) approach and the Viterbi algorithm.

- Build a collaborative graphical editor, in which multiple clients connect to a server, and whatever editing any of them does, the others see.

