What is the best way of gaining experience in the field of computer science?
I am currently in a computer science class, and I want to know how I could dive in deeper into computer science, as well as how I could gain more experience doing computer science.
Here are some ways you can dive deep into Computer Science:
1. Understand algorithms and data structures - you can do this by reading books, following online courses or practising coding.
Cracking the Code Interview
EDX has plenty of university courses
Google Tech Dev Guide
2. Practice coding
Nothing compares to actually getting your hands on a problem and trying to solve it. This develops your dexterity and will greatly help for the future interview processes you have.
Try coding on websites like LeetCode. They are plenty of problems of many types and difficulties, and a Discussion section where you can find solutions and talk about them.
3. Work on small personal projects.
This helped me a lot in my first years of university. It's the way I learned new programming languages and how to structure my code better.
Try developing something small, like a game (Pong, Hangman, Tic tac toe). Or, if you are interested in developing websites, try imagining a customer that is asking for a website for their company.
4. Apply to an internship
I wrote a full-detailed answer at another one of your questions about how to apply. You can find it at this link: https://www.careervillage.org/questions/548749/what-is-the-best-way-of-finding-entry-level-internships
Let me know if you have other questions or want other book/courses recommendations!
I agree wholly with Dana's answer, but I would like to add two more strategies for gaining experience.
When you're more experienced and comfortable with programming, a great way to get experience is to contribute back to open source projects. It can be daunting to try to contribute to large, established projects, but I've seen that even helping things like documentation is a great way to give back to the open source community, while gaining great experience in working with large projects. Also, things like documentation will force you to understand the inner workings of the said project, which will give you experience in how to jump into large existing projects.
I wish you the best Jenny!
There are a ton of ways to dive deeper into computer science, but as a general rule a great way to learn more is to think of a problem that you want to solve and trying to hack together an app that solves the problem. In the process of trying to solve the problem you'll discover a lot of new things about programming and (hopefully) develop a love of hacking and problem solving skills.
If your school has any computer science clubs or any professors are offering tech research opportunities, I recommend looking into those for a more guided experience in coding. Another benefit of looking for clubs or willing professors is that now you have some new friends or mentors
If your school doesn't offer more classes, try and find some online courses! There are plenty of free tutorials and walkthroughs for different programming languages. Khan Academy is a great resource that I would definitely recommend. Good luck on your programming journey!