Self teaching basic computer science

In summary, the person is looking for a good beginning book to teach themselves computer science, specifically in the language C. They are recommended to start with a higher level language such as Python or Javascript if they want to learn programming, and to focus on understanding algorithms and data structures for computer science. A recommended book for this is "Code" by Charles Petzold. Another free online resource for learning is the textbook "How to Design Programs" which teaches programming in Scheme. For learning Smalltalk, the recommended resources are "Squeak by Example" and "Smalltalk by Example: the Developer's Guide" with the option to move on to "Object-Oriented Implementation of Numerical Methods" for a deeper understanding.
  • #1
captain
164
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
  • #2
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.
 
  • #3
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:
  • #4
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/
 
  • #5
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:

1. What is computer science?

Computer science is the study of computers and computational systems, including their principles, their hardware and software designs, their applications, and their impact on society.

2. Why is it important to learn basic computer science?

Basic computer science skills are essential in today's digital world. They can help you understand how computers and technology work, improve your problem-solving abilities, and open up career opportunities in various industries.

3. What are the essential topics to cover in self-teaching basic computer science?

The essential topics to cover in self-teaching basic computer science include programming fundamentals, data structures and algorithms, computer architecture, operating systems, and computer networking.

4. Is it possible to learn computer science without a formal education?

Yes, it is possible to learn computer science without a formal education. With the vast amount of online resources and self-learning materials available, individuals can teach themselves basic computer science skills at their own pace.

5. How can I practice and apply my computer science knowledge?

You can practice and apply your computer science knowledge by working on personal projects, participating in coding challenges and competitions, and contributing to open-source projects. It is also important to continuously learn and stay updated with new technologies and developments in the field.

Similar threads

  • Science and Math Textbooks
Replies
3
Views
2K
  • Science and Math Textbooks
Replies
11
Views
2K
  • STEM Academic Advising
Replies
3
Views
819
  • Science and Math Textbooks
Replies
1
Views
2K
  • STEM Career Guidance
Replies
6
Views
243
  • New Member Introductions
Replies
1
Views
59
  • Science and Math Textbooks
Replies
3
Views
2K
  • STEM Academic Advising
Replies
6
Views
1K
  • Science and Math Textbooks
Replies
2
Views
1K
  • Science and Math Textbooks
Replies
17
Views
5K
Back
Top