World Of Genres

Senior Programmer
Project Overview
      The World Of Genres provides Spanish Reading content for two grade levels. It has 6 sections for both grades using 3 different themes. Each section teaches about 2 genres of writing and has a unique set of vocabulary words. They also feature 2 long and 2 short reading passages per section.
My Contributions
     As one of the senior programmers on the team I was tasked with developing the passage reader and quiz interfaces with Istation's proprietary tools and language. I also determined the bulk of the architecture for the project and how question data was handled, recorded, and scored.
During a quiz, students can navigate between passages and click on vocabulary words to see and hear the definition.

The Quiz

     Each quiz is 8 questions with each question having an assigned skill, but they are not all given at once. Students read a passage and are asked 3 questions, then read a second passage and are asked 3 more. After this both passages are unlocked and the final 2 questions will be asked. This presented an interesting problem, if a student does not perform well enough on the quiz they are assigned a "reteach" lesson, however their performance is based on whether they get at least 60% of the questions for 50% of the skills being quized. The skills and number of them being varied. Our existing API gathered all of this information, but dumped all question information together by skill in our user's knowledge base for use with another report making the data unreliable. Modifying it would not make sense as this was 1 of hundreds of scenes and the only one that needed this data.
      To solve this issue I designed a class to store very detailed question information in a KB location used only by this. It records details such as the section, if it is a reteach, the skill, and whether the answer was correct. Having this level of detail proved invaluable, as many of the "bugs" found were actually testers getting confused as to how they answered a question and inadvertently passing or failing due to the unique reteach criteria of this quiz.
A short passage, with highlights active. These were handled by code due to fonts not being consistently rendered on different devices causing unpredictable line wraps and size. The same code was used for the feedback highlights. The code allows for targeting text boxes by ID, and for targeting beginning and end points by strings. This allowed edits to be made to text without affecting the highlight targets most of the time. Also included was the ability to skip a given number of matching strings, a necessity given the poetry genre's repetition of phrases.
Example of one of the question feedback drop downs.

Quiz Feedback and Architecture

     This project also included unique student feedback for every quiz question. Each feedback statement had to be built and timed by hand by designer. Comprised of text, pictures, and audio these included text highlights that had to be synchronized with the audio. With each section having a quiz of 8 questions and 8 reteach questions, and 6 sections per grade we had 192 questions. Meaning these question feedback assets are a massive chunk of data. Assets had to be stored in or referenced by other files in order to be downloaded before starting a scene, so we needed a way to inform the runtime what to download. For this I decided to treat regular lessons and reteaches as separate, each getting their own population file with question data. Since the reteaches shared a long passage with their sister lesson we made the passages their own files as well. This allowed us to me merely set up a link to the needed passage files in the section population file.