3 answers
3 answers
Updated
Allen’s Answer
There's tons of options! Here are the traditional ones that are very commonly recommended:
- Take computer science classes.
- Online free training from places like Udemy.
- Google every question you have.
- YouTube tutorials.
- Start a project and see how far you can get with it. You will learn many new things to get around obstacles.
- Code challenges (Leetcode, Hackerrank)
And here are some ways I have used:
- Reading books about computers and the history of technology.
- Following experts you look up to on Twitter, GitHub, and LinkedIn.
- Participating in hackathons.
- Competetive coding/CTFs if you like cybersecurity.
- Look at many different company postings for the jobs you want to see which tech skills they desire.
- Pay attention to tech news websites.
- Open source development / bug bounties.
The more familiar you are with the culture surrounding CS, the more you will know WHAT to study, HOW to learn it (the best resources to get that material), and WHY you should even pursue this material in the first place! Hope that helps a bit.
- Take computer science classes.
- Online free training from places like Udemy.
- Google every question you have.
- YouTube tutorials.
- Start a project and see how far you can get with it. You will learn many new things to get around obstacles.
- Code challenges (Leetcode, Hackerrank)
And here are some ways I have used:
- Reading books about computers and the history of technology.
- Following experts you look up to on Twitter, GitHub, and LinkedIn.
- Participating in hackathons.
- Competetive coding/CTFs if you like cybersecurity.
- Look at many different company postings for the jobs you want to see which tech skills they desire.
- Pay attention to tech news websites.
- Open source development / bug bounties.
The more familiar you are with the culture surrounding CS, the more you will know WHAT to study, HOW to learn it (the best resources to get that material), and WHY you should even pursue this material in the first place! Hope that helps a bit.
Updated
Judith’s Answer
I agree with Allen's response to this question! Here are a few suggestions:
- Start self learning and exploring with free courses. IBM has free courses that are great - https://skillsbuild.org/
- Look into the types of roles you want to work and network with people in the role/industry. You can do this on LinkedIn
- Start practicing what you learn. Work on personal projects and add them to your GitHub
- Attend Hackathons and other interesting events to network.
Hope this helps :)
- Start self learning and exploring with free courses. IBM has free courses that are great - https://skillsbuild.org/
- Look into the types of roles you want to work and network with people in the role/industry. You can do this on LinkedIn
- Start practicing what you learn. Work on personal projects and add them to your GitHub
- Attend Hackathons and other interesting events to network.
Hope this helps :)
Updated
Ginamarie’s Answer
One course I typically suggest is Harvard's free CS50 course: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
It's a challenging course, but it is a great way to get exposure to different languages, cs coding problems, and learn in an environment where you can get feedback on your solutions in real time.
It's not the only option out there, but I found this course really impactful when I was a first getting into software engineering in college. And in case this helps, my experience with this course was that it was really challenging, but I felt really proud when I was finally able to solve the problems. It was a really rewarding experience.
What you'll learn:
- A broad and robust understanding of computer science and programming
- How to think algorithmically and solve programming problems efficiently
- Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
- Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
- How to engage with a vibrant community of like-minded learners from all levels of experience
- How to develop and present a final programming project to your peers
It's a challenging course, but it is a great way to get exposure to different languages, cs coding problems, and learn in an environment where you can get feedback on your solutions in real time.
It's not the only option out there, but I found this course really impactful when I was a first getting into software engineering in college. And in case this helps, my experience with this course was that it was really challenging, but I felt really proud when I was finally able to solve the problems. It was a really rewarding experience.
What you'll learn:
- A broad and robust understanding of computer science and programming
- How to think algorithmically and solve programming problems efficiently
- Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
- Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
- How to engage with a vibrant community of like-minded learners from all levels of experience
- How to develop and present a final programming project to your peers