This repository contains the recitation notes for Columbia's Advanced Programming Class, COMSW3157, as taught by Jae Woo Lee. For more information about the class, visit the course homepage.
These recitations are held weekly by the various TAs, generally using these notes as the basis for their sections. Issues, patches, and comments, especially by current and former students, are welcome.
Contents:
- Recitation 1: Introduction to UNIX, compile your first C program. Be sure to have a CLIC account from CRF before the recitation.
- Recitation 2: Makefiles. Bitwise operations. Configuring
and using Git for version control and file tracking.
- You may find the sample-Makefile a useful reference.
- See also the Recitation 2 practice exercise, under practice/recitation-2/
- Recitation 3: C Basics: data types, complex expressions and statements.
- Recitation 4: Pointers, arrays, and heap memory
(i.e. malloc).
- See also the very useful recitation-6-code directory,
especially
pointerfun.c
and its outputpointerfun-output
for some interesting experiments with pointers and memory addresses.
- See also the very useful recitation-6-code directory,
especially
- Recitation 5: Function pointers. Taking Makefiles to the next level. File input/output.
- Recitation 6: The UNIX stack. Users, permissions, file
attributes. Processes, forking, and signals.
- See also
jsh
, the Jae shell, in the recitation-6-code directory for a fun example of forking.
- See also
- Recitation 7: size_t. File IO, including reading, writing, and seeking in files.
- Recitation 8: Midterm(s) review.
- Recitation 9: C++. Classes/Structs. Stack vs heap allocation in C++. The basic 4. Implicit conversion and operator overloading.