Prelimary review
Pointers in C
Most systems code is written at a fairly
low level -- often in --> -- assembly language, C, or C++. For this
reason, the labs in this course must be written in the C or C++
programming language. You will need to be compentent with the use of
pointers in C. A quick google search turned up this well-organized review of
C/C++ for Java programmers:
http://www-instruct.nmu.edu/math_cs/tseethof/cprimer
Using command line shells (and programmig too)
I strongly discourage the use of integrated development
environments for progjects in this course. Separate compilation must
be explicitly exposed, and it is best if you work in a UNIX system.
In particular, you ought be be able to run (from the command line):
- a text editor -- I strongly recommend emacs (though some may
prefer vi -- just don't tell me about it). It's worth
suffering the emacs tutorial. You may need to use the "-nw" (no window)
option. To start the tutorial, type "c-h t" (control-h followed by
t)). A surfeit of on-line documentation & cheat cards on emacs has
been posted to the web. Ask google to find them for you.
- gcc (the gnu c compiler) -- including the -o and -g options
- gdb -- a source code debugger (it's best to use this from emacs)
- basic file manipulation commands
- rm : (remove) deleting files
- mv : (move) renaming files (including -f and -r options)
- cd : changing directory
- mkdir : "making" a directory
- cat : "conatenating" a list of files (useful to view)
- ls : list files (list a directory)
- a program you write
Google found this very concise review of a bunch of the most common
unix commands:
http://www.math.utah.edu/lab/unix/unix-tutorial.html.