College Board Requirements

Row 1 (Purpose & Function):

  • For the workout log, you input your name, last name, workout, and the number of hours you've done that workout and the program is supposed to take that information and put it into a table that is right below the workout log.

  • The purpose of the program is for people to be able to record their workouts and helps them to be organized and keep track of their workouts so they can work towards a goal

  • The function of the program is that when you input the information in the form, the data is organized and put into a table right below it.

  • The input is your name, workout, the date, and the number of hours and the output is that information appearing on a table.

Row 2 (Data Abstraction):

  • The list will contain the information that was inputted

  • The name will probably be a class called workouts

  • The data in the list is whatever the user inputted into the form that they want added to their workout log.

Row 3 (Managing Complexity):

  • Again, the list will be the information that was inputted by the user (name, date, workout, hours)

  • The list manages complexity because there is only a numbered amount of places where every user has their information (lets say 4 places) instead of having countless number of variables for each user (if there were 50 people using the program, then having 50 lists, one for each person, would make it less efficient). The written work is still in progress

Row 4 (Procedural Abstraction):

  • Not sure what code segment I want to show for this part, but I will figure that part out

  • Like I said, still haven't figured that part out, but it will allow the user to actually be able to add onto the table so they can keep track of their workouts.

Row 5 (Algorithm Implementation):

  • Haven't finished the code for the workout log yet so that is still a work in progress as well.

  • Once the code is finished, then I will go into steps on how it works and figure out how to explain so someoe can replicate but not write an entire essay on it.

Row 6 (Testing):

  • First Call: The user inputs their name, workout, the date, and # of hours and submit

    • Conditions: It checks if the data is being added
    • Result: Data will appear in the table just below the form
  • Second Call: User enters something that is not accepted by the program (like numbers in the name entry)

    • Conditions: Checks if the data is valid and if it is invalid it will get rid of it.
    • Result: The program will return a message asking the user to correct their error.

My Part of The Project

screenshot

screenshot

This is the workout logg, where users can record their workouts and have a way to keep track of them and stay organized.

  • This allows users to input the information that is requested above, and then it is supposed to add onto the table below the input and should be saved (if the user would like) so it can keep accumulating
  • The form requests for the following:
    • name
    • Type of workout
    • Date of completion
    • number of hours of workout
  • when they submit it will be added onto the table
  • Users will be able to keep adding and also delete/edit the information they add whenever they want.

Code Plan

Frontend:

  • It will look like the one above
  • has a form that users will be requested to fill out with the information they want to add
  • there will be a table below that will keep adding rows based on what the user inputs
  • there might be a save button so when the user refreshes or exits, their work will still be saved
  • there is also a delete/edit button

Backend:

  • HTML was used to make both the form and the table
  • I will most likely have to use java script in order to add a table based on the impact of the submit button.
  • And we might need a data base or something to store the users data so there is a record of it.

Video Plan

In the video, the following will be shown:

  • Inputting name
  • Inputting type of workout
  • Inputting the date
  • Inputting the number of hours

The output:

  • all of the information that the user inputted will show up on the table