How to prepare for uni computer science

AI Thread Summary
Starting a BSc in Physics and Astronomy, the user seeks resources for a computer science course, expressing minimal coding experience. Recommendations include learning C, MATLAB, numerical Python, and Java, with emphasis on their relevance to physics and engineering. The discussion highlights the importance of practical experience, suggesting hands-on projects with Arduino or Raspberry Pi to enhance skills. Resources like the "Head First Java" textbook and tutorial sites are mentioned for beginners. Overall, focusing on C and Java is advised to build a solid foundation before university classes begin.
starstruck_
Messages
185
Reaction score
8
Hey! So, I'm starting university this year, going in for a BSc. Physics and Astronomy, and one of my first year courses is computer science for the physical sciences. I do have some coding experience but it's very minimal with html and and Visual Basic, not very good languages. I did well in grade 11 computer science but I need a refresher, and perhaps something that'll let me get ahead. Are there any sites anyone can share that may help me?
I don't exactly want to use code.org but I am, along with code academy. Is there anything else?
 
Physics news on Phys.org
Start learning C.
 
  • Like
Likes starstruck_
If you want to do something relevant to physics you could consider MATLAB, numerical Python or Java. MATLAB is often used by the engineering folks. Numerical Python is popular for computer simulation.

Java is very dominant in industry especially web related technologies and Android apps. In addition, there's a Book on physical systems simulation with an open source library written in Java at

www.compadre,org/osp

I studied from this book in Computational Physics and use the library occasionally at work.

Legacy systems will use Fortran and really modern systems might use Julia.

In conclusion though, it can't hurt to learn C since it's the mother of many of these languages except for Fortran but can interoperate with Fortran libraries and with Python and Java code. Sometimes you just need C to speed up a portion of your code bogged down by your chosen language's limitations like dynamic variables and automatic garbage collection.
 
  • Like
Likes starstruck_
jedishrfu said:
If you want to do something relevant to physics you could consider MATLAB, numerical Python or Java. MATLAB is often used by the engineering folks. Numerical Python is popular for computer simulation.

Java is very dominant in industry especially web related technologies and Android apps. In addition, there's a Book on physical systems simulation with an open source library written in Java at

www.compadre,org/osp

I studied from this book in Computational Physics and use the library occasionally at work.

Legacy systems will use Fortran and really modern systems might use Julia.

In conclusion though, it can't hurt to learn C since it's the mother of many of these languages except for Fortran but can interoperate with Fortran libraries and with Python and Java code. Sometimes you just need C to speed up a portion of your code bogged down by your chosen language's limitations like dynamic variables and automatic garbage collection.

Thank you so much! Will take a look at the book and go through at least C before school begins!
 
C is also used in Arduino projects so that's a good excuse to build your own personal robot friend for school and get your parents to pay for it.

Of course, another idea would be to play with a Raspberry PI and get some Linux experience especially using vi and the command line commands like ls, cp, mv ... which will be useful in computer based lab work. The PI can be programmed with c as well and is a bit friendlier than the Arduino.
 
Last edited:
starstruck_ said:
one of my first year courses is computer science for the physical sciences.
What language(s) does this course use? If the university website is vague about this (they often are, so as to give the instructor flexibility), email the instructor and find out.
 
Java is quite verbose in comparison to other languages, some may find it scary at first but it's just a matter of getting used to it.
In my first computer science class, I learned about 1% from lectures and 99% from practical exercise and assignments. I also wrote some simple programs to calculate answers for past papers for my physics classes.
 
  • Like
Likes jedishrfu
Java is a great language to learn
You can look for the :head first java textbook: it's very helpful especially for beginners
 
  • Like
Likes jedishrfu
I must agree with some, C is a very good language but can be very tedious. I learned it over summer and it made it so much easier to learn other languages, it actually helped me with math oddly enough as well. Other than that Python can be quite underrated but you can do quite a bit with it.
 
  • Like
Likes jedishrfu and starstruck_
  • #10
I wanted to add that this site has amazing tutorial videos and exercises. Also has every language I know of so that's a bonus. I prefer this over code academy :)
Link: https://thenewboston.com/videos.php
 
  • #11
Thank you all sooo much! I keep seeing c and java being repeated so I'm going to focus on both as much as I can, unfortunately they haven't released who our professors are yet, so there's no one ik to email but hopefully at least some exposure and review will help me out
 
  • #12
A compromise would be to explore the processing IDE where you can use java to draw cool graphics. It's a stepping stone where you learn the basics of Java but don't have to get into class usage until later. Much of what you'd learn would be applicacble for Core C as well.

Www.processing.org

I wrote an insights article for PF on Processing called the Joy of Processing where you can learn more. it's free and easy to setup and use.
 
Back
Top