Hey folks: I'm giving advice to someone who just finished HS. She will be entering a CS + Linguistics program in some shortish time from now. As I'm mindful of so many of my bad programming habits come from before I entered uni, what resource would be best to teach her?
"Best" defined as: most able to *think* about the programs/model them in head/not be messed up when hitting intro to programming courses in other langs?
@DenubisX Just Fucking Do It is the only consistent theme I've seen in practical learning. Start with a personally interesting goal of making a thing. Website, game, calculator, whatever. That interest will drive the resource seeking and questions and writing of the code which gives the practical glue to fit class concepts into your brain. College doesn't create programmers any more than art school created Da Vinci. It's the practice.
Also: tech is really about people.
@DenubisX This isn't exactly what you asked for, but if your student has extra time and interest she might be interested in looking at programs from the side they don't teach you in school, the dark side, the eeevil tester's (i.e., my) side. Glenford Myers's "Art of Software Testing" and Boris Beizer's "Software Testing Techniques" are good, especially if you get an earlier, pre-bloat, edition. Testers have....unusual.....ways of conceptualizing a piece of software.
@DenubisX You're welcome! I hope you get some good suggestions that are more on point, too. I started off as a developer, then became a tester. I kind of wish I'd gone the other direction, since then I would have had all the skewed, sneaky, thinking-in-the-corners, socially unacceptable, and similarly useful traits I learned in testing BEFORE writing any code :)