The C programming course was taught mostly through the courses mailing list.
Several different versions of this course have run:
- a course structured around Steve Oualline's Practical C Programming, 3rd edition (O'Reilly, 1997);
- a course structured around discussion topics; and
- a series of lessons by KW Melvin. Please note that some of the lessons by KW Melvin are not available.
Discussion topics
Useful References
- Useful C Tidbits
- A Tutorial on Pointers and Arrays
- Dynamic Memory Allocation
- List of C & C++ Tutorials
- Developing a Command-line Utility in Linux
- The C Library Reference Guide
A few helpful posts for general programming are archived here.
- Program structure: An example of the thought process used in deciding program structure.
- Programming as an art: Why programming is difficult to teach
Mailing List links for KW Melvin's lessons
- Beginner's Lesson One: Getting Started
- Beginner's Lesson Two: Style
- Lesson Three: Basic Declarations & Expressions
- Beginner's Lesson 4A: Arrays, Qualifiers, and Reading Numbers
- Beginner's Lesson 4B: Arrays, Qualifiers, and Reading Numbers
- Beginner's Lesson Five: Decision and Control Statements
- Beginner's Lesson Six: The Programming Process
- Beginner's Lesson: Visual Teaching Aid
- Beginner's Lesson Seven: More Control Statements
- Beginner's Lessons: Map
- Beginner's Lessons: Debugger (gdb) Tutorial
- Beginner's Lesson Eight: Variable Scope and Function
- Beginner's Lesson Nine: The C Preprocessor
- Beginner's Lesson Ten: Bit Operations
- Beginner's Lessons: The C Library Reference Guide
- Beginner's Lesson Eleven: Advanced Types
- Beginner's Lessons: A Tutorial on Pointers and Arrays
- Beginner's Lessons: preprocessor details
- Beginner's Lesson Twelve: Simple Pointers
- Beginner's Lessons: Readme
- Beginner's Lessons: Developing a Command-line Utility in Linux
- Beginner's Lesson 12: another answer to Exercise 1 (Simple Pointers)
- Beginner's Lessons
- Beginner's Lesson 13: File Input/Output
- Beginner's Lesson 14: Debugging and Optimization
- Beginner's Lesson: How do I...?
- Beginner's Lessons: C & C++ Tutorials
- Beginner's Lesson: Read a sequential text file...
- Beginner's Lesson: Floating Point
- Beginner's Lesson 16: an exercise