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!

Areas after computer science

  1. Apr 16, 2013 #1
    I have used the search to find topics on this but to no avail. If there are topics asking this question then please advise me.

    I am due to start a degree in computer science in September, here in the UK. It is a life long passion and a degree course I could have never of dreamed of studying but a smidgen of fortuitousness has guaranteed me a place next year.

    Again, after briefly looking, the majority of positions available for post grads are phD studentships. So my question, especially for anyone currently in this field, is what opportunities lie ahead. In what sections/fields or jobs can someone expect.
  2. jcsd
  3. Apr 16, 2013 #2
    Computer science is a very broad field, so you could be doing a variety of things.

    If you take a low-level logic route, you could work for somebody like Intel or ARM.

    If you end up liking programming (which, as a CS, you should), you can work for anyone that needs programming in their products. This really is anything, from kids toys, to cars, to Microsoft, to NASA. And even then, there are other "parts" of CS.

    So honestly, it's all up to you, and what you find interesting, because there are a LOT of options. Good luck!
  4. Apr 16, 2013 #3
    CS is indeed a very broad field and it depends on what you want to do with it. You haven't said what areas you are interested in.

    Some people become programmers without going to college at all, while others need a phD for research. Some computer scientists don't even program.
  5. Apr 16, 2013 #4
    I had written a well thought out response that had taken me almost ten minutes to write and I accidentally hit the close tab :eek:.

    I haven't got the time to write it all out again. But I did start by thanking you for the constructive response.

    From writing my response I did come to the conclusion that I wait until I'm amid the course because I'm hoping a module I study will be favorable one. From the list of modules available, I am unable to suggest, apart from programming, what areas we will be studying but to imply areas/fields that Intel specialize in then it is encouraging and highly motivating for myself.

    Again, I had a well written response by my dam trigger happy left mouse finger!

    Thank you for the helpful response. Within my last attempt I did explain that I do have areas of interest, but deliberately held-back from digesting because these areas are only from watching videos and reading - I've only lightly dipped my toes into the pool of CS. I haven't got any practical experience, yet, of these fields. But I do have a very keen interest in programming and an interest in hardware, as in, devices ability to communicate with each other (I have had a very long obsession for creating and programming chips, for which I have been unable to devote enough time for researching, as of yet)

    These ideas are to be taken lightly, though, because having only lightly delved into it I realize this field is broad and it will be a challenge for me since I'm more of a hands on person rather than the academic route. I'm definitively looking forward to what lies ahead in the next coming years and I've never been so excited.
  6. Apr 16, 2013 #5
    It's still way too early to think of specializing, though. Don't worry about it yet. Take as many electives as you can when you have the chance to.

    From what you said, you might be interested in classes like computer engineering, networking, embedded systems, robotics, systems programming, etc.
  7. May 1, 2013 #6

    I apologise for the extended time in replying. Assignments keep me busy.
    Having done a quick Google search on those topics to clarify they do seem to fit with what I'd like to do perhaps.

    My next question is this, what do you guys recommend I start looking at during the summer until the course starts in September. I already plan on topping up my maths.
    I guess it's a case of keeping up to date with current technology and to read papers.
  8. May 4, 2013 #7
    I'd say to try to find out what the main programming language your school uses, and learn some about that. It's usually C++, but it's sometimes Java. C++ is always a safe bet though. Or, if you want to start a little easier (nothing wrong with that! I might even recommend it), and still learn a useful language, Python is the way to go. If you're going the C++ route, let me know and I'll point you in the right direction for learning it.

    Also, if you have time, learn to use Linux, since a lot of colleges use it for programming.

    I'm in the United States, so things might be different, but those should be still pretty standard.
  9. May 4, 2013 #8
    As far as I'm aware, C++ is the language they are going to teach. I do plan on dedicating my time, extensively, over the summer to learn and gain a possible head start.
    Though without interruptions, I have been able to watch one or two videos here and there. I know that's not ideal and to be honest I'd love to buy a book but I genuinely have to focus my time with my current studies, though this is coming to an end in the next few weeks.
    Python is also another language I'm possibly going to look at. The reason for this is that the Raspberry Pi employs it. This is a device I'm looking forward to playing about with and I have a funny feeling that come the third and last year within my degree course it may be a device I can base my final year project on.

    If you have any directions for me to follow with regards to programming then I'd more than appreciate any advice given.

    With regards to Linux, I have or did have a VM running Linux. Boy is it a strange environment, nevertheless I enjoy learning how to do things differently considering Linux appears to be more command line and I feel it is definitively something I should invest my time in.
  10. May 4, 2013 #9
    Okay, for books on C++, I think the one you should get is "The C++ Programming Language" (4th edition) by Bjarne Stroustrup. It'll be released on May 20th I think, so it's timed well for the end of school.

    The Raspberry Pi is really cool, but I will say that it's hard to get up and running, so good luck!

    Honestly, once you look at Linux a bit, at some point you'll realize that it's not so different. The terminal is VERY important for really learning Linux. As it is, my own project for the summer is to build my own Linux distribution from scratch. Should be fun. haha

    The following is really only useful once you start programming (maybe look back at this again when you start), and is mainly aimed at C/C++:

    Learning how to use the language is very important of course, but there's another part of it, coding style. Style is basically how your code looks. It may not sound very important, but in the future, it will be, since you never know who will end up looking at code that you write. Keep in mind that there are probably entire forums and books dedicated to talking about coding style, so this'll be a brief talk about it. Also, it's 99% opinion based, so this is only my own. The reason I'm telling you now, is that it's hard to change your style after you've developed one (I know from personal experience). Well...that was a long intro to the topic. Moving on.

    If you search Wikipedia for "Indent style", and read up on K&R, and the 1TBS varient, I think those are the best to use, as they are basically the "standard" style (it has other benefits, but I'll keep this short). Also, keep each line of code to 80 characters maximum. This is considered kind of "old school", but if you have to access a remote server with an 80x24 character terminal, you'll be very glad you did. There are lots of other elements to style, but those are the main ones.

    Honestly, I could talk about this all day, and would be happy to do so if you want to hear it, but I think that it would be more useful once you start learning and trying things for yourself. Just reading isn't a very good way to learn programming. So, feel free to send me a PM if you want to hear more about it once you start, or now if you have any questions. I hope this has been helpful!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook