Ask HN: How to best acquire theoretical computer science knowledge?
51–60 of 122 posts
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#52Earlier quoted context omitted.
There isn't really a standard foundation that everyone with a BS in CS has. Curriculum are different and different colleges will emphasize different things, not to mention that many courses are elective. It also depends upon what you consider to be a deep level? Are you interested in electronics and signal processing, mathematics or the structure/design of programming languages? Are you interested in individual compu…
I have no illusions that I could possibly learn it all. I just want to learn enough so that I can go deeper on something more specific, such as virtual worlds, and no how to proceed.
Ultimately it depends on where you see your shortcomings that are preventing you from doing what you want. Do you wish you had better credentials so that you could get a job with better pay or more interesting work? Or do you find yourself frustrated because you are not able to sufficiently grok a certain subject area.
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#53I strongly recommend - Algorithms in a nutshell from O'Reilly (http://www.amazon.com/Algorithms-Nutshell-In-OReilly/dp/0596...)
and - Cracking the Coding interview (http://www.amazon.com/Cracking-Coding-Interview-Programming-...)
Those two books are perfectly concise and straight to the point to understand and learn exactly what you feel you are lacking as a self-taught programmer.
The first one will teach you what you have to know, putting everything into work context, making it really easy to understand why and how this or that algorithm is useful.
Cracking the coding interview then offers really good challenges to practice and master those algorithms. And of course, if you are interested in getting a job, will perfectly prepare you for that ;)
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#54Theoretical computer science is probably not what you mean. Theoretical computer science are things like complexity theory (up to arithmetical hierarchy and randomized and approximation algorithms), theory of recursion (up to e.g. Gödel's theorems), (various kinds of) logic, algorithms and datastructures (full of hardcore probability and statistics), etc. Subjects like that give you a firm grounding in the area of co…
IamA graduate student in theoretical computer science. I don't know that I agree with the poster above with respect to: "a top school would require you to study a bunch of mathematics to gain a certain level of rigor of your thinking" Most good schools require only two courses in "pure theory": first an introduction to discrete mathematics, where you learn about logic and how to prove stuff, a smattering of number th…
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#55Re: Ask HN: How to best acquire theoretical computer science knowledge?
#56So, what is the best way for a proven and largely self taught developer to take their knowledge to the next level? It depends on how you learn. Some people will recommend Coursera et al., which are great. I tried some Coursera courses, but found that I found the pace too slow and became bored quickly. For me, reading always works the best, since I can adjust it to my pace. You could look up a curriculum (as someone e…
>It depends on how you learn. Some people will recommend Coursera et al., which are great. I tried some Coursera courses, but found that I found the pace too slow and became bored quickly. You can watch the lectures at 2x speed. ;)
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#57So, what is the best way for a proven and largely self taught developer to take their knowledge to the next level? It depends on how you learn. Some people will recommend Coursera et al., which are great. I tried some Coursera courses, but found that I found the pace too slow and became bored quickly. For me, reading always works the best, since I can adjust it to my pace. You could look up a curriculum (as someone e…
The SICP videos are available somewhere and are pretty intense.
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#58Earlier quoted context omitted.
>It depends on how you learn. Some people will recommend Coursera et al., which are great. I tried some Coursera courses, but found that I found the pace too slow and became bored quickly. You can watch the lectures at 2x speed. ;)
Yeah, but you can't jump to the next lesson - unless you wait until the end of the course and see them all at the time, but then you won't get a certificate because you miss the quiz deadlines.
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#59Now i work as a product manager in a bigger firm (also law related), and i'm learning how to code through Coursera and Edx. I HIGHLY recommend them.
They are the future. The classes are very good. Way better than a regular class over here (Brazil).
If you are intereste in theoretical CS, here are 2 classes that you may be interested:
Programming Languages (https://www.coursera.org/course/proglang): It focuses on functional programming. The first edition was VERY high recommended. Here you will learn about functional paradigm, and the differences in using it in several languages (some purely functional, like SML, some hybrid, like Ruby)
Automata (https://www.coursera.org/course/automata): It cant get more theoretical than this. The professor is Jeff Ullman. A legend. For free.
Machine Learning: A second version of Andrew Ng just ended. The third edition will be offered soon.
see.stanford.edu is also a very nice place to learn. They are actual stanford classes taped, and offered for free, online. I`m taking the three introdutory classes, and the machine learning classes.
Also, there are several architecture, compilers and algorithms classes too. After my first course (cs50.net), i realized that colleges (at least for CS) are redundant right now. They can be awsome. But, if you are short of money, or are already working, these online classes can fill the gap, easily.
add me on skype if you want to talk about more classes: lucasribeiropereira
See you!
PS. They can be VERY challenge. Take one, at most two at a time. 10-20 hours per week per course is a good rule of thumb
Re: Ask HN: How to best acquire theoretical computer science knowledge?
#60Read papers. Read lots of papers. Start with easy ones to learn how to best digest highly academic technical writing then keep pushing. CS is remarkable in how much of its academic knowledge is online, available, for free. Taking advantage of that resource is beyond key. If you know roughly what you want to learn, search out a seminal paper in that area. If it's deep CS, you'll probably find a good one from the 80s.…