TA Notes

Recitation Notes

Full repo here

  • Recitation Note A: Introduction to UNIX, compile your first C program.
  • Recitation Note B: Makefiles.
  • Recitation Note C: Configuring and using Git for version control and file tracking.
  • Recitation Note D: C Basics: data types, bitwise, complex expressions and statements.
  • Recitation Note E: Parts of memory, pointers, and arrays. (i.e. malloc).
    • See also the very useful code directory, especially pointerfun.c and its output pointerfun-output for some interesting experiments with pointers and memory addresses.
  • Recitation Note F: Function pointers.
  • Recitation Note G: Structs, Unions, Const, C strings.
  • Recitation Note H: Linked lists and similar data structures (REMOVED).
  • Recitation Note I Using GDB and valgrind for debugging.
  • Recitation Note J: The UNIX stack. Users, permissions, file attributes. Processes, forking, and signals.
    • See also jsh, the Jae shell, in the code directory for a fun example of forking.
  • Recitation Note K: size_t. File IO, including reading, writing, and seeking in files.
  • Recitation Note L: Interprocess communication: pipes, FIFO, and sockets. TCP/IP stack information and netcat basics.
  • Recitation Note M: C++ intro. Classes and structs. Stack vs heap allocation in C++. The basic 4. Implicit conversion and operator overloading.
  • Recitation Note N: C++ generics, templates, containers, metaprogramming.
  • Recitation Note O: Smart pointer explanation.
  • Recitation Note Z: Bonus recitation – Unix 2.