I had a good relantionship with Segdewick's books, before being turned off by Cormen a few times. They are less math focused, and overall have a beginner friendliness to them. They won't take you by the hand an explain things like you are 5, but nevertheless they are more easy to digest. Also as a non-popular opinion in this current age, I recommend you to learn how to implement your algorithms in C, rather than an e…
this recent book published by No Starch implements everything in pure c: https://nostarch.com/algorithmic-thinking
Ask HN: I'm looking for a good book on the fundamentals of CS
111–120 of 190 posts
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#112I'm partial to CMU's CS syllabus for obvious reasons, but I find that it's also one of the most open and available resources on the web; i.e. not locked in on an intranet, etc.
With pre-existing background in software development the basic syllabus is more than doable in a 3-4 months. There are two sequences below: programming and theoretical fundamentals; you can do them in parallel.
Programming:
15-211: Introduction to Data Structures. Used to be in C++; now looks like it's in Java. https://www.cs.cmu.edu/~mjs/121/lectures.html
15-212: Principles of Programming. Still in ML. https://www.cs.cmu.edu/~me/212/schedule.html | https://www.cs.cmu.edu/~fp/courses/96-212/ (unlocked assignment pages)
15-213: Intro to Computer Systems. I hesitate to recommend this; 90% of the value in this course is in the labs and assignments, so it's difficult to do on one's own, but I would at least go through the slides and try to work through exams. https://www.cs.cmu.edu/~213/schedule.html
Theoretical:
15-251: Great Ideas in Theoretical Computer Science. Used to be Discrete Math with a heavy CS lean; it may have evolved. https://www.cs.cmu.edu/~15251/schedule.html
15-451: Algorithms. Here's a decade worth of lectures, exams and assignments - take your pick: https://www.cs.cmu.edu/~15451/ The 2013 course looks pretty complete: https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15451-f...
Next steps:
Since you are interested in VR, etc, you should probably look into the Computer Graphics courses. Note that the undergrad and grad courses are combined; the only difference is the expectations:
15-462: Computer Graphics http://15462.courses.cs.cmu.edu/fall2020/ Exam problems and solutions are gold: http://15462.courses.cs.cmu.edu/fall2020content/exams/finals...
15-463: Computational Photography http://graphics.cs.cmu.edu/courses/15-463/
15-464: Technical Animation http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/syllabus... http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/assignme...
Hope this helps. Good luck!
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#113Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#114A lot of recommendations here, so I would like to ask for some (hope that's allowed). - Operating Systems. I had a course on OS (I'm a student), but I felt it was kind of lacking, and would like to explore more. - Compilers? Seems very interesting Also I've started with a bit of haskell to learn functional programming, would love some pointers from the more experienced people here :D (Also networking?? So much to lea…
I've done a moderate amount of compiler work, and the resources I'd recommend are: - "Compilers: Principles, Techniques, and Tools" (v popular, generally referred to as the 'dragon book' on account of its cover): http://ce.sharif.edu/courses/94-95/1/ce414-2/resources/root/... - "Parsing Techniques": https://staff.polito.it/silvano.rivoira/LingTrad/ParsingTech... - Not quite about compilers, but the website 'Crafting…
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#115I'll take the opportunity to hop on to this thread and admit that I have never properly learned C (I have seen some code here and there). Considering there are several comments advising on using C as the language to implement the algorithms, what is your recommendation to get started with C? I'm looking for something that is not too long (I have a problem continuing with big books) and yet is concise and teaches the…
It's obviously not going to teach you the ins and outs of modern C development, but it's the best introduction to the language out there IMHO.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#116"Foundations of Computer Science" by Aho and Ullman might fit your bill. Its focus is more on the concepts and principles of computing rather than math-centric CS theory. http://infolab.stanford.edu/~ullman/focs.html Another nontraditional intro to computing worth mentioning is "Structure and Interpretation of Computer Programs" by Abelson and Sussman(s). It teaches programming concepts using the Lisp/Scheme language…
For a second or third book, consider 'Algorithm Design Manual', Skiena. I find it more approachable than the MIT Intro to Algorithms.
Also, 'The C Programming Language' remains one of my favorites for a pragmatic approach to learning how to say things to a computer, a great balance to learning the theory. There's a reason 'Hello World' has become so widely known that it's a cliche. But there is plenty of great advice there no matter what language you're in.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#117In particular they say if you can't take the time to do all of it then there are 2 books that give most bang for buck: _Computer Systems: A Programmer's Perspective
Designing Data-Intensive Applications
See hacker news thread: https://news.ycombinator.com/item?id=22286340
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#118I'll take the opportunity to hop on to this thread and admit that I have never properly learned C (I have seen some code here and there). Considering there are several comments advising on using C as the language to implement the algorithms, what is your recommendation to get started with C? I'm looking for something that is not too long (I have a problem continuing with big books) and yet is concise and teaches the…
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#119Based on the description you give, you probably want a Data Structures/Algorithms intro. The canonical Algorithms textbook is Introduction to Algorithms by Cormen et al. The MIT OpenCourseware course on Algorithms -- which includes videos and assignments -- follows along with that book: https://ocw.mit.edu/courses/electrical-engineering-and-compu... Note: In your case, I'll recommend against SICP as a first resource,…
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#120I had a good relantionship with Segdewick's books, before being turned off by Cormen a few times. They are less math focused, and overall have a beginner friendliness to them. They won't take you by the hand an explain things like you are 5, but nevertheless they are more easy to digest. Also as a non-popular opinion in this current age, I recommend you to learn how to implement your algorithms in C, rather than an e…
This was the book I used. It is more accessible yet interestingly some comments seem to characterize it as "beginner friendly" in a way that suggests it is less canonical. Make no mistake, if you learn the material in Sedgewick well you'd be light years ahead of 99% of your peers. It likewise provides depth and foundations for things like leetcode, thus far the majority of leetcode problems I've done were toy version…
What's the main difference between sedgewick and the grok algo book?