8 answers
8 answers
Updated
Bryan’s Answer
Hi Engoron,
Computer Science is a very broad field, here are some projects from subfields that may interest you.
Web Development - Create a website from scratch! Here's a YouTube tutorial on creating a custom website using Python Flask: https://youtube.com/playlist?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH
Software Development - Create a Discord bot! Tutorial: https://www.freecodecamp.org/news/create-a-discord-bot-with-python/
Robotics - Join your school's robotics team! You'll need to write code to program the robot to accomplish tasks
Hardware - Build a computer! This one is a bit tricky on a budget, but it's a great way of learning the ins and outs of what makes a computer tick.
Game Development - Create a game! There's various ways to do this, a popular option is to learn Unity and start developing your own game. https://unity.com/learn
Computer Science is a very broad field, here are some projects from subfields that may interest you.
Bryan recommends the following next steps:
Updated
Jacob’s Answer
I would recommend that you find an active open-source project on GitHub in a language that you know or want to learn and start contributing. Start small and focus on quality over quantity. Read as much as you can and immerse yourself in the process of building software as part of a team. This experience is invaluable when you start looking for a job.
Sign up for GitHub
Find a project
Contribute!
Jacob recommends the following next steps:
One caution: it can be easy to feel like you're in over your head. Be gentle with yourself. Absorb as much as you can but don't worry if you don't get it. When you find something interesting, go explore the topic through google, youtube, StackOverflow, or other resources. Find what you are ready for and tease apart the bits you don't yet understand, slowly. There's a lot to learn! And do try to contribute something yourself. See what happens. It will feel great to be a part of the project and to be able to point at something tangible that you've done. That's how you move forward! Good luck!
Mark Buchanan
Updated
Mark’s Answer
Signing up for GitHub is great advice! It can be fun and you can learn so much! Spend time reading up on open source projects. (What are they doing? Why? How do they do it? What are they doing with the code? Learn about the terms! For example, what's an "issue" and what's a "PR?" How are they different? Why use one or the other? Are contributors presenting ideas as issues? Are they providing bits of code as PRs? What do those look like?) Check out what other contributors are doing. See how the community responds to input. There's so much to learn from.
One caution: it can be easy to feel like you're in over your head. Be gentle with yourself. Absorb as much as you can but don't worry if you don't get it. When you find something interesting, go explore the topic through google, youtube, StackOverflow, or other resources. Find what you are ready for and tease apart the bits you don't yet understand, slowly. There's a lot to learn! And do try to contribute something yourself. See what happens. It will feel great to be a part of the project and to be able to point at something tangible that you've done. That's how you move forward! Good luck!
One caution: it can be easy to feel like you're in over your head. Be gentle with yourself. Absorb as much as you can but don't worry if you don't get it. When you find something interesting, go explore the topic through google, youtube, StackOverflow, or other resources. Find what you are ready for and tease apart the bits you don't yet understand, slowly. There's a lot to learn! And do try to contribute something yourself. See what happens. It will feel great to be a part of the project and to be able to point at something tangible that you've done. That's how you move forward! Good luck!
Updated
john’s Answer
I think the biggest factor is that YOU care about the project. It's always cool when interviewing a candidate to see that they have a project that lines up with the specific job field, but I find that interviewers and companies care more that you do personal projects at all rather than the specifics of what the project is. Do any and all projects that you find interesting. That enthusiasm will show to others and it really helps people get a better understanding of you as a professional.
Updated
David’s Answer
This is a great question. In general, the best way to illustrate your passion for computer science that is incredibly compelling for college admissions or even a job application is something tangible that you have built that has many other users or is incredibly complex. This can be something you have built from scratch (arduino remote control car, mobile application with thousands of users, etc). You can share your code on Github and link to your website or application that can display something in action.
Another option would be to contribute to open source, which means you don't have to create something from scratch. This is a great way to attach yourself to big projects that many other smart people are working on, learn from how they do things, and then contribute something meaningful that will be compelling extracurricular activity.
Another option would be to contribute to open source, which means you don't have to create something from scratch. This is a great way to attach yourself to big projects that many other smart people are working on, learn from how they do things, and then contribute something meaningful that will be compelling extracurricular activity.
Updated
Mohammad Zeeshan’s Answer
Suggesting specific activities or projects might not work. Rather some steps can be followed to identify some projects of interest. For reference, many forums are available to get some projects
Browse through CS courses available in your high school
Take suggestions from faculty and seniors about ideas and select few based on your interest and resources available
Identify market/social relevance of idea and develop a prototype on paper or sample work
Take feedback and produce more refined work
Mohammad Zeeshan recommends the following next steps:
Updated
Stefanie’s Answer
Get yourself involved with online learning and apply them
Explore online courses to learn CS related topics. Youtube, edX, Khan Academy, and CodeAcademy are a few places to start
Join a programming club/create one
Save all projects from any CS courses you take and note how you accomplished them so you can speak to them later
Stefanie recommends the following next steps:
Updated
Zahid’s Answer
Best thing you can do to show your passion is making a portfolio of things you have done with programming. Nothing speaks more about you in CS than what you have done or working on. So start learning now and start building your portfolio. I recommend getting started with this free Harvard class:
CS50's Introduction to Computer Science - for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
CS50's Introduction to Computer Science - for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x