Self teaching basic computer science

Click For Summary

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.

captain
Messages
163
Reaction score
0
I wanted to teach myself computer science, but I don't know any great beginning books that give a solid introduction. I am a complete novice. Could someone provide some names? I am trying to learn C. And is windows good for doing C or is another operating system more preferrable?

Appreciate the help thanks in advance.


On a sidenote: I wasn't sure where to put this whether it should be in the science book review since I am asking about a book or i the computer science section.
 
Physics news on Phys.org
C is very good for learning how computers work. If you want to simply learn to program to do stuff I would pick something a little more high level like python or javascript.

Computer science is completely different from programming and deals with things like algorithms and data at a much more abstract level.

It doesn't really count as computer science but one of the best intro computer books is 'code' by windows programming guru Charles Petzold.
 
You should try the free online textbook http://www.htdp.org" . The printed version sells for about $60 US I think. It teaches to program with Scheme, which is basically a dialect of lisp. It doesn't have much (if any) commercial value, but the language allows you to understand the fundamentals of computer science, whereas a language like C 'hides' certain core ideas because of the way it's implemented. And the person above me pointed, CS isn't about programming, it's about the logical structure that all programming languages possess.
 
Last edited by a moderator:
If you are prepared to learn scheme then the classic course is Structure and Intepretaion of Computer programs, the book and video lectures are freely available on line http://mitpress.mit.edu/sicp/
 
Squeak: Learn Programming with Robots by Stéphane Ducasse

Smalltalk will get you programming with objects from the get go, and then you can take your good habits to C++, Java, or even C (if you must). This guys a smalltalk guru and has even pestered publishers to give away free out of print books on his website (great move):

http://stephane.ducasse.free.fr/FreeBooks.htm

"Squeak by Example" is a great place to start. Followed by:

Smalltalk by Example: the Developer's Guide Alex Sharp

Then, if you want to get *real* serious:

Object-Oriented Implementation of Numerical Methods: An Introduction with Java & Smalltalk by Didier H. Besset [not free]
 
Last edited by a moderator:

Similar threads

  • · Replies 3 ·
Replies
3
Views
5K
  • · Replies 11 ·
Replies
11
Views
5K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 41 ·
2
Replies
41
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 17 ·
Replies
17
Views
12K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K