CR: Stack I Topics Outline: Difference between revisions
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, | 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
- 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:
- 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