AppLab Quiz and Hacks
This is an activity that my partner and I completed using Applab by Code.org
Brainstorm for Program
My partner and I decided to make a simple quiz
Questions and Answers
Q1: What does SUV stand for?
A1: Sports Utility Vehicle
A2: Semi Utilitarian Veteran
A3: SUper Van
A4: Slightly Upset Volvo
Q2: Which unique number helps the manufacturer identify your vehicle?
A1: VIN
A2: License Plate Number
A3: MSRP
A4: Radiator
Q3: What part of ChrisFix's car failed in the 24 hours of Lemons?
A1: Blinker Fluid
A2: Piston Return Spring
A3: Piston Connecting Rod
A4: Camshaft
Final Result
Discoveries, Challenges, and Successes
- Block coding is a great introduction to a new language
- It takes a long time to figure out how to program something you have in your head
- There are various issues that come along with a theoretical plan
- I was able to program my quiz so that the first question would be graded and the user could move on to the next question, but from there, I had a lot of trouble continuing that loop until the third question was answered (EDIT: I was able to find a way for this to work using stacked buttons)
- Developing a good program takes a lot of trial, error, and debugging to make sure everything runs smoothly
- I was able to build the quiz successfully eventually, you can access it here or in the embed above
Program and Purpose
This program is a simple 3-question quiz about random automotive knowledge. It doesn't really have a purpose other than helping us experiment with AppLab and having something to submit for this hack
Data Abstraction
We used a data table with all of the question and answer values that we needed. We also figured out how to take values from that table and display them on the virtual screen using getColumn.
Managing Complexity
We originally were going to use button elements for the user to select an answer, but that would have made it a lot more complex to code, since they were able to select more than one choice at a time by default. Instead, we decided to use radio buttons, which only allow one selection at a time. This made it simpler to code, but also resulted in us having to figure out how to link those buttons to the choices they represent.
Procedural Abstraction
We utilized procedural abstraction in the Display function. This function displayed the question and the answer choices for a given problem (based on the parameter that is set when calling the function). For example, if the parameter is set to 0 and we call the Display function, it will display question #1 with its corresponding answer choices.
Algorithm Implementation
One algorithm that we programmed was to recognize which choice the user has selected and display different things in the answer indicator box after the check button is clicked based on if that choice is recognized as correct or incorrect.
Testing
After we finished a simple draft of the quiz, I asked another partnership to test it out and give us some tips. I also asked other people outside of class for feedback. One thing someone suggested was to add a start screen and an end screen. Another piece of feedback was that the user should receive a score at the end, so we implemented a start screen with a start button and an end screen that displays the score and a button to try again (which dumps the user back to the start screen).
Alternate App Idea
I think that programming an app where the user is able to create and store virtual flashcards would be interesting.