C programming

Trails for an advanced C programming syllabus.

(Transcribing (work in progress) cards for a course I've been teaching for years.)


Notes

  1. Cross-reference C99, Commentary, Traps...
  2. Preliminaries, for class.
  3. C bibliography

Development tools:

  1. GCC...
  2. KDevelop...

Materials to add...

  1. "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...
  2. Overview(s): context of language -- historical circumstances, differences today, prevalent uses, why relevant.
  3. Development tools: "large" projects, build process, SCM... symbol maps, debugger, profiling...
  4. Internationalization (and localization)
  5. High-level versus low-level?
  6. SE principles (Irvine, Goodenough, Ross)
  7. GC, persistence? Nu, well...
  8. Some insights from language design? Because Derek says noobs can't tell essential from incidental. And prof Dijkstra about notations.
  9. Excellent examples from real code. (Open source, obviously!)
  10. 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