1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to prepare for uni computer science

  1. Aug 9, 2017 #1
    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?
  2. jcsd
  3. Aug 9, 2017 #2


    User Avatar
    Gold Member

    Start learning C.
  4. Aug 9, 2017 #3


    Staff: Mentor

    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


    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.
  5. Aug 9, 2017 #4
    Thank you so much! Will take a look at the book and go through at least C before school begins!
  6. Aug 9, 2017 #5


    Staff: Mentor

    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: Aug 10, 2017
  7. Aug 9, 2017 #6


    User Avatar

    Staff: Mentor

    What language(s) does this course use? If the university web site is vague about this (they often are, so as to give the instructor flexibility), email the instructor and find out.
  8. Aug 10, 2017 #7


    User Avatar
    Gold Member

    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.
  9. Aug 10, 2017 #8
    Java is a great language to learn
    You can look for the :head first java textbook: it's very helpful especially for beginners
  10. Aug 10, 2017 #9
    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.
  11. Aug 10, 2017 #10
    I wanted to add that this site has amazing tutorial videos and exercises. Also has every language I know of so thats a bonus. I prefer this over code academy :)
    Link: https://thenewboston.com/videos.php
  12. Aug 10, 2017 #11
    Thank you all sooo much! I keep seeing c and java being repeated so I'm gonna 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
  13. Aug 10, 2017 #12


    Staff: Mentor

    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.


    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted