| Nifty Assignments 2012 |
| Stereo Sound Processing -- Daniel Zingaro |
CS1 (early) - remove vocals from sound |
| Guitar Heroine -- Kevin Wayne |
CS1/CS2, Extremely neat -- math model creates realistic guitar sound |
| Uno -- Stephen Davies |
CS1, Strategy AI to play Uno. |
| Image Editor -- Joshua T. Guerin and Debby Keen |
CS1/CS2 Code to experiment with images, but requiring only the ability to change text files. |
| Igel Ärgern -- Zachary Kurmas |
CS2 Hedgehogs in a Hurry game |
| Binary Bomb -- David O'Hallaron |
Post CS2 -- neat assignment puzzle to play with understanding of compiled code and memory as they truly are. On the linked page, see the README, Writeup, Release Notes, Self-Study Handout which all work without a password. To play with the code, email Dave and he'll send you what you need to get the binaries. |
| Nifty Assignments 2011 |
| Image Puzzles -- Nick Parlante |
CS0 or later, great puzzles using images, tiny code required |
| BMP Puzzles -- David Malan |
CS1, More and better image puzzles, looking at bytes of BMP file representation |
| Book Recommendations -- Michelle Craig |
CS1, Like the Netflix movie-recommendation system, generate book recommendations. Surprisingly simple algorithms give a neat results. |
| Generic Scrolling Game -- Dave Feinberg |
CS1, Project pattern which supports a variety of games.
Easily allows students to customize rules, graphics etc. of simple game. |
| Wator World -- Mike Scott |
CS1-CS2, Shark/fish simulation using GridWorld type abstraction.
Neat simulation/modeling example working from simple rules. |
| Hamming Codes -- Stuart Hansen |
CS2, Neat exercise with a real algorithm. Push the students
to understand that it's really all bytes. |
| Evil Hangman -- Keith Schwarz |
CS2 or late CS1 - Awesome variant of Hangman, where the computer cheats by dodging all the user's guesses |
| Nifty Assignments 2010 |
| Picobot -- Zachary Dodds |
CS0-CS1, day-1 assignment -- neat environment to get students started, works in the browser |
| Pig -- Todd Neller |
CS1, intermediate difficulty game to implement, but students love it and lots of variations |
| Song Generator -- Daniel Zingaro |
CS1, implement filters with short bits of code, but it all works in the domain of sound, making in a novel and engaging domain for the students |
| CSI: Computer Science Investigation -- David Malan |
The instructor accidentally erases the compact flash card containing their images. Students write code to recover the images, solve the treasure hunt using the images |
| Encryption Chase -- Mark Sherriff |
CS2, encryption coding, embedded in a team active-learning campus treasure hunt |
| Chatting Aimlessly (IM) -- Thomas Murtagh |
CS1, implement simple instant messaging client in CS1 -- talk about a technology near to the student heart! |
| Nifty Assignments 2009 |
| Star Map -- Karen Reid |
CS1, neat drawing of the night sky and constellations -- simple file reading and drawing |
| Face Pamphlet -- Mehran Sahami |
CS1, simple Facebook application built with just CS1 technology, students love it |
| Secrets In Images -- Brent Heeringa, Thomas Murtagh |
CS1, hide secret messages inside images -- neat image manipulation with data as simple arrays |
| Random Art -- Christopher A Stone |
CS1, build nifty images with recursive nested random symbolic math expressions (python) |
| Enigma Encryption -- Dave Reed |
CS1-CS21, range of easy to complex cryptography projects, using paper/manipulation model to get started |
| DNA Splicing -- Owen Astrachan |
CS2, surprisingly easy DNA manipulation, set up for the students to measure/experiment with their code |
| 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 |