Live data from Hacker News

Ask HN: Books that teach programming by building a series of small projects?

news.ycombinator.com

91–100 of 204 posts

Re: Ask HN: Books that teach programming by building a series of small projects?

#91

My biggest gripe with all the project tutorials I’ve seen is that really quickly you get into a “ok I get what we’re doing” and then just copy the code they provide. At the end of the day you did zero mental workout because you didn’t have to figure out the code. I hope to find one of these that guides you but doesn’t give you the code immediately, but has a code answer key at the end or something. I get it that it’s…

For this reason you need to find _your own_ projects, solve your own problems (which are actually pretty common, but you have to search or figure out a solution)

That's what I tell everyone

Re: Ask HN: Books that teach programming by building a series of small projects?

#92

Check out my blog series, "Challenging projects every programmer should try". Who knows, maybe I will turn it into a book that shows how to implement each project :) https://austinhenley.com/blog/challengingprojects.html

I like your list. Maybe you could break the projects down into smaller subproblems (you sort of do that already) but I personally don't like seeing the implementation. It gives you a false sense of understanding imo.

Re: Ask HN: Books that teach programming by building a series of small projects?

#93

My biggest gripe with all the project tutorials I’ve seen is that really quickly you get into a “ok I get what we’re doing” and then just copy the code they provide. At the end of the day you did zero mental workout because you didn’t have to figure out the code. I hope to find one of these that guides you but doesn’t give you the code immediately, but has a code answer key at the end or something. I get it that it’s…

Thinking of building something along those lines i.e. you can peek ahead if you really get stuck.

Proj-based learning is really fun to both create and consume imo.

Re: Ask HN: Books that teach programming by building a series of small projects?

#94

For Swift: https://www.apple.com/swift/playgrounds/ (I've had more success introducing programming with this than with any of the links below; it's a very compelling intro for those who already own an iPad/Mac, and the core concepts are generalisable to other languages/environments even if it's specific to Apple's APIs and hardware.) ~~~ For Python: https://automatetheboringstuff.com https://nostarch.com/big-book-sma…

I beg to differ: for all its qualities, Eloquent JavaScript is not a very beginner-friendly book. It goes quite deep into many JS intricaties and contains a lot of challenging tasks for people just discovering programming.

More beginner-focused alternatives are https://www.freecodecamp.org and https://thejsway.net.

Disclaimer: I've been teaching programming professionally for 15+ years and wrote the latter.

Re: Ask HN: Books that teach programming by building a series of small projects?

#96

Earlier quoted context omitted.

Shaw has had some strong opinions that have gone significantly against the mainstream viewpoint in Python. Whether he's right or not doesn't really matter - as an educator that is targeting the mainstream it's fairly important to stay on that and not introduce personal bias around these things. Unfortunately his criticism was often not very constructive.

despite my other comment here I do agree with you on this, especially remembering his comments on test tools, nose for example

Yeah, he pushed back hard against the Python 3 migration, by picking on a small number of trade-offs that he personally didn't like and using that to conclude that the entire endeavour was doomed. The Python 3 migration wasn't flawless by any means, but it was better than he made out.

I know his "criticism" also held back many from moving their libraries to Python 3 by sowing doubt in the community, and ultimately may have slowed down adoption overall.

Re: Ask HN: Books that teach programming by building a series of small projects?

#97

My biggest gripe with all the project tutorials I’ve seen is that really quickly you get into a “ok I get what we’re doing” and then just copy the code they provide. At the end of the day you did zero mental workout because you didn’t have to figure out the code. I hope to find one of these that guides you but doesn’t give you the code immediately, but has a code answer key at the end or something. I get it that it’s…

To force myself “to figure out the code,” I typically do the tutorial in a different language. I wanted to get familiar with Java last year, but all the books/tutorials were boring to me. What I ended up doing was going through a book that showed how to write a backend in Go (which was also unfamiliar to me at the time) while simultaneously porting it to Java (using Vert.x). Probably sounds inefficient tackling two languages at once, but it was the only way I was able to stay engaged with the material. Of course I ended up with something unidiomatic in terms of Java, but the project works and I now have motivation for a proper refactor to keep the momentum going.

Re: Ask HN: Books that teach programming by building a series of small projects?

#98
While not for beginners, if you'd like to learn rust I recently finished "Command line Rust" [1].

It was my first introduction to rust and the book was quite enjoyable. It starts off with teaching you the very basics of a command line (what it means to exit, true, or false, etc) and each chapter has you recreate a popular command line tool (like grep, cal, tail, wc) while introducing a new rust concept.

The book also does TDD, test driven design, by first teaching you how to create these tests then in subsequent chapters having the tests prewritten for you.

It's definitely worth a look, the author has a great writing style as well that isn't as monotonous as most programming books I've read.

[1] https://www.oreilly.com/library/view/command-line-rust/97810...

Re: Ask HN: Books that teach programming by building a series of small projects?

#99
post #86

My biggest gripe with all the project tutorials I’ve seen is that really quickly you get into a “ok I get what we’re doing” and then just copy the code they provide. At the end of the day you did zero mental workout because you didn’t have to figure out the code. I hope to find one of these that guides you but doesn’t give you the code immediately, but has a code answer key at the end or something. I get it that it’s…

That’s why I like The Ray Tracer Challenge. He gives you test scenarios and a little bit of pseudo code (sometimes). The actual implementation has to be done by the reader. http://raytracerchallenge.com/

+1 This is one of my favorite programming books. It's a very rewarding-feeling experience to build something so capable so quickly.

Re: Ask HN: Books that teach programming by building a series of small projects?

#100

My biggest gripe with all the project tutorials I’ve seen is that really quickly you get into a “ok I get what we’re doing” and then just copy the code they provide. At the end of the day you did zero mental workout because you didn’t have to figure out the code. I hope to find one of these that guides you but doesn’t give you the code immediately, but has a code answer key at the end or something. I get it that it’s…

For this reason you need to find _your own_ projects, solve your own problems (which are actually pretty common, but you have to search or figure out a solution) That's what I tell everyone

The issue I’ve found with that in my students is they then have to play the role of product manager in addition to software engineer. Those choices add a lot of mental overhead. There’s a balance between motivation and pressure for most students.

I think cloning is more the way to go. Pick some existing project/product and copy the essential components. Less choices, doesn’t have to end up getting used.

Post reply on HN