Module Identifier | CI33710 | |||||||||||
Module Title | C AND UNIX SYSTEMS PROGRAMMING | |||||||||||
Academic Year | 2006/2007 | |||||||||||
Co-ordinator | Mr David E Price | |||||||||||
Semester | Intended for use in future years | |||||||||||
Next year offered | N/A | |||||||||||
Next semester offered | N/A | |||||||||||
Other staff | Dr Frederick W Long, Mr Peter Hoskins, Mr Richard C Shipman, Mr David E Price | |||||||||||
Pre-Requisite | CI21120 | |||||||||||
Co-Requisite | CI33010 | |||||||||||
Mutually Exclusive | CS23710 | |||||||||||
Course delivery | Lecture | 22 lectures | ||||||||||
Seminars / Tutorials | ||||||||||||
Practical | ||||||||||||
Assessment |
|
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