C programming
Trails for an advanced C programming syllabus.
(Transcribing (work in progress) cards for a course I've been teaching for years.)
- C language: correct usage, best practices.
- Essential algorithms
- Development tools
- Testing & debugging (in C)
- Optimization (of C code)
Notes
- Cross-reference C99, Commentary, Traps...
- Preliminaries, for class.
- C bibliography
Development tools:
- GCC...
- KDevelop...
Materials to add...
- "Conceptual model(s)": translation, namespaces, linkage, (typical/interesting) execution "environment(s)"... code versus data, OS memory management (just an intro, vade mecum?) dynamic loading, functions that never return or more than once, signals, threads, SMP...
- Overview(s): context of language -- historical circumstances, differences today, prevalent uses, why relevant.
- Development tools: "large" projects, build process, SCM... symbol maps, debugger, profiling...
- Internationalization (and localization)
- High-level versus low-level?
- SE principles (Irvine, Goodenough, Ross)
- GC, persistence? Nu, well...
- Some insights from language design? Because Derek says noobs can't tell essential from incidental. And prof Dijkstra about notations.
- Excellent examples from real code. (Open source, obviously!)
- Polymorphism (LSP), OOP, OOA/D? What's the hype about?
Essential: Wirth's, linked lists...
Debugging: assert()
(Appending notes disabled temporarily.)
Last modified 2008-08-14 06:29:56 +0000