Is Computer Science physicist friendly?

Click For Summary

Discussion Overview

The discussion revolves around the potential for a physics undergraduate to transition into a PhD program in computer science, exploring the necessary background, skills, and courses required for such a shift. Participants share their experiences and opinions on the compatibility of physics and computer science, as well as the challenges faced by someone without formal computer science education.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant expresses concern about their lack of formal computer science courses and questions whether they would be accepted into a PhD program.
  • Another participant lists key computer science courses that are considered essential, such as Data Structures, Operating Systems, and Theory of Computation, emphasizing the distinction between programming and computer science.
  • A participant shares a personal anecdote about a successful physics undergraduate who transitioned to computer science, suggesting that it is possible to make the switch.
  • Some participants note that while the physics background provides strong mathematical skills, the lack of computer science coursework may hinder the transition.
  • One participant advises taking at least one programming class to gain a better understanding of computer science, while others suggest that self-learning through online resources could also be beneficial.
  • Another participant discusses the importance of understanding the decision-making processes in computers and how this relates to computer science concepts.

Areas of Agreement / Disagreement

Participants express a mix of opinions regarding the feasibility of transitioning from physics to computer science. While some believe it is possible with the right preparation, others emphasize the significant gaps in knowledge that may exist without formal education in the field. There is no consensus on whether the transition is advisable or how best to prepare for it.

Contextual Notes

Participants highlight the importance of foundational knowledge in computer science and the potential challenges faced by someone without formal training. There are references to specific courses and skills that may be necessary for success in computer science, but the discussion does not resolve the question of how to effectively bridge the gap between the two fields.

lylos
Messages
77
Reaction score
0
I'm soon to be finishing up my bachelors in physics and I'm wondering if it's possible to go into a PhD program in computer science? I haven't taken any courses at my university in the CS department, but I've spent most of my life learning and fooling around with computers (probably more than the average person who says that).

I know that I would be at a disadvantage considering I've not had the programming classes, or any other class for that matter... Would they even accept me? If so, would they allow me to take courses to catch up to speed?

Thanks for any help!
 
Physics news on Phys.org
You will have all the math you need but will be lacking greatly in Computer Science, I would the the key courses are:

2 semester in Data Structures
Operating Systems
Discrete math(if you haven't taken it in the physics program)
Theory of Computation
Compilers

You have to know that programming != computer science though, it is it's own thing. Why do you want to switch fields? Interestingly, I am on the impetus of making the inverse switch over to the world of physics, albeit only for undergrad.
 
When I was in grad school for CS, I shared an office with a student who had majored in physics as an undergrad. He was one hell of a programmer and engineer though... but it *is* possible!
 
lubuntu said:
You will have all the math you need but will be lacking greatly in Computer Science, I would the the key courses are:

2 semester in Data Structures
Operating Systems
Discrete math(if you haven't taken it in the physics program)
Theory of Computation
Compilers

You have to know that programming != computer science though, it is it's own thing. Why do you want to switch fields? Interestingly, I am on the impetus of making the inverse switch over to the world of physics, albeit only for undergrad.

The reason I want to to switch fields is because I don't think that I will enjoy doing research in physics. All of my life I've loved computers, when I first entered college I was wanting to go for computer science/electrical engineering but it would have required me transferring to a different college. I just stuck with physics and have somewhat enjoyed the decision.

I know that I do not have the experience in the computer science field, but like I said before, I've worked a lot with computers. I'm a decently quick learner when it comes to computer structure/operation.

I just need to find something to do after I get my bachelors and I don't see physics being as good to me as computer science potentially could be.

I'm trying to look over the course offerings on MIT's OCW site in computer science. Most of the things seem very interesting to me.
 
lylos said:
I know that I do not have the experience in the computer science field, but like I said before, I've worked a lot with computers. I'm a decently quick learner when it comes to computer structure/operation.

What do you mean by "worked a lot with computers" and "computer structure/operation"?

I took an electronics lab class through the physics department oddly enough which went into the details of how microprocessors work, including how they exchange information with other parts such as your mouse or keyboard, how programs are stored in its memory and how it does its operations.

I just need to find something to do after I get my bachelors and I don't see physics being as good to me as computer science potentially could be.

You haven't taken anything in computer science, so you can't really know. If you have only tinkered with the hardware, then you might enjoy electrical engineering more than computer science.

Are you already done with your Bachelor's or do you still have some classes to take? You should take at least one programming class to get a slight taste of what computer science is about. Or actually, there are plenty of free tutorials online about programming. A class will ease you into it, but if you don't mind slamming your head against the wall you can still learn a good deal by only going online. Getting a book on programming wouldn't be bad, but they aren't really that useful once you get comfortable with programming. At that point the internet will have all the answers.
 
lylos said:
I'm soon to be finishing up my bachelors in physics and I'm wondering if it's possible to go into a PhD program in computer science? I haven't taken any courses at my university in the CS department, but I've spent most of my life learning and fooling around with computers (probably more than the average person who says that).

I know that I would be at a disadvantage considering I've not had the programming classes, or any other class for that matter... Would they even accept me? If so, would they allow me to take courses to catch up to speed?

Thanks for any help!

I'd be lying to you if I were saying you were not at a disadvantage having not taken any courses or done any work related to computer science.

Computer science is like any other science. While it may not be as "intense" as physics, it still is a science that requires a lot of learning to really "get" what's going on. I'd compare to say working with problem sets in physics in that after a while you "get" QM or EM and in comparison after a while you just "see the code" and design, the algorithmic complexity, and everything else after a lot of experience.

Like other sciences you need to actively partake in interactive understanding of the subject overwise it will be something more or less related to philosophy.

Having been a programmer I speak from my experiences. I am undertaking a math degree and I consider mathematics like above, where you have to "do" maths to get it.

If I can offer my perspective to learn about understanding computers one perspective you can understand is that a computers primary purpose is to make decisions and act upon them in some way. If you understand this you can relate a lot of what constitutes the science of computers, how we program them and the analysis behind this as well as all areas including but not limited to databases, algorithms, interactivity with interfaces and hardware: basically anything in this regard relates to the primary purpose of a computer making a decision.

With your math training in physics you will should be able to have an advantage of making sense of how these decisions may be analyzed, structured and executed (and mechanics can often give a good sort of physical relational understanding to relating decisions down to atomic consituents but i'll leave that for another day).

Once you have the decision perspective you will no doubt need a few other perspectives. Like others have mentioned topics that deal with representation (ie data structures) is important. But a lot of this is icing on the cake for what is at the heart of computer science which is basically decision theory. You can talk about turing machines and all of that stuff all you want but at the heart of every program, device whatever is a complex web of decision making.

Coming back to your question like other departments they would most likely turn you down unless you could demonstrate to them that you had a solid grasp of the science. From what you've stated already it seems that you don't have this.

If you decide to learn elements of computer science or start learning to program keep the decision mechanism in mind. Think about how everything from the structure of the language, to the interconnected components, to the algorithms to the data structures you use, to the interfaces that are used to connect to the system, to protocols to everything inbetween have evolved to make better, more accurate, more error-free, easier to code decisions.

You should see that common functionalities have been built into a particular language or way of interacting with the given system and other things.

Anyway this was a bit more than I intended to write. If you start going into this area good luck. My advice is to learn from the best way possible (like a uni or if you have the discipline some good books), but then again that's kinda obvious ;)

Good luck with it all

Matthew
 
  • Like
Likes   Reactions: Jakeness

Similar threads

  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 7 ·
Replies
7
Views
3K
Replies
15
Views
4K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 21 ·
Replies
21
Views
4K