In this CS2 assignment, students create a musical instrument with an simple and intuitive graphical interface. The Tone Matrix is a square grid of lights, each of which is initially turned off. The user can turn lights on and off by clicking and dragging across the grid.
Each light in the grid represents a musical note at a specific point in time. Lights further to the left are played before lights further to the right. The row of a light determines which note is played: lights toward the bottom of the Tone Matrix have a lower pitch than lights toward the top. All lights on the same row play the same note and correspond to playing that note at different points in time. If multiple lights are turned on in the same column, they will be played simultaneously when their column is played.
In completing the assignment, students learn to be the implementer and client of a class and gain practice with 1D array algorithms. The assignment covers many of the topics traditionally covered by a dynamic arrays data structure assignment, but has broad appeal to both majors and nonmajors.
This assignment builds upon Kevin Wayne’s “Guitar Heroine” Nifty Assignment published in 2012.
Sat 21 FebDisplayed time zone: Central Time (US & Canada) change
13:40 - 15:00 | |||
13:40 13mTalk | Image Compression / Decompression (The OK Text Image Format)In-Person & OnlineGlobal Nifty Assignments Ben Stephenson University of Calgary | ||
13:53 13mTalk | Password SecurityIn-Person & Online Nifty Assignments | ||
14:06 13mTalk | Nifty Assignments: Tone MatrixIn-Person & Online Nifty Assignments Keith Schwarz Stanford University | ||
14:20 13mTalk | AI in Orbit: Intelligent Classification of Space Weather Events with Machine LearningIn-Person & Online Nifty Assignments John Brown Passaic Schools, James Liporace Rockland County Community College, Katherine G. Herbert Montclair State University, Thomas Marlowe Seton Hall University, Rebecca Goldstein Montclair State University | ||
14:33 13mTalk | Local LLM chatbotIn-Person & OnlineGlobal Nifty Assignments Jason Madar Langara College, Vancouver BC; Capilano University, North Vancouver, BC | ||
14:46 13mTalk | Nifty: DNA Sequence MatchingIn-Person & Online Nifty Assignments | ||