UMass Lowell Dept. of Computer Science
COMP 2120 / MUED 2120 — Sound Thinking
Spring 2016 Semester, Section 201
Prof. Jesse M. Heines and Prof. Gena Greher
Assignment No. 6
Transposing Using Scratch Lists
Date Due:
Thursday, March 31, 2016
Contents
What This Assignment Is About
This assignment further extends your work with Scratch and the use of MIDI, but also introduces a new concept: lists. Once again you will create a MIDI composition, satisfying the conditions discussed in the write-up below. These conditions are very specific, so please be sure to read them carefully.
A critical part of this assignment is that your composition must be able to be transposed into any key, which means that the user has to be able to change the starting note at will.
Another critical part is that your list entries must be encoded as offsets. Both of these concepts will be reviewed in class.
A Reminder About Timing
As before, we do not expect you to get the timing perfect in this assignment. However, as discussed in class, you can improve the timing considerably if you remember to set Turbo mode as discussed in class and shown again below.
In Scratch 1.4, the Turbo Speed option is a suboption under Edit->
Set Single Stepping...
In Scratch 2.0, the Turbo Mode option is at the top level of the Edit menu
Partner Assignments
Top
Please see the Class Roster for your partner’s email address.
Team
No. |
Partner 1 |
Partner 2 |
What You Are To Do
Top
- Remember that all aspects of this project except responding to the reflective questions are to be done with your partner.
- Encode a song into a list (or set of lists) as we will have done in class. This may be an original composition or a song you like, but it should be encoded using “offsets” (which we also called “deltas” or “intervals”) rather than absolute notes. These offsets can be from the starting note or from the previous note in the composition.
- Write the Scratch code to read your list(s) and play the song they encode. Do this in such a way that allows you to transpose the song into any key simply by changing the starting note.
- Devise a way for the user to transpose your composition by changing the starting note without having to explicitly change it in the code.
- Make sure that your composition has a title and displays your name.
- As you work, write notes on what you did so that someone else (or even yourself a few months from now) can reproduce what you did. Take notes on things that you did and then undid, too, so that you do not forget the things you tried that you don’t feel worked out well.
- If you’re working in Scratch 2.0, give your composition a title and save it to the Scratch website by opening the File menu and selecting Save now option. Then open the File menu again and select the Go to My Stuff option. Next, click the Share button to make your project visible to others.
- Click the project title to go back to your project.
- Note the URL of the page you end up on. This is the URL that you must submit with your responses to the reflective questions so that we can get to your project to grade it. We strongly suggest that you copy-and-paste the URL rather than typing it to avoid making errors. Also, please make sure that you have shared your project as directed in Step 7 above, or we will not be able to view it even with the URL.
- If you’re working in Scratch 1.4, upload your program to the Assignment No. 6 File Submissions folder in the umlsoundthinking2016 account.
- Answer the reflective questions in the Google Form at:
https://docs.google.com/forms/d/19YMTBIVWZUPEPV-efE7_Lfn_LFiUMhPrUrhcZsPMp5w/viewform
To improve your grade, look over our comments on your responses to the reflective questions for our previous assignments. This is the only individual part of the assignment. Everything else is to be done with your partner(s).
Submitting Your Assignment for Grading
Top
For this assignment you and your partner are to submit one Scratch program.
- If you are working in Scratch 2.0, you do this by following the directions in steps 7 to 9 above and then entering the URL of your saved program on the Scratch website in the text box for Question 2 on the reflection form. This is a required text field in the reflection form, so both partners should simply submit the same URL. Please copy-and-paste the URL from your browser window rather than typing it yourself to ensure that it is correct.
- If you are working in Scratch 1.4, upload your program to the Assignment No. 6 File Submissions folder in the umlsoundthinking2016 account and just click the first radio button in response to Question 1 on the reflection form.
EACH of you is then to complete the Google Form at the URL shown in step 10 above.
- this is the individual part of the assignment, except that (as noted above) there are fields that all partners must fill out with the same URLs
- this form will give us all the information about your team that we need to grade your assignment
- this form is also where you will enter your responses to the reflective questions
How You Will Be Graded
Top
The two parts of this assignment will be evaluated on the following criteria.
- For the Program (15 points)
- Is the song implemented using lists?
- Can the song be played in any key?
- Can the key be changed without manually changing the value of a variable in the code?
- Is your program as short as possible?
- Did you compensate for some of the major timing issues?
- Did you add comments to the program to identify the major sections?
- For the Notes on what you did (5 points)
- Clarity — Could someone else reproduce your work from your notes?
- Comprehensiveness — Could you yourself reproduce your own work 6 months from now?
- For your responses to the Reflective Questions (5 points)
- Thoroughness — Did
you think about the various aspects of this assignment and their relation to music and computing?
- Effort — Did you leave this until the last minute or is it clear that you thought about what you wanted to write and put some effort into doing the writing?
- Professionalism — Was your writing and its formatting, grammar, spelling, etc. done professionally?