Computer Science books for self-study

Click For Summary

Discussion Overview

The discussion centers around recommendations for computer science books suitable for self-study, particularly focusing on the mathematical and logical foundations of computation. Participants express interest in introductory texts that maintain a level of mathematical rigor, covering topics such as data structures, algorithms, discrete mathematics, probability, cryptography, data compression, and fractals.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • One participant seeks recommendations for books that provide a mathematical foundation in computer science, distinguishing between practical programming guides and more theoretical texts.
  • Another participant recommends two specific books, indicating they are used as textbooks in universities.
  • A participant questions the difficulty of the recommended books, expressing concern that they may be too advanced for beginners.
  • It is noted that the recommended books are not considered "light" reading, suggesting they may not be suitable for those looking for an easy introduction.
  • One participant emphasizes the distinction between computer science and software development, arguing that computer science is fundamentally a mathematical and logical discipline.
  • A suggestion is made to explore "Discrete Mathematics with Applications" as a decent resource for 200-level courses.

Areas of Agreement / Disagreement

Participants express varying opinions on the appropriateness of the recommended books for beginners, indicating a lack of consensus on their difficulty level. There is also a shared understanding of the distinction between computer science and software development, though the implications of this distinction are discussed with differing perspectives.

Contextual Notes

Some participants express uncertainty about the difficulty of the recommended texts and their suitability for beginners, highlighting the need for personal judgment when selecting books. The discussion reflects a range of assumptions about the level of mathematical rigor appropriate for introductory computer science study.

petersburg
Messages
3
Reaction score
0
Hi, I'm a prospective computer science student and would like to get a heads-up on some of the courses that I would most likely be taking at a university.

Just to make the distinction, I'm not talking about books like "Teach yourself x in x decades" or "practical guide to data structures". I know how to program, and am much more curious about the mathematical and logical underpinnings of computation. What I'm looking for are books that are introductory in nature, but that provide a mathematical rigour appropriate for said level.

Some topics I'm thinking of in particular are data structures, algorithms, discrete math, probability and some more advanced topics such as cryptography, data compression and fractals (obviously these are of a more advanced in nature, so humour me). So if you have any suggestions, I'm all ears.
 
Physics news on Phys.org
Bill B, how would you gauge the difficulty of the material in those books? I've heard of and have read reviews about these two books, but I've come to a (possibly hasty) conclusion that they might be alittle too advanced for someone in my situation.
 
Both books are used as textbooks by a number of universities. So, they're not what I would call "light" reading. If you're looking for an easy introduction, then they may not be a good fit. But in the event you want to dive in hard... they may fit the bill.

I would suggest trying to find copies at a library or bookstore and peruse through them so you can make your own judgment.
 
Bill B: That's probably what I'll end up doing. Thanks.

I'm hoping this topic also helps others interested in the real computer science, because quite often the phrase 'computer science' is used interchangeably with programming and software development, which is somewhat deceiving. Software development is not computer science, at least not in the theoretical sense of the phrase. Programming is a useful tool for bringing computer science to life, but is not strictly needed by a computer scientist.

In essence, computer science is a mathematical and logical discipline.
 

Similar threads

Replies
12
Views
4K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 5 ·
Replies
5
Views
5K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 14 ·
Replies
14
Views
10K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 18 ·
Replies
18
Views
4K