Is there a Job for Computer Science Graduate that does not do programming?

Which computer courses (other than programming) are important for a job-seeking computer science graduate?

  • Please rate them...

  • Answer:

    First and foremost: the languages you learn as a CS major will ultimately become old and defunct N-number of years later. While programming courses are essential, what you really get out of your CS degree is an appreciation for timeless theory and critical thinking skills essential for programming in any language or framework. To that end I recommend the following courses: Algorithms: Every CS major takes at least one or two courses in algorithms, but the best software engineers drown in this stuff. Everything from how Google works (PageRank) to Facebook's News Feed (Machine Learning/NLP) to AI in Video Games (Decision Tree Analysis and Hidden Markov Models) is based off of algorithms. Algorithms is the bread and butter of computer science. If computer scientists are wizards, algorithms are their spells. They are language non-specific, and will allow you to solve many computational problem elegantly and cleanly. Furthermore, studying the analysis of algorithms makes you lethal when it comes to code optimization. Programmers who know the time complexity of the code they write (how difficult it is to compute a problem given its input size) are VERY valuable. In fact, I'd say that this skill is utterly essential if you want to be a good software engineer. Discrete Mathematics: This is another required course at most ABET accredited schools. Discrete is usually a college student's first introduction into so-called "pure math" - math for math's sake. Lots of the material in discrete is immediately applicable to CS students and programmers. Boolean algebra, predicate calculus, and set theory will all prepare your mind for the ability to optimize database queries and think in a manner conducive to code optimization. Proofs (particularly inductive proofs) will help you later in algorithms courses, and allow you to train your mind to attack an ill-defined problem with lots of tools. Statistics: You'll take a LOT of calculus courses in your time a CS student. While calc is important, direct applicability of calculus is minimal at best. Statistics on the other had is completely different; understanding how probability theory works and distributions will make you stellar at managing data and give you some neat tools and tricks to write highly optimized code. Plus you'll be scary good at poker and counting cards if you get deep into stats and probability theory. I loved my weekly college poker game with CS/Math vs. Biology, if only because telling the other guy the exact probability he has to complete the straight he's trying to hide is a hell of a lot of fun. Economics: CS/Math : Programming :: Economics : Business. Given that it's important to note how your code is going to be used in a market/biz sense, approaching the other side of the equation from the theory perspective can really help you appreciate the needs behind the various requirements your manager will place on your code later in life. Plus, if you do want to move into the managerial track, econ will help you prepare for getting a MBA later in life. CS majors generally do pretty well in economics if they approach it from a mathematical angle. Econ uses much of the same math as CS, so you're probably going to have a lot of fun whipping out things like distributions and Rolle's Theorem to solve problems in 1st and 2nd year economics.

Andy Manoske at Quora Visit the source

Was this solution helpful to you?

Other answers

Algorithms and Data Structures are the essential basics and will form your cookbook of programming. Discrete Math helps you wrap your head around the different ways of thinking about programs, proofs, and problem-solving. Logic courses are invaluable, Boolean algebra, propositional calculus, this is what you will really need when designing an algorithm to solve a real world problem. Set theory should be included somewhere in there (either in discrete math or logic courses). CS doesn't exist in a vacuum, computer programs are written to solve real world problems in some domain, so if you know what problem domain interests you (physics, business, health care) courses in that will naturally help.

Tom Wilson

The most important course you can take is the one you make up yourself.  Put a challenging problem in front of yourself, preferably something you are passionate about and interested in, and spend 1-4 years of your spare time in college working on it.  You will learn more than you could in any given course, save yourself the time of dealing with academic bureaucracy, and most importantly, have real-world work, the stuff that employers actually care about.  If your lucky, your work might actually become something valuable (see: Facebook). A few ideas: Create a web application Create a game Create a ray-tracer or rendering engine Create an AI for taking on a non-standard problem (i.e. not another chess-bot). Design your own language and compiler Design your own operating system Create middleware for a popular field Create a plugin for a popular application etc...

Gavan Woolery

Good answers already on this thread. I would only add that you should pay close attention to your electives (what few you have) in your 400 level CS courses and pick a topic that interests you. In my case the one elective I took of "Intro to DBMS" is what put me over the top in an interview. The classes in Algorithms and Discrete Math already mentioned are required courses and while they are crucial into getting the core essense of CS, it's hard to make those attributes stand out on a CV. That said, be sure to keep the core CS textbooks and refer back to them from time to time.

Phil Parnell

Lots of job oriented computer courses available other than programming. Its include CCNA,CCNP,MCSE and much more .. Basic course like photoshop and multimedia animation is also important for job seeking. If you want more details and list of computer courses then check 20 best job oriented computer courses after graduation. sourse: http://technicgang.com http://www.technicgang.com/job-oriented-computer-courses-after-graduation/

Technic Gang

In these days,networking courses are important like LINUX,CCNA and other type of computer course....Linux is used for making a networking servers and configure them.... CCNA is used for configure Internet modems....etc

Waqas Jamshaid

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.