Computer Science Journey: 5 Tips to Prepare Yourself in High School
Introduction
Hey, fellow high schoolers and CS enthusiasts! My name is Andrew, a current junior at Moanalua High School, and I would like to share with you my journey through computer science. My experience with Inspirit AI has been a fascinating journey. Throughout the entire program, I was able to learn about all the different ways Al will be able to potentially assist us. AI can perform such a wide variety of subjects, even right underneath our noses. Finance, automation, art, self-driving cars, recommendation systems, and even facial recognition on your phone are all ways AI is or will be helping us with. In my current high school career, computer science and finance are my main study focuses. I enjoy the predictability that both subjects are able to provide.
In this blog post, I have 5 must-do recommendations to prepare yourself in high school for your exciting computer science journey. Your questions ranging from “What might my experience in college be in CS?”, “Are there any technical skills I should develop before entering college?”, and “How would I make myself stand out?” will be answered throughout this blog!
What Does CS Mean to You?
Before starting your computer science journey, really hone in on your why. It could be anything from wanting to make money or wanting to make your own game. Identifying your goal will help keep you motivated no matter what difficulties you face. Learning and entering the computer science field is extremely rigorous. There is always going to be something new to learn and utilize in every situation, such programming languages, algorithms, and concepts, etc.
After you find the purpose hidden beneath your surface, think about what specialization you might want to explore. Because computer science can be applied to so many different areas of study, the number of specializations can be overwhelming. Just in AI, there’s natural language processing, machine learning, recommendation systems, neural networks, and so much more!
Once you decide on your possible specialization, do research on that topic. Fully immerse yourself and try to obtain as much information during your high school career to put yourself one step ahead of everyone else. Exploring prior will save you the hassle of changing specializations over and over again during college.
Building a Strong Foundation
By having a strong foundation in computer science, you will be able to have that extra step above everyone else in your computer science journey. It’s important to make sure you fully understand the basics. This could range from sequencing, syntax, or even beginner concepts like loops and arrays. Nailing down the basics will let you focus on learning the newer concepts introduced to you in university.
Some resources that are often recommended are Khan Academy, edX, and Stanford Online. These programs are free and easily accessible to anyone!
Learning how to utilize software programs, such as GitHub and/or Linux, would help you tremendously. In universities and workplaces, GitHub is a common occurrence for coding collaboratively. Building up these hard skills will reduce the risk of confusion for concepts that are so common and widely utilized, allowing you to turn your full attention towards specialization or new concepts.
Soft Skills to Develop
Throughout your computer science journey, you need to grasp these skills. I have summarized the major soft skills into 4 different pillars.
The first pillar would be teamwork. As with any other career pathway, you need to communicate, coordinate, and cooperate with your team for everyone to be successful in the field. In computer science, you will constantly ask your members for assistance because you may experience frustration when trying to find the error in your code. Having multiple perspectives on the same product will ensure that the product is of the utmost quality.
The second pillar is to develop analytical skills. In any STEM career, you will need to analyze the problem and create a plan of attack. Brainstorming, flow charts, and draft coding is all a part of developing that plan. Having a clear and concise idea provides your team with a goal to strive for. Later along in that process, attention to detail will come into play. Understanding the problem and troubleshooting are inevitable. One tip that I have is to not be afraid of making mistakes along the way. Mistakes are another form of improvement. Learn how to fail fast and spring back into action even faster.
The third pillar is to improve your time management. In computer science, tasks are bound to be challenging to solve. Some coding sessions might be hours long, sitting at your desk. As a developer, you are tied to a schedule and deadlines. If you aren’t able to reach that deadline with your current timing, you would have to work overtime to get that software completed and ready for use. Start early or as soon as possible to prevent or reduce the chances of this scenario happening to you. Don’t forget to allow extra time for troubleshooting as well, since this is typically the most time-consuming and frustrating process.
The fourth and final pillar is to have incredible perseverance. As mentioned numerous times in this blog, you will encounter issues as you advance into a project. Having perseverance is to stay strong even during hardships. Think of it as having armor or resistance to problems. This armor is necessary for staying motivated and on task regardless of issues or changes.
Don’t be Afraid to Ask for Help
During your computer science journey, it is crucial to make friends and important connections with your peers. Both you and your friends/peers need to support each other to be successful in tackling issues. As mentioned previously, people in the computer science industry will always experience errors. By having another perspective on the issue, they have a fresh mind to problem-solve with. Sticking together gets the problem resolved faster and provides those involved with more opportunities to grow and learn alongside you.
Taking Opportunities
Don’t be afraid to tackle difficult opportunities in your computer science journey. Make sure you won’t regret not taking that program and gain experience. Since computer science is inherently an online skill, there are so many accessible learning opportunities waiting for you to discover! If you are just starting out fresh and completely new, I would recommend programs such as Grasshopper, Code with Google, or Code.org! Grasshopper and Code.org focus on learning Javascript and should form a nice foundation for your basics.
Conclusion
Of course, these are all potential learning opportunities in your computer science journey. Having 5 new points of expansion is great for improving yourself towards the goals you wish to achieve. By finding your purpose in computer science, your goals will be much easier to actualize and reach for. However, without the proper basic foundation and adequate soft skills, that process might be halted along the way. But with the numerous opportunities and companions around you, the learning potential is through the roof as long as you decide to utilize those to their advantage.
In college, your experience will be hectic at first, adjusting to new experiences and the potential learning curve. You will encounter difficulties, as with any new experience, but those around you will help alleviate that pain off your shoulders. Computer science is a vast and expansive sea, just waiting to be explored. I wish you a successful voyage in your future career!
Resources:
https://simpleprogrammer.com/prepare-computer-science-university/
https://medium.com/@felixthedev/what-can-high-school-students-do-to-prepare-for-a-computer-science-degree-750132d26f61
https://www.topuniversities.com/student-info/careers-advice/7-ways-prepare-computer-science-careers