Reddit Reddit reviews Foundations of Computer Science: C Edition (Principles of Computer Science Series)

We found 3 Reddit comments about Foundations of Computer Science: C Edition (Principles of Computer Science Series). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
Foundations of Computer Science: C Edition (Principles of Computer Science Series)
Used Book in Good Condition
Check price on Amazon

3 Reddit comments about Foundations of Computer Science: C Edition (Principles of Computer Science Series):

u/spacecadet__pullout · 1 pointr/C_Programming

The book I learned with
It's old, but still the best C language DSA book.

Here's another by Alfred Aho and co.. It's more of a general programming book, but covers most of the introductory DSA topics, and does it well. Brilliant man and a great teacher.

u/gnuvince · 1 pointr/Quebec

> Elle repose sur le dos de quatre éléphants qui sont eux-mêmes sur le dos d'une tortue géante qui se promène dans le cosmos.
>

Pas le contraire? https://www.amazon.com/Foundations-Computer-Science-Principles/dp/0716782847/ref=sr_1_1?ie=UTF8&qid=1465989941&sr=8-1&keywords=foundation+of+computer+science

(En passant, le texte de ce livre est disponible légalement et gratuitement sur le site d'un des auteurs: http://infolab.stanford.edu/~ullman/focs.html. C'est un des meilleurs livres de CS que je connaisse.)

u/phao · 1 pointr/algorithms

You can come back to it later, yes. Why though? You'll need them "now", won't you? I mean, you're going through the book (Skiena's) now, not later. Isn't that right? If you learn it now, you will go through the book better equiped to get its message.

And, besides, it isn't that difficult. It's not trivial by any means. You can try some alternative resources.

  • MIT has a course on math for CS, which include several topics which serve as a foundation to, among many things, proving things correct in CS. I don't believe the course will directly help you, but it seems worth to take a look (http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ - notice the video lectures link on the side).
  • "Foundations of Computer Science", this is a book (http://www.amazon.com/Foundations-Computer-Science-Principles/dp/0716782847/) and they cover the topic of proofs in there too. It's a very good book for all I can remember.
  • Dijkstra's books. He has two books that I know can help you on this: "Structured Programming" (http://www.amazon.com/Structured-Programming-P-I-C-studies-processing/dp/0122005503/) and "The Discipline of Programming" (http://www.amazon.com/Discipline-Programming-Edsger-W-Dijkstra/dp/013215871X/).

    I'm not sure why you're interested in deferring this to later. Personally, I believe having seen how proofs of correctness are somewhat done is way more worth it than seeing the algorithms themselves, although some algorithms are pretty educational (like quicksort and also binary search for example). Because even though you won't prove programs correct in practice, knowing how a proof might be devised helps you in writing programs that are easy to prove, and those have to be simple. The whole idea of structured programming that Dijkstra had in mind was to help with this. It's way more intuitive to reason about "while (i < 10) { <do something> }" than a bunch of goto's. In the while-loop case, you can clearly see that upon termination, i >= 10 is true for example. And you can also clearly derive some properties about the body of the loop inductively by analyzing previous iterations.

    A lot of good readable code techniques can be put in terms of easy to prove code. Like small functions that do very little, are very cohesive, and work collaboratively. Same for objects. It's way easier to prove correct a bunch of small pieces that work together by some simple means of combination, than a huge big thing.

    Good luck.