Date: 2006-03-18 06:36 pm (UTC)From: [identity profile] winterkoninkje.livejournal.com
Oh yeah, those books, before I forget again...

The first is "Discrete Structures, Logic, and Computability" by Jim Hein (2002, 2nd ed, Jones & Bartlett, ISBN 0-7637-1843-2). This book covers the theoretical side of CS from set theory, to logic, to (some) graph theory, to languages (in the mathematical sense, i.e. regexes and the like), and even some on computability and automated reasoning. For the topics it is by far the best written I've seen. Apparently Jim used this book to teach some highschoolers in a crash course and at the end of the day they still remembered what they learned. It also has a section in the front that gives course suggestions for different topics and course lengths. There's an accompanying labbook, but unless you have access to Maple and Prolog, it won't be too helpful.

For more of the hardware side of things, "Computer Systems: A Programmer's Perspective" by Bryant & O'Hallaron (2003, Prentice Hall, ISBN 0-13-034074-X) is pretty good. It covers topics like how C structures it's memory, and how negatives and real numbers are dealt with in binary, up through the internal structure of cpus, and virtual memory. Also covers library linking, exceptional control flow, measuring execution time and optimization, system i/o, signals, etc. They also give some course suggestions based on topic, though not based on timeframe/depth.

Those two books'll cover about the first two years of a BS. If you're interested in learning more about algorithms and complexity, there's a book by Levitin which is pretty good. It covers all the basic algorithms from a different perspective than most and also goes over a number of interesting data structures (B-trees, heaps,...). It doesn't have the enormous depth of other books like CLRS, but I'd say it's the best place to start before getting distracted by math.

I haven't run into any really good books on languages and compilers yet, though a fair chunk of the theory is just the practical/application side of the language and finite automata stuff you'll get in Hein's book. I'm not sure what other branches you might be interested in exploring. I'm going to be heading in the direction of languages and AI (the neural nets and complex adaptive systems variety more than master systems) so I'll let you know if I come across any really good books on those topics.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

April 2019

S M T W T F S
 123456
78910111213
14151617181920
212223242526 27
282930    

Tags

Page generated 30 Jul 2025 02:37 am
Powered by Dreamwidth Studios