Apart from CS50 and MIT's intro to python course, which books or courses do you think will be suitable enough to be recommended to beginners wanting to learn programming with high school knowledge of algebra and a bit of calculus?<p>The books/courses are just get them up to pace so that they can start building their own projects after that?
How long is a piece of string?<p>It depends very much what kind of projects you want to create. Embedded systems? Kernel? Websites? Apps? Games? AI?<p>There's a universe of infinite possibilities out there.<p>Generally though, avoid frameworks until you know the language, and learn the fundamentals. And learn the tools, testing and pipelines etc.
If you don't care what language you're starting with, but rather just want a good introduction to programming then I can't recommend Daniel Shiffman's[0] Learning Processing[1] book enough. It uses Java and Processing[2] to make visual interactive programs instead of the traditional text-based programs.<p>0. <a href="https://www.youtube.com/c/TheCodingTrain">https://www.youtube.com/c/TheCodingTrain</a><p>1. <a href="http://learningprocessing.com/" rel="nofollow">http://learningprocessing.com/</a><p>2. <a href="https://processing.org/" rel="nofollow">https://processing.org/</a>
"How To Program" - Chris Pine
"The C# Player's Guide" - RB Whitaker<p>When I first started these were the most useful books I used. Chris Pine's writing was the most accessible for me being new to programming.
I would encourage you to take a look at the ACM CS Curricula for exemplar programs and courses. From there you can check out materials and lectures from Stanford University's Engineering Everywhere program[0].<p>[0] see.Stanford.edu
I know that’s not exactly what you’ve asked for, but my 2 cents: The best book is continuing projects that involves a lot of “What the hell is this” topics.
Here is what I follow: <a href="https://github.com/woadray/cs-bootcamp">https://github.com/woadray/cs-bootcamp</a>
Replit 100 Days of Code<p><a href="https://replit.com/learn/100-days-of-python">https://replit.com/learn/100-days-of-python</a>