| Nifty Assignments 2008 | |
| Catch Plagiarists -- Baker Franke | CS1-CS2, typical CS2 data structures, difficulty can be adjusted. Search within a set of documents to find pairs with copied content |
| Genetic Algorithm TSP -- Raja Sooriamurthi | CS1-CS2, basic genetic algorithms. Use genetic algorithms to solve the traveling salesman problem |
| Asteroids -- Dan Leyzberg, Art Simon | CS1-CS2, objects, inheritance, abstract classes. An impressive implementation of Asteroids with OOP design and inheritance |
| Huffman Images -- Morgan McGuire, Tom Murtagh | CS1(late) or CS2(early). Labs to explore huffman compression in the context of image bitmap manipulation |
| Maze Solver -- Don Blaheta | CS2, stacks, queues, 2d arrays. Play around with algorithms to solve a maze. Works with gridworld |
| Dice Flip -- Cay Horstmann | CS1-CS2, prolog for advanced CS2, java for late CS1 variant. Explore simple but subtle dice game |
| Nifty Assignments 2007 | |
| Media Manipulation -- John Cigas | CS0-CS1, spreadsheet use or basic code. Transfer media data to spreadsheet form to make manipulation easy |
| ASCIImations -- Dave Reed | CS0-CS2. ASCII animations make fun, creative output with surprisingly simple code (Javascript, Java, ...) |
| Mindreader -- Raja Sooriamurthi | CS1, CS2. basic logic, map interface (arrays or Hashmaps). Build a surprisingly good computer opponent for a guessing game |
| Solitaire OOP -- Robert Noonan | CS2, OOP and patterns to explore family of solitaire games |
| Sliding Blocks Puzzle -- Mike Clancy | CS2, significant recursion and data structures. Recursive and heuristic work to solve the sliding blocks puzzle. |
| Fire -- Angela Shiflet | CS2, 2-d arrays, simulation. Neat, real-world example simulating spread of fire across a terrain, depending on humidity etc. |
| Nifty Assignments 2006 | |
| Book Code (ISBN) -- John Motil | CS1, basic logic to play with ISBN numbers. Fun because we are surrounded by these numbers .. use them for basic examples |
| Natural Prestidigitation -- Steve Wolfman | CS1, basic logic, loops, arrays. Appears dull, but has a neat surprise ending. |
| Breakout -- Eric Roberts | CS1, basic logic, loops using ACM graphics early in the term |
| Dancing Turtles -- Chris Nevison | CS1, inheritance with dancing turtles and ACM graphics |
| Solitaire Encryption -- Lester I. McCann | CS2, list manipulations, algorithmic code, file reading. Implements a very novel type of encryption. |
| Anagram Solver -- Stuart Reges | CS2, recursive backtracking ... a very fun application of recursive search |
| RSS Reader -- Jerry Cain | CS2, data structures, networking ... neat to implement a client for a real protocol |
| Nifty Assignments 2005 | |
| Test Me -- David Levine | CS0-CS1, students write tests to examine black box code -- nifty and no code writing |
| Grid Plotter -- Alyce Brady and Pam Cutter | CS1, neat way to learn and practice loop code |
| Complementary Currency -- Paul Kube | CS1, OOP by creating a currency ... has a community/social aspect among the students |
| Name Surfer -- Nick Parlante | CS1, loops, arrays, files. Graph baby name data for the last 100 years. Nifty because the data is nifty. |
| Photomosaics PPT (PDF version) -- Rich Pattis | CS2, create image made of many little images .. but there is a patent on it |
| Image Lab -- Aaron Gordon | CS2, framework to allow students to write filters on 2-d data and see them applied to images |