This, I think, is what is called "the Curse of Knowledge". I've taught 2nd year (Assembly) and 3rd year (Intro to Operating Systems Concepts) CS courses quite successfully, but I would have a helluva time teaching a 1st year course.
Like I mentioned in the sibling thread, I've been programming C for twenty years, and learned BASIC on a Vic-20 four yearsish earlier than that (at age 8). I learned all of that from library books.
Mostly, my algorithm for learning almost anything is "look at something that is somewhat magical, and figure out how it works inside". I've been doing that for years and years. Questions like "who programs BASIC? And how?" lead to learning about assembly. "How does BASIC store my program in memory?" "How does it translate what I type into output on the screen?" Etc.
Not to ramble on... unfortunately, I don't know of such a resource, and I don't really know what material it'd cover if I wrote it.
Right. Well, my story is that I'm selft taught (started programming when I was 6 or 7) and thus have been programming as a hobby for nearly twenty years. I decided not to go study CS because I suspected the amount of new and interesting material would be low compared to the time, money and effort it'd take to graduate. Instead, I went on to learn something completely new.
So one of my problems is that I don't actually know what I'm missing out on.
Like I mentioned in the sibling thread, I've been programming C for twenty years, and learned BASIC on a Vic-20 four yearsish earlier than that (at age 8). I learned all of that from library books.
Mostly, my algorithm for learning almost anything is "look at something that is somewhat magical, and figure out how it works inside". I've been doing that for years and years. Questions like "who programs BASIC? And how?" lead to learning about assembly. "How does BASIC store my program in memory?" "How does it translate what I type into output on the screen?" Etc.
Not to ramble on... unfortunately, I don't know of such a resource, and I don't really know what material it'd cover if I wrote it.