I've got a solid background in math and physics but no programming experience at all. I feel like I'm at a disadvantage because of this. There's an overwhelming amount of resources like books and YouTube videos available. Can anyone suggest a structured learning path or plan to get started from ground zero? Thanks!
5 Answers
You might want to check out this site: roadmap.sh. It gives a good overview of learning paths in tech, although it can be lacking in specific requirements for each step. For example, learning Linux is vital for many paths, but it doesn't specify exactly what you need to know about it, which can be overwhelming.
Given your math background, you could check out Project Euler, which has a mix of math and programming challenges that will help you develop your coding skills while you solve problems. It's a fun way to connect math to programming!
Udemy has a variety of good courses, so you can pick ones aligned with your interests. You might also look at the Odin Project, which is very hands-on and covers web development comprehensively.
If you're strong in math and science, here’s a potential plan:
1. Start with Python; it’s beginner-friendly. Programming with Mosh on YouTube is a good starting point.
2. Once you’ve got a grip on Python, find a code editor that you like, such as PyCharm or VSCode.
3. Learn some web development basics; alongside Python, getting familiar with HTML, CSS, and a bit of JavaScript is useful.
4. Explore databases, starting with something simpler like SQLite before moving on to PostgreSQL.
By focusing on these areas, you’ll get a solid understanding of how programming intersects with math and science applications!
Consider making your goal more specific. Are you looking to build a website, automate tasks, or something else? If you're going for a broad approach, starting with a beginner Python course is a great way to grasp programming fundamentals like variables and loops, as well as data structures and algorithms. Once you’re comfortable with Python, expanding into other languages will be easier.
Isn't C the foundational language? I’m also leaning towards understanding algorithms first and then branching out into specifics, much like traditional CS education.

Yeah, it's a decent resource but definitely needs more detail on each topic! Understanding Linux basics, for instance, can take a while if you don't know where to focus.