Night @ The Museum
AP CSP Tri 2 Final Blog
- 5 Accomplishments
- Project Feature Blog
- How My Skills Rating Project Meets the AP CSP Big Ideas
- Skills Rating Project - AP CSP Performance Task
- How This Project Meets the AP CSP Requirements
- Missed Questions:
- Topic 1.4 (Skill 4.C: Identify and Correct Errors)
- Topic 2.1 Binary Numbers (Skill 2.B: Develop and Implement Algorithms)
- Topic 3.8 Iteration (Skill 2.B: Develop and Implement Algorithms)
- Topic 3.9 Developing Algorithms (Skill 1.D: Evaluate Solution Options)
- Topic 3.12 Calling Procedures (Skill 3.B: Develop Programs that Incorporate Abstractions)
- Topic 5.5 Legal and Ethical Concerns (Skill 5.E: Evaluate the Use of Computing Based on Legal and Ethical Factors)
- Topic 5.6 Safe Computing (Skill 5.D: Describe the Impact of Gathering Data)
- Plan:
- Night at the Museum - Project Highlights
- Next Steps
- Reflection: Individual and Project Performance
5 Accomplishments
1. Integrated Gemini API
- Created a chatbot that users could interact with.
2. Familiarized with Agile Methodology
- Created burndowns and standups.
3. Refined Frontend UI
- Changed the NAV bar and unified the 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
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.
Topic 5.5 Legal and Ethical Concerns (Skill 5.E: Evaluate the Use of Computing Based on Legal and Ethical Factors)
- 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
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 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