All of DragorCochrane's Comments + Replies

If anyone needs a ride, I will be driving down from Westchester and expect to have three possibly four empty seats in my car. 

Other than suspecting I may have an aptitude, my interest in computer programming is driven by finding two fields cool and fun sounding: data science and applications of blockchain technology to stuff like verifying carbon sequestration and other changes in reality. Quite a bit of social science I deeply admire has been done using data science, and I have a couple of friends working to improve the world using blockchain technologies whom I also admire. I want to see if I am good at programming to see if I can participate in these endeavors I admire—or at l

... (read more)

Thank you so much for all your advice. You guys are awesome. Like An1lam and Mr.-hire point out though, I would actually need a project to work on. A practical, immediate application makes skills learnable much faster. Any advice on that?

1gilch
Try making a simple video game. Think Tetris, not Skyrim. I personally made variants of Pong, Joust, and Asteroids when I was learning programming. You can learn a lot from making video games because it requires a variety of programming techniques. You need to understand basic algorithms, some mathematics, and you can't be too inefficient about it or you'll notice performance problems. And seeing your little world come to life is very motivating. This kind of thing is not terribly difficult to do in Python or Racket. Note that many of the textbooks we've been recommending include exercises. Some of the more difficult ones count as small projects.

Anyone successfully approached this with computer programming? It's a subject I think I have reason to believe I would be talented at (I have exhibited strong aptitude for mathematics and languages), but I don't see a good path forward on working at it, so I learn other things. I think the "how" book might be something like codeacademy or khanacademy, but how about the "what" book or the "why" book?

1DragorCochrane
Thank you so much for all your advice. You guys are awesome. Like An1lam and Mr.-hire point out though, I would actually need a project to work on. A practical, immediate application makes skills learnable much faster. Any advice on that?
4gilch
Petzold's CODE might be another good "Why" book. Its focus is a little more on computer architecture than programming per se, but that's an important topic for programmers to understand. It's a pretty easy read. I'd call it more of a pop book than a textbook, but it still covers important concepts. If you're looking to learn programming, I'd highly recommend reading it.
4gilch
How to Design Programs (HtDP) might be a good "How" book.
1gilch
Concepts, Techniques, and Models of Computer Programming (CTM) is another good "Why" book.
1gilch
Introduction to Algorithms (CLRS) might be a good "What" book. [Edit: I'm no longer confident this fits into the "what" category.]
2[anonymous]
For programming, I think starting with a project and using that to decide what books to read my work best. Assuming you want to learn to program rather than learn Computer Science, the books that will be helpful will depend highly on the area in which you're interested. Do you just generally want to see if you'll be good at programming? Even if so, is there a specific area which you'd be interested in writing a program, e.g. an operating system, a server, a web app, etc.? I agree with the comment below that SICP is a good "Why" book but did want to note that I personally didn't find SICP nearly as enlightening when I started programming as many others seem to. I've gone back to it since and loved it, but it definitely was not the thing that motivated me to practice programming a lot. Like everything else, it depends on your personality.
5Vladimir_Nesov
SICP is a "Why" book, one of the few timeless texts on the topic. It's subsumed by studying any healthy functional programming language to a sufficient extent (idiomatic use of control operator libraries, not just syntax), but it's more straightforward to start with reading the book.

Ok. I have read the first two, guess I gotta read the third. I wonder what sort of project one could apply these to. I remember when I read Thinking Fast and Slow I tried to use it to earn more tips, but the application, while seemingly useful, wasn't an excellent fit.

Goddamn that is a great idea! This style totally suits how I learn in that I A) am personable, B) Immensely enjoy phonecalls, and C) Strongly, strongly prefer projects when I can verbally ask questions of someone who has done before.

How long does it generally take you to find the person's number? Have you had more difficulty getting them to pick up now that VOIP spam is so common?

I have read a lot of books on Buddhism, but the first in your list is the only one I have even heard of. I will have to check them out.