How to prepare for uni computer science

In summary, the student is considering a course in computer science for the physical sciences. He is considering C and Java. He recommends looking into the book, "Compadre: open source physical systems simulation library for Java" and the video tutorial site, "The New Boston."
  • #1
starstruck_
185
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
  • #2
Start learning C.
 
  • Like
Likes starstruck_
  • #3
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_
  • #4
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!
 
  • #5
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:
  • #6
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.
 
  • #7
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
  • #8
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
  • #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.
 
  • 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.
 

1. How should I choose my courses for my computer science degree?

When preparing for university computer science, it is important to carefully choose your courses. Start by looking at the course requirements for your degree program and make sure you are fulfilling all of those requirements. Then, consider your interests and career goals to select courses that align with them. It is also a good idea to speak with an academic advisor for guidance.

2. What programming languages should I learn before starting university?

There is no one "right" answer to this question, as it ultimately depends on the curriculum of your university and what career path you are interested in. However, some commonly used programming languages in computer science include Java, C++, Python, and JavaScript. It may also be beneficial to learn a lower-level language like C or assembly, as it can provide a solid foundation for understanding how computers work.

3. How can I prepare for the workload in a computer science degree?

A computer science degree can be challenging and requires a lot of time and effort. To prepare for the workload, you can start by developing good time management skills and creating a study schedule. Take advantage of any resources offered by your university, such as study groups or tutoring services. It is also important to stay organized and stay on top of assignments and deadlines.

4. What extracurricular activities should I participate in to enhance my computer science education?

Participating in extracurricular activities can help enhance your computer science education and make you stand out to potential employers. Consider joining a computer science club or competition, attending hackathons, or completing an internship or co-op. You can also try working on personal coding projects to further develop your skills and showcase your abilities.

5. How can I stay updated on advancements in the field of computer science?

Computer science is a constantly evolving field, so it is important to stay updated on advancements and new technologies. You can do this by regularly reading industry publications, attending conferences and workshops, and networking with professionals in the field. It is also helpful to actively seek out new learning opportunities, such as online courses or workshops, to stay current with the latest developments in computer science.

Similar threads

  • STEM Academic Advising
Replies
6
Views
1K
Replies
3
Views
158
  • STEM Academic Advising
Replies
8
Views
2K
  • STEM Academic Advising
Replies
10
Views
1K
Replies
22
Views
774
  • STEM Academic Advising
Replies
13
Views
3K
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
1
Views
1K
Replies
32
Views
7K
  • STEM Academic Advising
Replies
1
Views
1K
Back
Top