Checklist Feature Blog

---

What is it?

The Checklist Feature is an interactive tool designed to allow users to add, manage, and track checklist items efficiently.

Unlike the previous Analytics API, which passively collected data, the Checklist API provides direct user engagement by enabling CRUD (Create, Read, Update, Delete) operations on checklist items.

PPR

Data in table

Overview

My feature allows users to create, manage, and track checklists dynamically through an API, ensuring seamless organization and task management. The system processes online data streams in real time, efficiently handling checklist items while allowing users to interact with them through CRUD operations.

User Input & Submission

  • Users can create custom checklists with multiple items.
  • Each item can be marked as completed, edited, or removed.
  • Users can mark checklist items as completed or incomplete.
  • The data is stored and updated in real-time on an AWS-backed database for retrieval.

Backend Processing & CRUD Operations

  • Create: Users can add checklist items specific to their account.
  • Read: The system fetches and displays the user's checklist in real time.
  • Update: Users can mark checklist items as completed or incomplete.
  • Delete: Users can remove items they no longer need.
---

Features

  • Add Items: Users can input items to their personal checklist. Stored in database via a POST request.
  • Mark Items as Complete: Users can check off items via a PUT request.
  • Delete Items: Users can remove items via a DELETE request.
  • Fetching Items: A GET request retrieves user-specific checklist items.

Student-Developed Procedure (API Delete Method)

First

Student-developed procedure being called

Second

Initializing Data

Second ---
# AP CSP MCQ Retrospective & Improvement Plan
AP CSP MCQ Performance Chart
---

Performance Analysis

After reviewing my AP CSP Practice Exam 1 results, I have identified key areas of **strength** and **improvement**. My goal is to build on my strong foundation while improving weak areas to maximize my AP exam score.

---

Strengths: Areas Where I Excelled

  • Data Representation & Storage: Strong grasp on binary numbers, data compression, and using programs with data.
  • Control Structures & Algorithms: High performance in conditionals, loops, and algorithm development.
  • Networking & The Internet: Deep understanding of Internet structure, fault tolerance, and parallel computing.
  • Computing Ethics & Security: Mastery of computing bias, cybersecurity risks, and legal/ethical concerns.
---

Areas for Improvement

  • Debugging & Error Correction: Need to improve on identifying and fixing coding errors efficiently.
  • Library & API Usage: Struggled with utilizing built-in libraries and understanding documentation.
  • Data Abstraction: Need to practice variable usage and function abstraction for cleaner, more efficient code.
---

Action Plan for Improvement

To improve before the final AP CSP exam, I am working to the following steps:

  • **Targeted Debugging Practice:** Solve coding exercises that require finding and fixing logical errors.
  • **API Documentation Review:** Work with APIs like Python’s `math` and JavaScript’s `fetch()` to improve function usage.
  • **Refactoring Code:** Improve variable usage and abstraction in my projects to follow best coding practices.
---

Final Thoughts

This retrospective helped me recognize both my strengths and weaknesses. By focusing on **debugging, API usage, and algorithm efficiency**, I can ensure that I’m fully prepared for the AP CSP exam.

With **consistent practice and a strategic study plan**, I am confident that I can strengthen my understanding and **achieve a top score on the AP CSP Exam!**

Corrections

---

Logic Circuit Analysis

Question: The diagram below shows a circuit composed of three logic gates. Each gate takes two inputs and produces a single output. For which of the following input values will the circuit have an output of true?

Answer: C → A = false, B = true, C = true, D = true

Why: The OR gate will produce true, and the first AND gate will produce true. Since both inputs to the second AND gate are true, the circuit's output will be true.

---

Robot Movement Analysis

Question: Do Program I and Program II correctly move the robot to the gray square?

Answer: Both Program I and Program II correctly move the robot to the gray square.

Why: Both programs successfully navigate the robot through the grid using correct movements and rotations.

---

Code Correction

Question: A student wrote the following program to remove all occurrences of the strings "the" and "a" from the list wordList. What correction is needed?

Answer: Inserting index ← index - 1 between lines 7 and 8.

Why: This ensures that the index is decremented after checking each list element, avoiding skipping elements.

---

Binary Representation

Question: Which of the following can be represented by a sequence of bits?

Answer: An integer, an alphanumeric character, and a machine language instruction.

Why: All digital data is ultimately represented in sequences of bits.

---

Spinner Simulation

Question: Which of the following code segments can be used to simulate the behavior of the spinner?

Answer: C

Why: The code correctly models the probability distribution of the spinner outcomes.

---

Metadata Storage

Question: Which of the following is least likely to be stored as metadata for a black-and-white image?

Answer: A duplicate copy of the data

Why: Metadata typically describes the data rather than duplicating it.

---

Course Grade Calculation

Question: How can a student's course grade be calculated from individual assignment scores?

Answer: finalGrade = Sum(scores) - Min(scores); finalGrade = finalGrade / (LENGTH(scores) - 1)

Why: This method accounts for dropped lowest scores before calculating the average.

---

Simulation Complexity

Question: How does removing variables affect the runtime of a simulation?

Answer: The updated model is likely to decrease runtime.

Why: Simpler models require less computation, reducing runtime.

---

Binary Search Requirement

Question: What condition must be met for a binary search to work?

Answer: The values in numList must be in sorted order.

Why: A binary search requires a sorted list to function correctly.

---

Bit Allocation

Question: What is the minimum number of bits needed to assign unique sequences to 100 staff members?

Answer: 7 bits

Why: 7 bits allow for up to 128 unique sequences (2^7 = 128).

---

Algorithm Complexity

Question: Which of the following algorithms run in reasonable time?

Answer: I, II, and III.

Why: All three algorithms run in polynomial time, which is considered reasonable.

---

Execution Time Comparison

Question: How does the execution time compare between Version I and Version II?

Answer: Version II requires approximately 5 more minutes than Version I.

Why: Version II makes more calls to GetPrediction, increasing execution time from ~4 minutes to ~9 minutes.