Next: Lent Term 2002: Part
Up: Michaelmas Term 2001: Part
Previous: Numerical Analysis I
  Contents
Lecturer: Mr M.G. Kuhn
(mgk25@cl.cam.ac.uk)
No. of lectures: 4
Operating Systems (Part IA) provides a useful
foundation for this course.
Aims
This non-examinable course gives students with little or no previous
Unix/Linux experience a basic understanding of the use of the shell
and some popular development utilities. These skills will be important
for future practical CST project work.
Lectures
- Unix background and shell basics.
Review of Unix history and design philosophy. Unix inter-process
communication mechanisms and conventions (command-line arguments,
environment variables, files, directories, plain text format, pipes,
standard I/O, signals, sockets, process groups, locale). Using the
shell (bash) for file system navigation, program invocation,
piping and job control. Efficient command entry with history and alias
functions. Finding documentation (man, info).
- Shell script programming and common tools.
Regular expressions. Using the shell as a simple scripting language
with parameter substitution, control structures, functions.
Customising your environment with start-up scripts. Basics of X
Window System configuration. Overview of common text, shell, and
network utilities and their most important options.
- Software development tools.
C compiler, linker and debugger. Makefiles, packaging and compression
tools, patch generation and application, revision control systems
(RCS, CVS).
- Perl and LATEX.
Quick introduction to Perl, a powerful scripting and text manipulation
language. Very quick guide to learning and using LATEX, the most
widely used system for scientific typesetting.
Objectives
At the end of the course students should
- be confident in performing routine user tasks on a Unix system,
understand Unix command-line user-interface conventions and know how
to find more detailed documentation
- appreciate how a range of simple Unix tools can be combined with
little effort in pipes and scripts to perform a large variety of tasks
- be familiar with the most common tools, file formats and
configuration practices used under Unix
- appreciate how using revision control systems and fully automated
build processes contribute to the quality and repeatability of project
output
- know enough about basic development tools to be able to install
and modify openly available C source code
- have an idea of the capabilities of Perl and LATEX
Recommended books
Robbins, A. & Gilly, D. (1999). Unix in a Nutshell.
O'Reilly (3rd ed.).
Schwartz, R.L. & Christiansen, T. (1997). Learning
Perl. O'Reilly (2nd ed.).
Lamport, L. (1994). LATEX - A Documentation Preparation System
User's Guide and Reference Manual. Addison-Wesley (2nd ed.).
Next: Lent Term 2002: Part
Up: Michaelmas Term 2001: Part
Previous: Numerical Analysis I
  Contents
Christine Northeast
Tue Sep 4 09:34:31 BST 2001