5 Accomplishments

1. Integrated Gemini API

  • Created a chatbot that users could interact with.

2. Familiarized with Agile Methodology

  • Created burndowns and standups.
    Standup Example

3. Refined Frontend UI

  • Changed the NAV bar and unified the color scheme.
    Color Scheme 1
    Color Scheme 2
    Final Color Scheme

4. Created a Skills API

  • Implemented CRUD functionality.
  • API is user-specific, allowing self-evaluation and progress tracking.

5. Performed Deployment Setup

  • Assisted Aarush after Nikhil’s switch.
  • Encountered and resolved deployment errors:
    • Iterated through the deployment workflow.
    • Identified CORS issues preventing communication between the server and client.
    • Troubleshot outdated Nginx errors.
    • Resolved frontend fetch error by updating the Python URI.
    • Managed database updates by re-running db init whenever model files changed.

Project Feature Blog

How My Skills Rating Project Meets the AP CSP Big Ideas

🛠 Big Idea 1: Creative Development

  • My project solves a real-world problem by allowing users to track and rate their skills dynamically.
  • The user interface is interactive, making it easy to add, edit, and remove skills.
  • Creative problem-solving: The project helps users improve their skills over time.

📊 Big Idea 2: Data

  • The project collects and organizes data, allowing users to input and modify skill ratings.
  • Data abstraction: Skills are stored in a structured format (list, table, or database).
  • Users can update and delete skills, demonstrating data management.

đŸ€– Big Idea 3: Algorithms and Programming

  • Custom functions like addSkill() process user input and update the UI.
  • Uses selection (if-statements), iteration (loops), and sequencing to manage skills dynamically.
  • Event-driven programming: Functions execute when users interact with buttons.

🌐 Big Idea 4: Computing Systems and Networks

  • Frontend communicates with a backend API, demonstrating networking concepts.
  • Uses HTTP requests to store and retrieve skill data from a server.
  • Shows how distributed computing enables data management.

🌍 Big Idea 5: Impact of Computing

  • The project helps users track progress and manage skill development.
  • It could be used in education, career development, or HR systems.
  • Shows how computing can improve productivity and organization.

đŸ”„ Summary

✅ Creativity – Solves a real-world problem.
✅ Data – Uses structured data storage.
✅ Algorithms – Implements functions for skill tracking.
✅ Networking – Uses API for data persistence.
✅ Impact – Helps users improve and organize their skills.

This project demonstrates all five AP CSP Big Ideas in a meaningful way! 🚀

Overview of the Skills Feature

  • The Skills Feature in Pawnsy enables users to manage their skills with full CRUD operations, ensuring they can Create, Read, Update, and Delete skill entries.
  • Each user has their own data stored in a list, meaning skills are stored in a user-specific table within an SQLite3 database.
  • The implementation consists of both frontend and backend components for a seamless experience.

Core Functionalities

  • Algorithm: The feature follows a structured algorithm where user input triggers database operations, ensuring each skill entry is properly handled.
  • Procedures: Defined procedures handle adding, updating, and deleting skills, ensuring organized program logic.
    • Each procedure takes parameters such as skill name and proficiency level to execute database operations correctly.
  • Selection: Selection statements check if a user has entered valid skill data before saving it.
  • Iteration: Iteration is used to retrieve and display all skills associated with a user efficiently.

Program Functionality & Output

  • Input: Users enter skill name and proficiency level.
  • Processing: The system executes procedures to store or update skill data in the database.
  • Output: The updated skill list is displayed in the user interface, allowing modifications as needed.
  • Program code segment: The backend consists of a structured code segment that handles database queries and ensures users only access their own data.

Security & Data Integrity

  • The collection type used is a structured database table that organizes skills per user.
  • List being used: Each user interacts with their own list, meaning their skills remain private and separate from others.
  • Student-developed procedure/algorithm: The core logic for skill management is custom-built, leveraging student-developed procedures and algorithms to handle data operations.

Conclusion

  • The Skills Feature effectively utilizes iteration, selection, sequencing, and procedures to create a robust, interactive experience.
  • The program functionality ensures that user data is securely stored and can be efficiently modified.
  • By implementing these computer science principles, Pawnsy provides an intuitive and structured approach to managing user skills.

Skills Rating Project - AP CSP Performance Task

How This Project Meets the AP CSP Requirements

Input Mechanism

  • The program takes input from the user through an input form.
  • Users can enter a skill name and its corresponding level (1-10).

Use of a Collection (List)

  • The project uses a list (or database) to store skill names and their corresponding levels.
  • Data is fetched from a backend API and displayed dynamically in a table.

