Prototyping: Variables {
Grade
Deadline
If you ever need an extension, contact your instructor at least 3 days before the final deadline.
Objectives
- Get comfortable with variables
- Following the style guide for variable names
- Experimenting with how changing variables over time impacts a program
- Experimenting with which qualities of your program can be affected/controlled by variables
- Trying out basic interactivity with built in mouse variables
Deliverables
Three prototypes
Create three distinct, small prototypes that explore the material learned during this week. Each prototype should be build as a separate small project (starting with the template project each time). Make sure you play around with what is possible in terms of using variables to change things in your program while it is running. There are many area to explore:
- What parts of a program can you use variables in (especially which numbers in a program can be replaced with variables)
- What happens when you change the values in those variables over time?
- Can you use variables to change: positions? Sizes? Colours? Stroke weights? Rotations?
- What happens if you use different kinds of math to change the variables? Addition? Subtract? Division? Multiplication? Exponentials? Sine? Cosine? Tangent? Random? Perlin Noise?
- What kinds of meanings can be created through change in your program? Movement? Growth? Death? Life? Decay? Indecision? Time passing? Sadness? Joy?
Feel free to borrow from any of the example code you’ve seen so far in the course, but make sure to attribute in you code in the top-level comment. Remember that is your work that will be graded in cases, not starting code you may use.
One journal entry
Write a journal entry in your process journal reflecting on what you learned while making your prototypes. What surprised you? What is cool? What is difficult to understand? What do you hope someone else would get out of your work? Is there anything here you would be interested to develop further? Include at least one screenshot to illustrate your thoughts. (250 words)
How to start a prototype
Remember to take this basic steps to get going:
- Download the template project
- Rename that folder, maybe to
variables-prototype-1 or blueberry-swirl (you can always rename it later)
- Put that folder in your repository somewhere sensible like
cart253/prototypes/variables/
- Commit and push that change with a message like “Started blueberry swirl prototype”
- Keep committing and pushing as you go along, being sure to write about what you did and why you did it
Do that three times and you’ll have three prototypes.
What to submit
You should add the following to your class homepage (aka. cart253/README.md):
- A heading naming the assignment
- A screenshot and title for each prototype, followed by links to the running prototype and its code in your repository
- A link to your journal entry for this assignment
You will then only need to submit a link to your README.md via Moodle, see below.
Advice
- Start early. Don’t delay thinking about this. Start playing around immediately.
- Start small. Think of the smallest possible version of what you want to make and make that first. Once it works, you can start adding to it.
- Seek help. Ask for help as soon as you need it either to discuss what you want to do or to figure out a problem.
- Be stylish. Make sure you read the style guide.
- Be committed. Remember your grade includes your use of version control and writing good commit messages.
Submission
Submission will take place on Moodle. Go to the appropriately named assignment on the Moodle and then submit your work there.
Your submission should just be a plain text link to your website or to your README.md that contains the materials for this assignment, e.g.
Website version: https://pippinbarr.github.io/cart253/
or
Repository version: https://github.com/pippinbarr/cart253/
🔥 Make sure all your links work before you submit 🔥
🔥 Make sure that you have commented your project before you submit 🔥
Evaluation
Read the assignment rubric on Moodle for precise details.
}