- This assignment gives students more room to express their creativity than a typical programming assignment does.
- A student's program may be a lengthy block of code. This provides a good opportunity to talk about function decomposition—that is, how they can break down their code into smaller sections to make it easier to debug and maintain.
- Note from the CS Teaching Tips Team: Check out the Wikipedia entry about function decomposition in computer science!
- This project can even be used for middle schoolers if you provide plenty of starter code.
- For a variety of examples of this assignment, visit Stanford’s nifty assignment page.