CR: Stack I Topics Outline: Difference between revisions

From Soma-notes
Created page with "==Weekly Topics== # History of computer architecture: basic programming models ** # ==Assignments== # malloc, structs"
 
No edit summary
Line 2: Line 2:


# History of computer architecture: basic programming models
# History of computer architecture: basic programming models
**
#  
#  


==Assignments==
==Assignments==
# malloc, structs
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:
# command line basics: standard in/out, command line pipes, standard commands, job control
# basic strings and pointers (printf, scanf), pointer/array equivalence, gdb
# Command line arguments, pointer arithmetic
# running programs with execve, PATH, environment variables, basic malloc
# dynamic buffers for file I/O, memory mapped I/O
# fork, shared memory
# sockets, netcat (TCP mainly, UDP optional)
# libraries, linking, C->assembly, function calling conventions, ltrace, strace

Revision as of 05:24, 26 January 2011

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