Hey everyone! I'm currently studying for my Physics degree and have started diving into programming. I've picked up Java and am beginning to grasp the basics like conditions, loops, and simple logic. Since I don't have a computer science background, I sometimes feel a bit overwhelmed by all the information out there. For those who started programming without a CS degree, I'd love to hear: What strategies did you use to stay consistent with your learning? Is it a good idea to focus on fundamentals and data structures/algorithms early on? Any advice would be greatly appreciated. Thanks!
3 Answers
As someone who's primarily a programmer, I can say that understanding data structures and algorithms (DSA) is really beneficial. It helps you think about efficient ways to handle large datasets, which could tie in nicely with your physics studies. To stay consistent, I suggest working on projects that genuinely interest you. For example, I found out that you can access raw data from the James Webb Space Telescope (JWST) online. It would be an exciting challenge to convert that raw sensor data into a visual image. Look for science-related data that can spark your motivation while you learn!
If programming is part of your physics education, I'd recommend switching to Python, R, or MATLAB since they are commonly used in the field. Most physicists use Python with libraries like matplotlib, pandas, and numpy for data manipulation and visualization. You could also apply your programming skills directly to your lab reports by writing scripts to solve differential equations you encounter. If you're looking to learn programming purely for curiosity, consider starting with C to get a strong grasp of the fundamentals.
Thanks, this is really helpful. I’m planning to start with Python alongside my physics studies since it seems more practical for data analysis and visualization. Using programming directly in lab work and assignments sounds like a great way to learn. I’ll also look into C later to understand the fundamentals better. Appreciate the guidance!
If you're focusing on science, I wouldn't recommend sticking with Java. Python would serve you better because it's more commonly used in the scientific community and has a lot of useful libraries for data analysis.
I started with Java so I can switch to another language easily. I’m pursuing science under some circumstances, so I don’t have any programming interest currently. Thanks, by the way!

Thanks, this helps a lot. I like the idea of learning DSA through real problems instead of just theory. Working with science data sounds much more interesting and motivating. I didn’t know about the JWST data either, that’s really cool. I will try to explore projects using physics related datasets while learning programming. Appreciate the suggestion!