CS 107, Spring 2012
The midterm will consist of roughly 1/2 programming questions and 1/2 short answer (conceptual) questions. For the programming questions, you'll need to sketch the blocks for the app on paper, so be sure and practice this. You should also practice writing out answers for conceptual questions.
Here are some sample questions that will help you study for the test:
Describe why Android is considered more "open" than iOS.
Describe the architecture of an app from a programmer's perspective. What does an app consist of?
What type of events do mobile apps respond to? List an example of each type.
Define the term 'event-handler' in detail: what does one consist of? Where do conditional blocks fit in?
What is a function? What is a function call?
What is a parameter?
How is a function call parameter different than an event parameter?
What is a 'set' function? A 'get' function?
What is a variable? When do you need to define variables? Provide examples from the apps we've built.
What are conditional blocks? What is the test of a conditional block? What is a boolean?
How is a variable similar to a property? How is a variable different from a property?
Sketch the blocks for adding one to the score of a game (incrementing)
Sketch the blocks for playing some music when the user's score gets to 10 in a game like Mole Mash.
Sketch the blocks for placing an object randomly on the screen. What range is used for randomness in MoleMash for this placement and why?
How do you make a smooth animation that plays at 30 frames per second?
How do you make an object move horizontally across the screen? Diagonally?
How do you make an object move smoothly back and forth across the screen?
How do you make an object move smoothly half-way across the screen?
How do you make an object appear on the right edge of the canvas half-way down?
How do you control the speed of an object? What two data items might you change?
How do you let the user control the speed of an object?
How do you shoot a bullet into the sky starting from the nose of a moving spaceship? How do you place the bullet relative to the shooter?
How do you show a label countdown from 10 to 1, changing the number (label) each second?