Discussion Overview
The discussion revolves around self-teaching computer science, specifically focusing on beginner resources and programming languages. Participants explore various books and languages suitable for novices, with a particular mention of C, Scheme, and Smalltalk.
Discussion Character
- Exploratory
- Technical explanation
- Conceptual clarification
Main Points Raised
- One participant seeks recommendations for beginner books on computer science and inquires about the suitability of Windows for learning C.
- Another participant suggests that while C is beneficial for understanding how computers work, higher-level languages like Python or JavaScript might be more suitable for general programming.
- A participant emphasizes that computer science encompasses more than programming, focusing on algorithms and abstract concepts.
- One suggestion includes the book 'Code' by Charles Petzold as a good introductory resource, although it is noted that it may not strictly fall under computer science.
- A free online textbook, "How to Design Programs," is recommended for learning programming with Scheme, highlighting its value in understanding fundamental concepts.
- Another participant mentions the classic course "Structure and Interpretation of Computer Programs" as a valuable resource, available online.
- Smalltalk is proposed as an alternative starting point, with resources like "Squeak: Learn Programming with Robots" and "Squeak by Example" suggested for beginners.
Areas of Agreement / Disagreement
Participants express a range of opinions on the best resources and languages for beginners, indicating that there is no consensus on a single approach or material. Multiple competing views on the suitability of different programming languages and their educational value are present.
Contextual Notes
Some participants note the distinction between programming and computer science, suggesting that certain languages may obscure fundamental concepts. The discussion includes various resources, but their applicability may depend on individual learning goals and preferences.