4 ms·
That sounds awesome. I wish I was on the right side of the pond. Have you thought of putting some material online, or even taping the course? (of course, maybe
by mmelin 17y ago
That sounds awesome. I wish I was on the right side of the pond.
Have you thought of putting some material online, or even taping the course? (of course, maybe you don't want to do that for the first iteration)
- tptacek 17y agoNo, I'm actually pretty skittish about publishing things these days; it's all risk and no reward. I've been writing C since '94 and I guarantee you there's some douchebag who will build an entire website about how little I know about C once the courseware hits Reddit. Pass. The structure I'm chasing is: * C Interfaces and Implementations. * Every month, a couple hours worth of casual exercises, spread over 2 weeks, along with background material and basic courseware (cheat sheets, notes on the book, etc). * "Tech support" style assistance for those exercises (ie, send me your code and I'll tell you what's wrong). * Once a month, several hours of lab-style class time. Each class presumes you did the exercises and, if you had trouble, that you chatted me up about them and we got through it. Each class is 2-3 small coding projects. All are security-focused, because that's why we're doing the class; so, for instance, in week 1 we'll probably write an XML fuzzer and a password cracker. * If you came to class prepared, I'm buying unlimited drinks and pork product at The Publican afterwards. I'm planning on the following arc for the class: * Month 1: Basics (Compiling/running, hello-world, malloc and free, the C type system, very basic pointers, using libraries). * Month 2: Network programming (Stevens-style socket programming, binary formats, I/O). * Month 3: Design (Library design, voidstar, function pointers, dlopen, object-oriented C). * Month 4: Secure programming in C (mostly, memory corruption and string handling). I guess I'm writing all this here not so much to sell a class that I'm not offering publicly so much as to advocate for the idea of doing things like this at your own company, and to solicit critiques. I've spent a long time giving lip service to training and growing a team, and giving up a couple weekends and plying team members with high-end whiskey seemed like a way of putting my money where my mouth was. (Also, this is the next thing Erin wanted me to teach her. So I'm pretty motivated.) (If you ping me offline, I'm happy to share stuff privately).