How can I be a great computer scientist and what courses should I take to move from...

Quora Feeds

Active Member
Kate Liotta

There are a few topics that every programmer should master. Other choices of topics would depend on what specifically you want to focus on. Computer science is, after all, an incredibly broad subject.

Core concepts: algorithms, data structures, basic complexity theory, databases, object-oriented design, parallel programming, and if you really want to be a kick-ass programmer, functional programming (Haskell is always a good choice).

You absolutely need to become comfortable with version control if you haven't already. It's useful even if you're working on a project by yourself. If possible, practice by doing your assignments and personal projects with some sort of version control set up. Git is fantastic. Perforce is not bad.

If you want a theoretical focus: advanced algorithms, advanced complexity theory, theory of programming languages / semantics, information theory, automata theory. Of course, there are subfocuses within theoretical CS that you can discover yourself, but these are the basics.

If you want more of a systems focus: computer architecture, operating systems, distributed systems, database implementation, performance analysis. I'd also become as experienced as possible with implementing and debugging parallel programs - those bugs are hard to anticipate and find.

If you're interested in web development: HTML, Javascript, Ruby, SQL, Node.JS, and UI design.

There are many other possibilities for areas to focus on - lots of interesting research going on in machine learning, computer vision, cryptography, quantum computation, and much more - but hopefully this gives you some ideas to go off of.

See Questions On Quora

Continue reading...
 
Similar threads
Thread starter Title Forum Replies Date
S Looking for a study buddy working on computer science Q&A 3
A Study Buddy Computer scienc Study Buddy 0

Similar threads

Top