Reflection on APCSP
After a whole school year completed, this is my reflection of moving on from CSP to CSA. In this blog, I will reflect on my experience with APCSP
My Reflection on APCSP
This was a very fun class to take and I learned a lot even if it was not necessary to know for the AP Exam. I enjoyed being able to work in a group, and even though I had a lot of trouble with backend this year, I still struggled through it and asked others for help.
Skills I have Obtained
Overall, I have learned a lot about Computer Science and obtained a numerous amount of skills from this class. I do highly recommend this class to everyone who is considering a STEM career even if their job will not require any Computer Science. Computer Science is just one of those things that people can learn to make their lives significantly easier, and by taking this class it can help people to learn a lot of technical skills and feel more comfortable with their computer. Even if they don’t need too much technical skills, AP Computer Science is a class that really challenges one’s general skills such as collaboration.
Technical Skills:
- How to connect a Frontend to a Backend
- How to fetch and create an API
- Incorporating HTML, CSS, and JavaScript
- Using Jupyter Notebooks
- Making Animations using CSS or JavaScript
- Familiarity with JavaScript and Python
- Components of Hardware
- Process of how a website is built and hosted
- Use of Artificial Intelligence and Machine Learning in Algorithms
- How to Sort with the Algo-Rhythmic dances
- Knowledge of the different Operating Systems and more comfortable with using both(MacOS and Windows), but prefer Windows
- How to develop a website
- Making a Database using SQLite and SQLAlchemy
- Implenting Object-Oriented Programming
- Using Data Structures such as Pandas and NumPy
- Organizing Data using RapidAPI
- Understanding how a Computer sends data
General Skills:
- Collaboration
- Communicating with other students and the teacher
- Seeking Outside Resources
- Problem-Solving
- Adapting to new situations and under different conditions
- Resilience
- Time Management
- Teamwork
- Critical Thinking
- Creativity
Highs and Lows from the Year
Over this year, I have had many highs and lows as the class went on. As the year progressed, most of my lows turned into highs as I learned new skills
Highs
I had a lot of highs towards the end of the year, because I knew a lot. I remember during Winter Break when I was so excited to make a deployment guide that I brought my computer to my friend’s house just so I could finish it. There were a lot of times during the year when we had an assignment and I was so excited to do it, I would focus on that rather than my other classes.
- I was able to be reintroduced to Computer Science
- 2,000+ Commits
- Review Pull Requests
- Working on a Deployment Guide with Azeem, Ethan, and Samit
- Making the Playground About Me Page
- Collaborating with Mr. Mortensen on ChatGPT Integration
- Using Github Copilot
- Organized Repositories
- Actively Participating in Group Project
- Constantly trying to learn
Lows
I had a lot of lows during the year, especially when the class started. I remember having a lot of trouble trying to catch up to the work because I had trouble getting my tools to work. Also my computer broke during Trimester 2 and I had to code on a chromebook resulting in being lost during the project and not being able to finish my CPT.
- Not having a working computer during the middle of Trimester 2
- Tool Setup
- Using Object-Oriented Programming
- Learning how to use SQLite
- Doing Assignments in Trimester 1
- Not sure how to complete all the hacks and saving it for the last minute
- Making CPT Feature
Future Plans with Computer Science
In the future, I plan on taking AP Computer Science A during my senior year, which is next year. I also do plan on continuing Computer Science during college just to learn more about it. Right now I am currently trying to make a presentable website completely from scratch without using a Jekyll Template or anything like that. I also really want to complete the Harvard CS50 Course over the summer. There are a lot of things I want to do with Computer Science, and I want to be proficient in Python, JavaScript, Java, and possibly C# or C++. I am also in Coding4Kidz where I can teach younger kids about JavaScript, Python, or Scratch. Recently, James has also asked me if I want to join him in teaching coding to younger kids by making a bot for Discord and get them excited for coding.
Future Plans in Education/Career
I am going to continue Computer Science in school, but I really want to have a career in Mechanical Engineering. In 10 years from now, I hope to see myself with a Bachelor’s Degree in Mechanical Engineering and having a job at a Technology Start-up Company or an automobile company like Rivian. I see myself working with a team of people where everyday is a new objective and not the same thing everyday, like maybe one day might be coding, another day might be designing a product with CAD or something similar. I also hope to get a Master’s degree in Mechanical Engineering, but I am not sure when that will happen preferably after I get a job. Although, I do not plan on doing Computer Science as a full-time job, I do plan on using it as a Mechanical Engineer to help me develop programs and algorithms to make my work life simpler.
Reccomendations for Future APCSP Students
I started my Computer Science journey all the way back in elementary school, but that was just with simple code blocks like Scratch and code.org. I mainly just tried to complete the minecraft levels on code.org, and it was only during 7th Grade when I got introduced to another dimension of coding. In 7th Grade, I started programming little robots called Spheros, and I started to make websites that looked very beginner, but I was proud of it. After 7th Grade, I continued doing a little bit of Python, and even going on to compete with other schools in Applied Mathematics. After taking an Introduction to Computer Science Class in 7th Grade, I mainly just used Scratch after that for personal projects. I also remember trying to get my brother and sister interested in Computer Science. Jumping to APCSP, I remember not knowing anything and before I even took the class I heard many people who already took it saying that if you want to do good, you need prior experience. I knew I had a little bit of prior experience, but that did not help me during the first few weeks of class. However, I ended that trimester with a 96%, and these are my recommendations for any incoming students.
For success in AP Computer Science and other areas of STEM, I would recommend completing everything on time and constantly asking questions about things to make sure you achieve mastery on the topics. Finishing an assignment on time is key to understanding something, I remember my computer broke for 3 weeks, and after I got it back I had a lot of work to catch up on and I had no idea how to do which had a huge impact on my grade.
Constantly asking questions is also very important, there is a ton of resources that you can use to make sure that you have grabbed mastery of the topics. You don’t need to have had years of prior experience like me; you just need to try your best to understand and work on each week’s work.
My best advice for this class is to just always come in with a positive attitude and being ready to learn with a positive mindset. If you put in the time and effort, you will be really successful and gain skills that you can use for the rest of your life