2 Replies - 5721 Views - Last Post: 15 June 2015 - 07:14 PM

#1 ishkabible  Icon User is offline

  • spelling expret
  • member icon





Reputation: 1739
  • View blog
  • Posts: 5,895
  • Joined: 03-August 09

Computer Science FAQ and Resources

Posted 13 June 2015 - 02:25 PM

CS FAQ

How do I write data structure or algorithm X?
I recommend looking wikipedia. They have huge list of them

What is computer science?
Computer science is the mathematics/science of computation and related topics. What makes this so difficult to characterize is that "related" is interpreted very loosely. Instead I'll try and give a feel for topics in computer science.

Computability
Computational complexity theory
Mathematical logic (not exclusive to CS)
Automata (somewhat a subset of computability)
Cryptography
Quantum Computing (has overlaps with physics in the way that computer engineering overlaps computer science)
Machine Learning and Artificial intelligence
Information Theory (the study of quantity of information, transmission of information, and storage of information density)
Formal methods
Programming Languages (which itself is rather broad and vaguely defined as involving "related" fields and frankly modern PL research has less to do with making programming languages)
Computational geometry

In general computer science attempts to stray away from implementation details (but not completely) but deals with all other aspects in a more mathematical and rigorous. In general we try to answer questions in the abstract and not in the specific.

how do I do this in language X?/How do I do this with tool X?
These are not generally computer science but can be. Tools like Agda/Coq, SAT solvers, and some other things are tools I use on a daily basis at work. Tools like these targeted at helping to solve problems in computer science might be topics worth asking a question about here but might also not be. For instance a question like "can Coq encode the ackermen function?" which is non-obvious (and the answer is yes!!) would fit. A question like "how do I write this grammar using Antlr?" would not be a good fit. However asking "how do I rewrite this grammar into an LL grammar suitable for a tool like Antlr" would be a good fit.

How do I start/keep learning
Check out the resources thread below. Online courses are a good way to get started. After a while of drilling into a particular area you start to run out of good content online. At this point a book is a good place to start. And above all else, do! Writing proofs, algorithms, tools that implement some theory of interest, etc... computer science might be an abstract area but a lot of the research revolves around real implementations like Coq, Agda, SAT solvers, actually implementing the algorithms and data structures in papers, etc...

This post has been edited by ishkabible: 13 June 2015 - 05:38 PM


Is This A Good Question/Topic? 1
  • +

Replies To: Computer Science FAQ and Resources

#2 ishkabible  Icon User is offline

  • spelling expret
  • member icon





Reputation: 1739
  • View blog
  • Posts: 5,895
  • Joined: 03-August 09

Re: Computer Science FAQ and Resources

Posted 13 June 2015 - 02:51 PM

CS Resources

The biggest free source of quality information on computer science is My link. They have a huge data structures page that contains all sorts of goodies. I will often just google something I want and like magic wikipedia will have something for me.

Other great sources if you want to learn a topic in depth and not a specific data structure or algorithm are online courses.

Coursera
Udacity
edx

Udacity is more tech oriented and less theory printed than the others. edx.org has an amazing quantum computation course that contains an accessible presentation of quantum computing that you wont find anywhere else. Most other information on the topic is quite a bit harder to get into and is mostly presented from the physics view rather than the computer science view. These places are great places to start getting into computer science. You can go though them at your own pace. For instance I like taking sprints where I go at them for 4 hours or so and then dropping the topics for a week to do something else then picking them back up.

Also take a look at our pinned threads.
Book suggestions
Tips for writing proofs

This post has been edited by ishkabible: 13 June 2015 - 05:30 PM

Was This Post Helpful? 1
  • +
  • -

#3 macosxnerd101  Icon User is online

  • Games, Graphs, and Auctions
  • member icon




Reputation: 12135
  • View blog
  • Posts: 45,119
  • Joined: 27-December 08

Re: Computer Science FAQ and Resources

Posted 15 June 2015 - 07:14 PM

We also have an excellent Computer Science tutorials section and a pinned math resource thread. Check out these resources to learn more about CS!
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1