cos(0) writes: "Between O'Reilly, Wrox, Addison-Wesley, The Pragmatic Bookshelf, and many others, software developers have a wide variety of literature about languages, patterns, practices, and tools. Many publishers even offer subscriptions to online reading of the whole collection, exposing you to things you didn't even know you don't know — and many of us learn more from these publishers than from a Comp Sci curriculum. But what about publishers and books specializing in tech underneath software like VHDL, Verilog, design tools, and wire protocols? In particular, best practices, modeling techniques, and other skills that separate a novice from an expert?"
cos(0) writes: "I will be teaching a computer science / C++ course to high school students. They will have two projects they'll have to take to completion, making one improvement at a time. Since all students will be working on the same projects, I would like to provide a sample implementation that they could run to see what's expected of them in terms of interacting with the program and its functionality—but I don't want them to see how it's structured in terms of classes, functions, and other high-level logic. I'd provide a binary—but students may use their own laptops, and I know that there will be multiple platforms in the classroom. I've gone down the path of code obfuscation and compiling followed by decompiling, but neither approach is as fruitful as I like. Code obfuscators are few and expensive, and decompilers are few, immature, and I haven't been able to get one to work for me. How can I provide a sample implementation to all my students while shrouding its logic?"
cos(0) writes: "In one week, I will take a classroomful of high schoolers of different grade levels and widely varied exposure to computer science and programming, and try to go from "What is a computer" to C++ polymorphism and operator overloading in 17 two-hour sessions three days a week. The course is unique: students will use whatever IDE they want, we'll use Subversion for everything, and they'll implement a team project (industry software) and an individual project (a game) from scratch. Please recommend interesting and engaging ways of teaching Comp Sci and C++ concepts at a very rapid pace to high schoolers, and general ways to make this course fun and productive."