Skip to the content.

AP CSP Experiences and Accomplishments

My experiences and accomplishments throughout the year of AP CSP, with a focus on Poway Auto (my project from trimester 3)

Poway Auto Overview

Poway Auto is the name of the project that I created in trimester 3, and it is something that I am very proud of. It is a web page with full-stack features that optimizes routing and gives you multiple, accurate time estimates for multiple routes using data from SANDAG open data portal, localized for the city of Poway. I built this project working with Pilot City in an attempt to not only win an internship, but also create something impactful.

Key Tools

  • GitHub Pages (frontend deployment)
  • AWS (backend deployment)
  • Flask (API’s and databases in the backend)
  • Machine Learning (predicting fastest routes and providing accurate time estimates)

My Contributions

  • Planned out project features
  • Developed backend database for favorite locations
  • Created daily routine feature for users’ day-to-day convenience
  • Found the dataset that we used with machine learning
  • Adjusted feature plans and helped manage our team

Skills I Learned Throughout the Year

Programming Languages and Skills

  • Languages:
    • Python
    • JavaScript
    • HTML
    • CSS
  • Skills:
    • Programming Logic and Methods
    • APIs (backend creation and calling them from frontend)
    • Databases and other data storing methods (like local storage and simpler things like lists, dictionaries, etc.)

Frontend Development

  • HTML (for the actual elements)
  • CSS (to style the elements)
  • Tailwind (to style the elements and make them responsive)
  • UI Updates
  • Embedding (such as a Leaflet map)

Backend Development

  • APIs (creation and calls)
  • Databases (using SQLITe, creating them, updating them, using specific elements from them)
  • Persistent Storage (with the above two methods)
  • Flask Routing
  • AWS Deployment (for 24/7 access)

Team Practices

  • GitHub (creating, forking, managing a repository, git commands such as git pull, git stash, and git pop for multiple people to work on the same repository at the same time, descriptive commit names)
  • Sprints, Live Reviews, Iterative Development (organization, ensuring smooth and streamlined progress, fixing mistakes or shortcomings early on so that it doesn’t become a huge issue later, being able to present effectively and efficiently)
  • Project Management and Planning (using Figma, KanBan boards, and other methods to plan out a project and ensure that everyone is on task)

Certificates, NFTs, and Why I Earned Them

Certificates

Foundation

  • Tools Basics: I thoroughly learned many commands and ways to effectively use Ubuntu, the Terminal, and Git commands (like the commonly used git stash, git stash pop, and git pull), learned how to write descriptive commit messages to help myself and my team, and overall learned to be organized and work together with these tools.

  • GitHub Pages: Using GitHub, I built a fully functional frontend using tools like HTML, JavaScript, and CSS, and used GitHub Pages to deploy it for it to always be accessible. On top of this, I also ensured that it was always updated with the latest features and changes, and fully checked every change before committing it.

CSP

  • Data Analysis with Python: I used python for every backend file, in each method I created, for every API, for every database, and also using pandas to clean and use parts of datasets with machine learning, and I also learned a lot about saving user data and creating test data that isn’t just 123, but an actual example of something a user would enter on top of analyzing data.

  • Deployment - Linux/Cyber concepts: I deployed a backend with Ubuntu, AWS, and other smaller parts such as Flask and NGINX to make sure the backend was always accessible and ready to be used. I also made sure that it was secure, converting the web page from HTTP to HTTPS.

NFTs

Foundation

  • Personalized Website: Over the course of the year, I have made not one, not two, but many websites with unique frontends, personalized features, and also kept my own personal website updated, containing my initial work as well as my experiences and progress throughout the year. I made sure to make new UI features that make things more convenient for users, and also made sure to have varying yet consistent styles and colors throughout pages.

CSP

  • Innovative Cybersecurity Tool: I have worked diligently to not only have a feature be functional, but also test error cases and make sure to handle them properly, providing relevant information on top of it to make issues easy to identify and fix, created methods to authorize requests and block unauthorized requests, prevented something crashing or breaking due to an invalid input, and overall made sure everything was secure.

Homework Success

In AP CSP, we have done a lot of team teaches and homework from those team teaches. In my opinion, this method of creating your own lesson, your own homework, and your own ways to engage the audience was extremely helpful. Also, homework from other teams taught me a lot but also wasn’t very time-consuming, so it was overall a great experience with a lot of learning opportunities (and extra credit).

In these homeworks, I always made sure to try my best to complete it and go beyond, and I also helped a lot in creating our team’s homework, both in trimester 1 and 3.

Project Showcases (N@tM)

In AP CSP, showcasing our code and projects was a major portion, and we did this during live reviews but also heavily in N@tM. At N@tM, we presented our project in front of parents, students, and anyone else who came by, and this was very helpful to learn how one pitches/presents a project, better public speaking, and also how to answer questions on the spot. At each N@tM, we would come to school slightly before our shift, wait for our turn and get set up, and then showcase our project to anyone interested who came by (often Weston’s parents).

My Final Reflection of the Year

Overall, I have had a lot of fun in AP CSP, and I have experienced an amount of growth unknown to me. At the start of the year, I was shy, clueless, and terrible at working with others and presenting. However, after having the opportunity to work on various engaging projects and being stimulated on a daily basis, I have improved a lot with both my technical skills and understanding and my ability to talk to others and effectively work with them. I have also earned credentials and NFTs that serve as a testament to my growth. I am proud of where I’ve come and also extremely grateful to Mr. Mortensen and the peopel around me for giving me the environment to be the best that I can be right now.

LinkedIn