|Module Title||C AND UNIX SYSTEMS PROGRAMMING|
|Co-ordinator||Mr David E Price|
|Other staff||Mr David E Price, Mr Peter Hoskins, Mr Richard C Shipman|
|Course delivery||Lecture||22 lectures|
|Seminars / Tutorials||up to 2 x 1 hour sessions|
|Practical||up to 15 x 2 hours|
2. Control Structures - 2 Lectures
Sequence, branching and iteration in C compared with that of Java.
3. Basic Data Structures - 1 Lecture
Review of basic data types and operators in C.
4. Functions - 1 Lecture
Discussion of ways in which functions are implemented, and used in C, including parameter passing mechanisms.
5. Composite Data Structures - 1 Lecture
A first discussion of Arrays in C. Input/Output.
6. Software Support Tools - 1 Lecture
Make, Lint, Debuggers. Libraries and library utilities. Static/Dynamic analysers.
7. C Programming Style and Portability - 1 Lecture
Language standards. Portability. Programming standards.
8. Arrays, Pointers and Functions - 2 Lectures
A discussion of pointer data types, how they relate to arrays, and how they contrast with Java objects.
9. Dynamic Data Structures - 2 Lectures
Implementation of various record structures and dynamic structures. Pointers. Malloc. Examples in C. Parallels will be drawn with how the internals of Java do this for you.
10. Pitfalls - 1 Lecture
Major problem areas. Design rationale of C and of Java in problem areas.
11. Further Features - 1 Lecture
C preprocessor, header files, conditional inclusion, macro substitution, bitwise operators, casts, enumeration, scope, static and external declarations, separate compilation.
12. The Structure of UNIX - 1 Lecture
An overview of the structure of the UNIX operating system and a description of the major components, including: the kernel, device drivers, IEEE POSIX and the terminal. An introduction to the programming interface to UNIX.
13. The Filesystem and Files - 2 Lectures
The structure of the filesystem and associated operations. The types of file and the operations on files.
14. Process Management - 2 Lectures
The manipulation of processes and interprocess communication.
15. Communications Support - 3 Lectures
The support for communication between processes separated by network connections.
This module is at CQFW Level 6