What do computer scientists do???

<p>I'm really confused right now. I'm thinking about doing engineering in college but I don't get what computer science is for. I just read that most CS majors go into research. Well, yeah obviously if you have a phD. </p>

<p>What do undergrand CS majors do? I know they do programming but what else? I want to go into industry not academia (blehhh) and am also thinking about grad school or MBA.</p>

<p>write angry posts about electrical engineering students on message boards.</p>

<p>actually CS majors learn stuff about programming, the design of computer systems and software, and the theory about solving problems and computing the answers to them.</p>

<p>I’d suggest reading research papers by Computer Scientists to get a feeling for what they do. If you are at a research institution, browse over to the department site and drill down to the professors there. They should indicate their areas of research and provide a list of their publications. They may also have pages describing their research.</p>

<p>You could also try finding a professor with time to talk about his or her research. You might ask how what you are studying relates to research.</p>

<p>Most of the CS curriculum is geared to industry so you should be prepared for industry. Undergrads usually only get a small taste of theory.</p>

<p>@silence_kit:</p>

<p>LOL. Loves it. Technically speaking, that’s just an elective. It is, however, a prerequisite for such things as writing angry journal articles about the state of EE and writing books on why CS is better than EE. That’s more advanced material, though.</p>

<p>@OP:</p>

<p>You ask an interesting and multifaceted question. What do computer scientists do? Well, if you want to draw distinctions where they may not fully exist, we can try that.</p>

<p>The first step down the rabbit hole is to differentiate between programming, software engineering, computer science, and computer engineering.</p>

<p>Programming: writing code in a programming language to make the computer do something. The result of this activity is what many people think of when they think of software.</p>

<p>Software engineering: designing software systems using ostensibly engineering methods. A theoretical and applied approach to getting requirements, analyzing, designing, architecture, testing, and maintenance.</p>

<p>Computer science: essentially a branch of pure and applied mathematics, this deals with what have become “fringe” topics in mainstream mathematics: algorithm design and analysis, proof theory, graph theory, networks, computability theory, formal languages, etc. Programs are written to motivate, test, and demonstrate effectiveness of theories.</p>

<p>Computer engineering: very similar to electrical engineering, with more of a slant towards computer systems. Basically, this is the interface between hardware and software, and as such, dabbles in a bit of both, though not to the extent of either the EE or the SE major.</p>

<p>In practice, any practical college curriculum for any of these will contain a mix of the others; it is useful and desirable to have students in any of these know something about all of them. </p>

<p>Programming can require from no college education to a bachelor’s or higher, depending on the complexity of the job and the domain. When you hear people talking about how they got jobs in computing without going to college, this is usually what they’re talking about, I would imagine.</p>

<p>Software engineering and computer engineering generally require a bachelor’s, or higher for more difficult positions or management positions. These are the sorts of jobs that most people will want to get with a college degree.</p>

<p>Computer science is more research-oriented, and therefore usually (though perhaps not always) requires a graduate degree of some kind.</p>

<p>What are some of the things computer scientists do?

  • Graph theory / algorithms
  • Algorithm design and analysis
  • Data structures
  • Programming Languages
  • Formal languages
  • Automata
  • Networks
  • Artificial intelligence
  • etc.</p>

<p>What are some things that software engineers do?

  • Software process
  • Software quality assurance
  • Software architecture
  • Formal methods
  • etc.</p>

<p>Hope this has cleared some stuff up.</p>

<p>

</p>

<p>Interesting point, AMTutor. To get into management positions, does this mean you need a degree in something related to CS, or can you get a totaly unrelated degree, become a programmer, and then work your way up from there?</p>

<p>“To get into management positions, does this mean you need a degree in something related to CS, or can you get a totaly unrelated degree, become a programmer, and then work your way up from there?”</p>

<p>You don’t need a CS or related degree to become a software engineering manager. Sometimes finance, accounting or something completely unrelated will work. Usually the management position is obtained in a lateral move. That is an accountant from an engineering organization given management of the organization where the accountant has no technical skills.</p>

<p>hmm thanks Auburnmathtutor</p>

<p>tbh I just hope that Eng 101 will help me decide what major I want</p>