We used our minds well for this project.
The Multiplication Project was our first web-based application, using a website and designs rather than just Javascript code. It provides multiplication practice problems followed by multiplication study tables that are created based on factors that cause difficulties.
The takes user preferences for what factors to study -- Minimum Factor (Min), Maximum Factor (Max) -- and the number of questions that they want to answer before getting evaluated. Each question is a random multiplication problem. If the user get one right, there is a little response box that tells them so. Otherwise the box will tell them that they got the answer wrong, and what the correct answer is, should the same factors come up again.
After all the questions are done, a page tells the user how many questions they got right, and invites them to study multiplication tables based on their errors, within the range of minimum and maximum factors they asked for. Then they have the option of restarting the program over again to test their improvements after study.
Something that was easy for me to do was coding all of the HTML and building the pages, and to style the pages (CSS). However, it was very challenging to write the initial code, because it had many parts and used two-dimensional arrays. Then it was hard to get the part of the program that displays the questions on the website.
This project felt very up and down with difficulty. When we were building the pages, that was a breeze. However when I got to coding to display the changing numbers, I was down most of the time, and was very confused on what a possible solution to my problem was. I the debugging I learned to do will help on my my next web app, a Role-Playing Game (RPG).
My multiplication training program is here. I hope it helps you learn your times tables!
- Aiden Kusmierczak
This was a culminating project, so had many learning target components from HS Computer Science:
LT 2: Algorithms
6-8.CT.d.1 Individually and collaboratively compare algorithms to solve a problem, based on a given criteria (e.g., time, resource, accessibility).
9-12.CT.b.2 Represent algorithms using structured language, such as pseudocode or flowcharting.
LT 3: Programming and Development
6-8.CT.d.3 Create a program, individually and collaboratively, that implements an algorithm to achieve a given goal.
9-12.CT.d.5 Use appropriate conditional structures (e.g., IF-THEN, IF-THEN-ELSE, SWITCH)
9-12.CT.d.6 Use appropriate looping structures (e.g., FOR, WHILE, RECURSION) in programs.
9-12.CT.d.11 Engage in systematic testing and debugging methods to ensure program correctness.
9-12.CT.d.2. Decompose a problem by defining functions, which accept parameters and produce return values.
9-12.CT.c Create an appropriate multidimensional data structure that can be filtered, sorted, and searched (e.g., array, list, record)
LT 10: Application Development
9-12.CT.d Use a development process in creating a computational artifact that leads to a minimum viable product and includes reflection, analysis, and iteration