Procedure with Parameters and Algorithm

  • The addSkill function is a student-developed procedure.
  • It:
    • Accepts user input (skill name, skill level).
    • Calls getUser() to fetch the current user ID.
    • Sends a POST request to store data in the backend.
    • Uses sequencing (step-by-step instructions), selection (conditional checks for errors), and iteration (loops through fetched data).

Function Calls

  • addSkill() is called when the user submits the form.
  • fetchSkills() is executed to retrieve and display stored skills.

Output Mechanism

  • The program provides visual output:
    • A dynamically updating table displaying the skills.
    • Buttons for updating and deleting entries.

MCQ Reflection

Total Score: 59/67

  • Time spent: 02:48:34
  • Previous Score: 53/66

2018 Practice Exam MCQ Analysis

2020 Practice Exam MCQ Analysis

Missed Topics:

  • 1.4
  • 3.1
  • 3.12
  • 5.5
  • 5.6
  • 3.8
  • 3.9

Improved Topics:

  • 2.3
  • 3.1
  • 3.17

Reoccurring Topics:

  • 1.4
  • 3.1
  • 3.12
  • 5.5
  • 5.6

New Topics:

  • 3.8
  • 3.9

Missed Questions:

Topic 1.4 (Skill 4.C: Identify and Correct Errors)

  • Score: 5/7
  • Q64, Q66
  • Takeaways:
    Evaluate all options. I have a general idea of the answers because I got at least one question correct, but I need to be more careful when evaluating the second option and should read all choices rather than finding an option and moving on. Review questions 16, 39, 54, 58, 67, because I got those right, and rewatch 1.4 Daily AP Videos 1-3.

Topic 2.1 Binary Numbers (Skill 2.B: Develop and Implement Algorithms)

  • Score: 4/5
  • Q11
  • Takeaways:
    No need to convert everything to binary; you can just evaluate the triplet using process of elimination.

Topic 3.8 Iteration (Skill 2.B: Develop and Implement Algorithms)

  • Score: 6/7
  • Q18
  • Takeaways:
    Make sure you’ve clicked the right option.

Topic 3.9 Developing Algorithms (Skill 1.D: Evaluate Solution Options)

  • Q15
  • Takeaways:
    Program A initializes i to 1. Inside the loop, it prints i and then increments i. The loop terminates when i is greater than 10, which occurs after 10 is printed. Program A prints 1 2 3 4 5 6 7 8 9 10. Program B initializes i to 0. Inside the loop, it increments i and then prints i. The loop terminates when i equals 10, which occurs after 10 is printed. Program B prints 1 2 3 4 5 6 7 8 9 10.

Topic 3.12 Calling Procedures (Skill 3.B: Develop Programs that Incorporate Abstractions)

  • Q60
  • Takeaways:
    This code segment creates newList1, containing the unique elements from list1, and newList2, containing the unique elements from list2. These two lists are combined to form bothList. Any elements that appear in both lists are removed from bothList to form uniqueList. The correct count is the difference between the lengths of bothList and uniqueList. For example, assume that list1 contains [10, 10, 20, 30, 40, 50, 60] and list2 contains [20, 20, 40, 60, 80]. The first line of code creates newList1, which contains [10, 20, 30, 40, 50, 60]. The second line of code creates newList2, which contains [20, 40, 60, 80]. The third line of code creates bothList, which contains [10, 20, 30, 40, 50, 60, 20, 40, 60, 80]. The fourth line of code creates uniqueList, which contains [10, 20, 30, 40, 50, 60, 80]. Since bothList contains 10 elements and uniqueList contains 7 elements, the correct result 3 is assigned to count.

  • Q51
  • Takeaways:
    Creative Commons licensing allows copyright owners to specify the ways in which their works can be used or distributed. This allows individuals to access or modify these works without the risk of violating copyright laws.

Topic 5.6 Safe Computing (Skill 5.D: Describe the Impact of Gathering Data)

  • Q48
  • Takeaways:
    Phishing is a technique that is used to trick a user into providing personal information. In this case, the user is tricked into providing a username and password to an unauthorized individual posing as a technical support specialist.

Plan:

Revise AP Daily Videos and Read Fiveable Study Guides on:

  • 1.4
  • 3.1
  • 3.12
  • 5.5
  • 5.6
  • 3.8
  • 3.9

Night at the Museum - Project Highlights

Striver - Rayhaan’s Group

  • A goal-setting and motivation app aimed at helping users track their progress.
  • Featured clean design and strong color choices, enhancing the user experience.
  • While the homepage felt a bit underdeveloped, the group demonstrated a clear technical understanding.
  • Answered technical questions confidently, showing depth in their project knowledge.

