Because this is the project we are submitting for the CB CPT, each person’s section of the project must meet all requirements for the CPT. It should include all the requirements, like we have been grading in our previous blogs.

For my group’s CPT, we are going to create a website that helps students manage their school and productivity life, to help high achieving studets. The intended audience is high school students specifically. Personally, I’m going to be working on the “MyDay” portion, which is where users will enter in their tasks and ETA, and then the system will output and estimated bed time.

In my writeup and video, I will explicitly say the program purpose and functionality, which I have already planned out and described. I will be able to test the program, inputting different tasks and estimated times. I will also be able to go in-depth to describe the algorithms that I’ll use, how complexity is used to manage lists (since mine is a todo list, lists will be essential), and how my backend uses many complex program algorithms.

In the video, I will show inputting different tasks and show how the Estimated Time changes.

Row 1: Program Purpose and Function Video shows:

  • Input: inputting tasks and their times
  • Program Functionality: checking off tasks and seeing the time change, also showing the motivational quotes to inspire the user to continue to be productive
  • Output: Estimated sleep time

Written response:

  • Overall purpose: allow the user to achieve maximum productivity and sleep as early as possible
  • Video functionality: shows inputting tasks, checking off tasks, and the estimated time changing

Row 2: Data Abstraction

  • (Code) List: list of task names and times in the backend
  • (Code) List Usage: formatting the list into the separate tasks in the frontend
  • name of variable: tasks and times
  • data: list of the tasks the user inputting and the list of times the tasks will take, also inputting by the user

Row 3: Managing Complexity

  • (Code): frontend code that shows cycling through the list and displaying the tasks on the html
  • Manages complexity: would be extremley hard to individualliy send the tasks and times

Row 4: Procedural Abstraction

  • (Code): procedure that sorts the tasks by greatest to least time
  • (Code): above procedure being called
  • Procedure functionality: the procedure is meant to sort the tasks by greatest to least time so the user can see what will take the most time

Row 5: Algorithm Implementation

  • (Code): Algorithm of sorting
  • Explanation: explain how the sorting algorithm sorts a 2d array

Row 6: Testing

  • Put in different tasks with different times and press the sort by time button
  • Describe how the times vary and the tasks will be sorted by the times
  • The result of the call will be the sorted tasks by the times, show that the frontend takes this and sorts it