6.087
Practical Programming in C
January IAP 2010
Topics
- Introduction. Writing, compiling, and debugging C programs. Hello world.
- Variables and datatypes, operators.
- Control flow. Functions and modular programming. Variable scope. Static and global variables.
- More control flow. Input and output.
- Pointers and memory addressing. Arrays and pointer arithmetic. Strings. Searching and sorting algorithms.
- User-defined datatypes, structs, unions, bitfields. Memory allocation. Linked lists, binary trees.
- Pointers to pointers, pointer and string arrays, multidimensional arrays. Stacks and queues.
- Void and function pointers. Hash tables.
- External libraries. B-trees, priority queues.
- C standard library: stdio.h, ctype.h, stdlib.h, assert.h, stdarg.h, time.h
- Dynamic memory allocation, malloc and valgrind, garbage collection.
- Multithreading and concurrency.
- Multithreaded programming. Sockets and asynchronous I/O.
- Linux inter process communication.
Readings
- Kernighan, Brian, and Dennis Ritchie. The C Programming Language . 2nd ed. Upper Saddle River, NJ: Prentice Hall, 1988. ISBN: 9780131103627.
Sources
- Course catalogue ↗Historical OpenCourseWare
- MIT OCW calendar ↗
- MIT OCW syllabus ↗
- Historical MIT OpenCourseWare offering. Named reading entries and schedule topics are automatically extracted from the linked source pages.