12 answers
Updated
1738 views
What can I do in high school to prepare for a career in computer science?
I am a high school student and I want to go into a career in programming or data science and I am wondering if there is something I can do while I'm still in high school to prepare. What kind of internships or independent studies would help me get into a good college and later job opportunities? What colleges should I look into for a computer science degree?
12 answers
Updated
Shirmay’s Answer
I think the suggestions given are really good. I suggest spending time on Math and English, especially reading and writing, to boost your communication skills.
Also, try to find out what you love doing the most. When you enjoy something and work hard at it, you'll do great and stand out.
Also, try to find out what you love doing the most. When you enjoy something and work hard at it, you'll do great and stand out.
Updated
Oscar’s Answer
Enjoy high school to the fullest!
Since you love technology, here are some tips to make studying Computer Science more enjoyable:
- Consider taking advanced math courses. You don't need to go as far as precalculus, but learning logic and structured problem-solving can be really helpful.
- Try learning another language. Computer Science involves both math and language, so understanding a second language can make programming easier to grasp.
- Work on storytelling skills. Being able to explain complex topics simply will help you succeed.
- Participate in sports or join clubs. Teamwork is important, and learning to work well with others is crucial.
- Discover a passion outside of Computer Science, like languages, sociology, or psychology. Computer Science can be applied to many fields, so having a specialized interest can help you stand out.
Since you love technology, here are some tips to make studying Computer Science more enjoyable:
- Consider taking advanced math courses. You don't need to go as far as precalculus, but learning logic and structured problem-solving can be really helpful.
- Try learning another language. Computer Science involves both math and language, so understanding a second language can make programming easier to grasp.
- Work on storytelling skills. Being able to explain complex topics simply will help you succeed.
- Participate in sports or join clubs. Teamwork is important, and learning to work well with others is crucial.
- Discover a passion outside of Computer Science, like languages, sociology, or psychology. Computer Science can be applied to many fields, so having a specialized interest can help you stand out.
Updated
Allan’s Answer
Good answers above. The most important courses to focus on now are English and math. English is very important to be able to read problems and communicate to others. High school math is important as a foundation for future math courses.
Think about what you might want to use computer science to do and take courses in these areas (e.g., science, physics, chemistry, biology) to explore your interests. Many people use computer science to solve real world problems for their companies. Only a few focus on researching computer science.
Does your high school offer computer science courses like Avin mentioned above. If yes, take as many of them as you can. If not , let me know and I'll help you get started. I've helped teach and mentor these courses.
Think about what you might want to use computer science to do and take courses in these areas (e.g., science, physics, chemistry, biology) to explore your interests. Many people use computer science to solve real world problems for their companies. Only a few focus on researching computer science.
Does your high school offer computer science courses like Avin mentioned above. If yes, take as many of them as you can. If not , let me know and I'll help you get started. I've helped teach and mentor these courses.
Updated
Onur’s Answer
In addition to other advices above, I suggest you start experimenting with a programming language you know. Dive deeper into it and create fun projects that interest you. Maybe you want to keep track of tasks, have a simple game idea, or enjoy solving logic puzzles. Write code that helps you organize, entertains you, or impresses your friends. These projects will be your own creations and will help you grow.
As you learn, you'll discover new technologies and tools that will take you further. There are plenty of free resources to learn on your own, and it works best if you're motivated and enjoy what you're doing. If you start learning software development before college, you're likely to have a great experience later on.
As you learn, you'll discover new technologies and tools that will take you further. There are plenty of free resources to learn on your own, and it works best if you're motivated and enjoy what you're doing. If you start learning software development before college, you're likely to have a great experience later on.
Updated
Emily’s Answer
I would ensure that it actually is something you want to do first. See if you can find an internship. When I was in high school, I made a cover letter and resume to send to local start-ups. I used Linkedln to find the CEO/CTO's name and then guessed their email till I got it correct and asked if they would be willing to give a high school student an internship. I think I sent out ~100 emails, had 10-15 respond, got ~5 interviews and 1 company gave me an offer! I made good money that summer, got experience, and learned early what a career in tech looks like. Getting an eye into the world you want to join early ensures that you don't waste time/energy doing something you discover you hate (though any learning is valuable still in the long run).
Updated
Wong’s Answer
There are several things you can do to build a strong foundation. First, you should focus on taking math and science courses, especially ones that involve problem-solving, like algebra and calculus. These subjects are important because computer science often involves logical thinking and mathematical skills. Additionally, taking any computer science or coding classes offered at your school is a great idea. If your school doesn't offer such classes, you can learn on your own through online platforms.
Getting hands-on experience through internships, volunteering, or independent projects will also help you stand out. You can look for internships at tech companies or even non-profits that need tech support. Some tech companies offer virtual internships, which could be a good fit.
For college, you can look into schools with strong computer science programs like Stanford, MIT, or Carnegie Mellon. However, there are also many excellent state schools and smaller colleges with great programs. When choosing a college, you need to consider factors like the strength of the faculty, internship opportunities, and the school's tech culture. Hope this helps.
Getting hands-on experience through internships, volunteering, or independent projects will also help you stand out. You can look for internships at tech companies or even non-profits that need tech support. Some tech companies offer virtual internships, which could be a good fit.
For college, you can look into schools with strong computer science programs like Stanford, MIT, or Carnegie Mellon. However, there are also many excellent state schools and smaller colleges with great programs. When choosing a college, you need to consider factors like the strength of the faculty, internship opportunities, and the school's tech culture. Hope this helps.
Updated
Chris’s Answer
Great question!
For high school students and those early in career, my advice is to show me. Show me why you're interested, what are you unique vs others, why are you interested in computer science.
One idea is to learn by learn by doing:
Coding/demo path
-- With the power of the internet there is so many resources available to learn how to code e.g. https://www.lumiere-education.com/post/10-free-coding-programs-for-high-school-students
-- You may be able to signup/use https://education.github.com/pack
-- Use no code tools like: https://lovable.dev/ , https://github.com/features/spark
Wireframe/designer path
-- Here are some free wireframe tools you can use Miro, Canva, Wireframe.cc, Figma
Essentially experiment, demonstrate interest, show why you're unique.
Think about having your first interview, or your application to higher education. What can you show/demonstrate that shows why you're generally interested in ICT. Any of the above is within reach,
For high school students and those early in career, my advice is to show me. Show me why you're interested, what are you unique vs others, why are you interested in computer science.
One idea is to learn by learn by doing:
Coding/demo path
-- With the power of the internet there is so many resources available to learn how to code e.g. https://www.lumiere-education.com/post/10-free-coding-programs-for-high-school-students
-- You may be able to signup/use https://education.github.com/pack
-- Use no code tools like: https://lovable.dev/ , https://github.com/features/spark
Wireframe/designer path
-- Here are some free wireframe tools you can use Miro, Canva, Wireframe.cc, Figma
Essentially experiment, demonstrate interest, show why you're unique.
Think about having your first interview, or your application to higher education. What can you show/demonstrate that shows why you're generally interested in ICT. Any of the above is within reach,
Updated
Avin’s Answer
1. Build strong foundations
Start with a mix of computer science, math, and problem-solving skills.
High school courses to take:
Math: Algebra, Geometry, Pre-Calculus, Calculus (if possible).
Computer Science: If your school offers AP Computer Science A or Principles — take them.
Statistics: Great for data science.
Physics: Helps with logical thinking and algorithmic reasoning.
2. Projects and independent study ideas
Colleges love to see initiative and creativity.
Project ideas:
Build a personal website or small app (e.g., a to-do app, weather dashboard, or game).
Analyze a dataset you care about (sports, social media, environment) using Python and Jupyter Notebook.
Participate in a science fair or create an independent study project in programming, AI, or data analysis.
Contribute to open-source projects on GitHub (start with small “good first issues”).
3. Internships, clubs, and competitions
Even if internships are rare in high school, there are many ways to get exposure:
Internships and summer programs:
Google Computer Science Summer Institute (CSSI)
Girls Who Code / CodePath / Kode with Klossy (if applicable)
MIT Research Science Institute (RSI)
NASA SEES Internship
Local university research assistant roles - email professors politely asking if you can volunteer.
Local companies or nonprofits - offer to help with data entry, web updates, or small coding tasks.
Clubs and competitions:
Join or start a coding club, robotics team, or math club.
Try hackathons (like Hack Club or MLH high school hackathons).
Compete in USACO, Google Code Jam, Kaggle for beginners, or math Olympiads.
Extra advice
Start a GitHub profile - upload your projects and document your learning journey.
Participate in online communities (Reddit’s r/learnprogramming, Stack Overflow, Kaggle forums).
Ask for mentorship - teachers, local engineers, or alumni in CS fields.
Focus on depth, not just breadth. Doing one substantial project is more impressive than ten small tutorials.
Start with a mix of computer science, math, and problem-solving skills.
High school courses to take:
Math: Algebra, Geometry, Pre-Calculus, Calculus (if possible).
Computer Science: If your school offers AP Computer Science A or Principles — take them.
Statistics: Great for data science.
Physics: Helps with logical thinking and algorithmic reasoning.
2. Projects and independent study ideas
Colleges love to see initiative and creativity.
Project ideas:
Build a personal website or small app (e.g., a to-do app, weather dashboard, or game).
Analyze a dataset you care about (sports, social media, environment) using Python and Jupyter Notebook.
Participate in a science fair or create an independent study project in programming, AI, or data analysis.
Contribute to open-source projects on GitHub (start with small “good first issues”).
3. Internships, clubs, and competitions
Even if internships are rare in high school, there are many ways to get exposure:
Internships and summer programs:
Google Computer Science Summer Institute (CSSI)
Girls Who Code / CodePath / Kode with Klossy (if applicable)
MIT Research Science Institute (RSI)
NASA SEES Internship
Local university research assistant roles - email professors politely asking if you can volunteer.
Local companies or nonprofits - offer to help with data entry, web updates, or small coding tasks.
Clubs and competitions:
Join or start a coding club, robotics team, or math club.
Try hackathons (like Hack Club or MLH high school hackathons).
Compete in USACO, Google Code Jam, Kaggle for beginners, or math Olympiads.
Extra advice
Start a GitHub profile - upload your projects and document your learning journey.
Participate in online communities (Reddit’s r/learnprogramming, Stack Overflow, Kaggle forums).
Ask for mentorship - teachers, local engineers, or alumni in CS fields.
Focus on depth, not just breadth. Doing one substantial project is more impressive than ten small tutorials.
Updated
Dhwani’s Answer
Hi Sonia,
Glad to know you are keen to pursue computer science, based on my 18 years of experience in this industry , I can definitely share some insights, hope they help you.
1. Start learning with basics - In high school I had taken extra courses to learn basic programming languages like - C, C++, C# and Java
2. Understand the difference between being a data scientist vs programmer, see what interests you more
3. If Artificial Intelligence and Machine Learning is something that interests you - Python can be another language that you can start looking into
4. Try to find real case scenarios at school that you can help with your programming skills, like for example during my graduate school I worked on solving the manual attendance process for teachers where they had to sign a book during check in and check out and wait in line for 20 mins for their turn every day. We formed a group of like-minded people interested to solve this problem and who knew JAVA to work on a prototype of a biometric attendance for my school, that helped with quick check in and check out.
5. Think of ways you can use your programming skills to help enrich a gap/opportunity that you can identify at school, it can give you a glimpse of real-world challenges that programming can solve and prepare you better to enter the corporate world.
6. As Avin mentioned above - join some groups , clubs, hackathon projects online and keep practicing, the key is more you practice the better it gets. And github Copilot will be your best friend in this journey.
Last but not the least, i know this information can be overwhelming so please do not feel so. Take your time, create a plan with small achievable milestones and work towards it.
Do not make complex plans or get into complex programs at first, do very basic work and understanding of programming concepts, master it and move to the next level. Hope this helps and wish you all the very best. Please feel free to ask if any additional questions. Thanks
Glad to know you are keen to pursue computer science, based on my 18 years of experience in this industry , I can definitely share some insights, hope they help you.
1. Start learning with basics - In high school I had taken extra courses to learn basic programming languages like - C, C++, C# and Java
2. Understand the difference between being a data scientist vs programmer, see what interests you more
3. If Artificial Intelligence and Machine Learning is something that interests you - Python can be another language that you can start looking into
4. Try to find real case scenarios at school that you can help with your programming skills, like for example during my graduate school I worked on solving the manual attendance process for teachers where they had to sign a book during check in and check out and wait in line for 20 mins for their turn every day. We formed a group of like-minded people interested to solve this problem and who knew JAVA to work on a prototype of a biometric attendance for my school, that helped with quick check in and check out.
5. Think of ways you can use your programming skills to help enrich a gap/opportunity that you can identify at school, it can give you a glimpse of real-world challenges that programming can solve and prepare you better to enter the corporate world.
6. As Avin mentioned above - join some groups , clubs, hackathon projects online and keep practicing, the key is more you practice the better it gets. And github Copilot will be your best friend in this journey.
Last but not the least, i know this information can be overwhelming so please do not feel so. Take your time, create a plan with small achievable milestones and work towards it.
Do not make complex plans or get into complex programs at first, do very basic work and understanding of programming concepts, master it and move to the next level. Hope this helps and wish you all the very best. Please feel free to ask if any additional questions. Thanks
Updated
Rebecca’s Answer
Thank you for your question. I am glad to know that you have interest in computer science.
Below are my suggestions:
1. There are many computer science related e,g. Web developer, apps developer, network engineer, system administrator, application support, ERP developer, database administrator, cyber security, etc. You can find out more online
2. Find out more on these careers and determine what you have interest
3. Speak to someone who are working in these careers. Seek guidance from your mentor, school career counselor your parents, etc.
4. Shortlist 1-2 careers you would like to pursue
5. Explore the entry criteria of relevant subjects in colleges
Hope this helps! Good luck!
May Almighty God bless you!
Below are my suggestions:
1. There are many computer science related e,g. Web developer, apps developer, network engineer, system administrator, application support, ERP developer, database administrator, cyber security, etc. You can find out more online
2. Find out more on these careers and determine what you have interest
3. Speak to someone who are working in these careers. Seek guidance from your mentor, school career counselor your parents, etc.
4. Shortlist 1-2 careers you would like to pursue
5. Explore the entry criteria of relevant subjects in colleges
Hope this helps! Good luck!
May Almighty God bless you!
Updated
Kumar’s Answer
If you're thinking about in high school, you should work towards building your basics and fundamentals strong.
1. Math: Focus on algebra, statistics, and calculus — they’re the backbone of programming and data science.
2. Get into coding early: Start with beginner-friendly languages like Python or JavaScript. You can use free resources like freeCodeCamp and kaggle.
3. Logical and problem solving: Get into chess, robotics, programming or math clubs which will also help you find people in a similar boat.
Do small projects: Make your own simple apps, websites, or games — even tiny ones. Try data science mini-projects: analyze sports stats, social media trends, or anything you personally find interesting using Python and Pandas. And finally post your code on GitHub - its like a public portfolio for the programming community.
1. Math: Focus on algebra, statistics, and calculus — they’re the backbone of programming and data science.
2. Get into coding early: Start with beginner-friendly languages like Python or JavaScript. You can use free resources like freeCodeCamp and kaggle.
3. Logical and problem solving: Get into chess, robotics, programming or math clubs which will also help you find people in a similar boat.
Do small projects: Make your own simple apps, websites, or games — even tiny ones. Try data science mini-projects: analyze sports stats, social media trends, or anything you personally find interesting using Python and Pandas. And finally post your code on GitHub - its like a public portfolio for the programming community.
Updated
Aline’s Answer
Here are some easy steps you can take in high school to get ready for a career in computer science:
1. Take Computer Science Classes
Sign up for any computer science or programming classes your school offers. If there's an AP Computer Science course, it's a great way to learn coding and problem-solving.
2. Learn Coding on Your Own
Teaching yourself to code is super helpful. Use resources like Microsoft Learn, LinkedIn Learning, and forums like Stack Exchange to practice. Start with beginner-friendly languages like Python or JavaScript.
3. Join Competitions and Hackathons
Participate in coding competitions like Imagine Cup Junior or local hackathons. These events let you use your skills, work with others, and gain confidence by solving real-world problems.
1. Take Computer Science Classes
Sign up for any computer science or programming classes your school offers. If there's an AP Computer Science course, it's a great way to learn coding and problem-solving.
2. Learn Coding on Your Own
Teaching yourself to code is super helpful. Use resources like Microsoft Learn, LinkedIn Learning, and forums like Stack Exchange to practice. Start with beginner-friendly languages like Python or JavaScript.
3. Join Competitions and Hackathons
Participate in coding competitions like Imagine Cup Junior or local hackathons. These events let you use your skills, work with others, and gain confidence by solving real-world problems.
Delete Comment
Flag Comment