Binary - Manahil’s Group

  • Developed an interactive platform for binary practice.
  • Kept the audience engaged with a high-energy presentation.
  • Included fun and challenging quizzes to test knowledge.
  • Encouraged users to revisit and improve answers for a better grasp of concepts.

FrotByte - Risha’s Group

  • Created an immersive camping and national park experience.
  • Integrated a content moderation system within a seamless UI.
  • Designed with usability in mind, ensuring an intuitive and user-friendly interface.

TakeAByte - Yuva’s Group

  • A food-based project that generates randomized recipe ideas.
  • Featured an interactive cuisine wheel to let users explore different cultural dishes.
  • Showcased a strong focus on creativity and dynamic recipe suggestions.

Aadi’s Group - Travel Planner

  • A travel-focused app, primarily centered on Paris vacations.
  • Stood out with high-quality images and well-organized content.
  • Featured a location-based tool that provides weather updates and clothing recommendations.
  • The Paris page had bright purple accents, which could be made more consistent with the overall design.
  • Delivered a captivating presentation, keeping the audience engaged throughout.

LittConnect - Ahaan’s Group

  • A book-lover’s hub that functions like Pawnsy, but for reading lists.
  • Offered a well-structured database for users to build and manage personal book collections.
  • Designed with a literature-themed aesthetic, adding a unique touch to the user experience.

Pictures

Viewers Viewers Looking at other presentations

Next Steps

Want to pursue a career in medicine, but as a highschooler the closest thing towards the medical field is research and internships. Using my CSP skills I will start applying to various internship positions, and additionally expand on them. In the future I plan on taking CSA, most likely in my 12th grade. In college, I want to major in neuroscience, so I can use the knowledge I’ve acquired through CSP and CSA in highschool to apply for more higher level internships, and further my CS portfolio as I can begin using neural networks to understand how the brain processes information.

Reflection: Individual and Project Performance

Individual Reflection

  • Strengths:
    • Persistent—stay committed to solving problems even when they are challenging.
    • Calm—maintain composure under pressure, allowing for clear thinking.
    • Adaptable—quickly adjust to new challenges and learn from mistakes.
    • Innovative—think outside the box to develop creative solutions.
    • Organized
  • Weaknesses:
    • Limited coding knowledge—sometimes struggle with technical implementation.
    • Can be narrow-minded—occasionally focus too much on a single approach instead of exploring alternatives.

Project Reflection & Next Steps

  • Strengths of the Project:
    • Well-structured and organized approach to solving the problem.
    • Innovative features that enhance user experience.
    • Effective use of computer science principles to ensure functionality.
  • Weaknesses of the Project:
    • Some areas could benefit from additional refinement and testing.
    • Certain design or functionality aspects may need improvement based on user feedback.
  • Next Steps:
    • Expand coding knowledge to improve implementation skills.
    • Seek feedback to gain fresh perspectives and avoid narrow-minded thinking.
    • Refine project features and enhance usability based on testing results.
    • Continue iterating on the project to add more value and functionality.

Review Preperation

Review with Rayhaan

Review Grade

  • 5 points - 5 things you did over 12 weeks, Issues, burndown, presentation: 4/5 –> 0.9 + 0.9 + 0.9 + 0.9 + 0.9

  • 2 points - Full Stack Project Demo, including CPT requirement highlights, and N@tM feedback: 1.8/2 –> 0.9 On Demo, and 0.9 on CPT requirements, I could be more specific

  • 1 point - Project Feature blog write up, using CPT/FRQ language: 0.9/1 –> Should bold the language, and use explicit examples

  • 1 point - MCQ
  • 0.93 9/10

0.92/1

  • The 10th point comes from ability to impress me in reflection and looking forward (Retrospective).
  • 0.9 on retrospective
  • Taking extreme interests in other projects and people, ie N@tM reviews, chronicle event/interests, personalization
  • 0.9
  • Reaching out and helping someone new to you get Final Exam materials organized. Performing practice/preliminary live review with this new person or Ms Pataki. Met up with Rayhaan Sheeraj P5
  • Thinking what you will do next in CompSci, interests, classes, college, internships, career. -0.9, could be more explicit with the plan
  • Reflection on individual strengths, weaknesses -0.9 could be more detailed
  • Reflection on project by creating next steps plans, strengths, weaknesses, did not mention, but I would say that we want to fix the chatbot
  • Sending summary of what you will be talking about 24 hours in advance of Live review in DM
  • Yes
  • Include in summary honest self grade assessment on point related topics, including reasoning. -Yes
  • Being able to highlight all 10 points in 3 minutes of Live Review. -Yes, practice was 2:45

Average 0.91