CR: Stack I Topics Outline

From Soma-notes
Revision as of 05:24, 26 January 2011 by Soma (talk | contribs)

Weekly Topics

  1. History of computer architecture: basic programming models

Assignments

Assignments would all be divided into two parts:

  • Part A must be attempted in lab and checked by a TA or instructor. Slow students can continue to work during office hours which should run after lab; however, part A is not explicitly graded in lab, more it is used to make sure students don't get stumped early. This part should be doable by good students in 10-15 minutes.
  • Part B has more extensive exercises but still should be doable by good students in an hour or so.

Part A and B are turned in within one week. There should also be optional exercises that are not graded, but that could occupy good students for multiple hours.

Potential assignments:

  1. command line basics: standard in/out, command line pipes, standard commands, job control
  2. basic strings and pointers (printf, scanf), pointer/array equivalence, gdb
  3. Command line arguments, pointer arithmetic
  4. running programs with execve, PATH, environment variables, basic malloc
  5. dynamic buffers for file I/O, memory mapped I/O
  6. fork, shared memory
  7. sockets, netcat (TCP mainly, UDP optional)
  8. libraries, linking, C->assembly, function calling conventions, ltrace, strace