|Module Title||THE UNIX ENVIRONMENT AND THE C LANGUAGE|
|Co-ordinator||Dr Myra Wilson|
|Other staff||Dr Adrian Shaw, Mr David Price, Mr Peter Hoskins|
|Pre-Requisite||Available only to students taking the Diploma/MSc in Computer Science scheme in Aberystwyth.|
|Course delivery||Lecture||22 Lectures|
|Practical||Up to 11 x 2hr|
|Assessment||Supplementary examination||Supplementary examination will take the same form, under the terms of the Department's policy.|
2. Unix at the command line - 2 lectures
An introduction to the alternative Unix shells. Shell built-in commands and commonly used external commands and editors.
3. Shell Script programming - 2 lectures
The programming language provided by a selected Unix shell in common usage.
4. Tools of the Unix Environment - 3 lectures
Purpose and usage of Unix environment tools such as sed, sort, uniq, awk, grep and so on.
5. Basic Concepts of "C" - 1 lecture
History of the C language, philosophical differences between C language design and Java. Basic form of a C program compared with that of a Java program. Using the compiler.
6. Control Structures - 1 lecture
Sequence, branching and iteration in C compared with that of Java.
7. Basic Data Structures - 1 lecture
Review of basic data types and operators in C.
8. Functions - 2 lectures
Discussion of ways in which functions are implemented, and used in C, including parameter passing mechanisms. Input/Output.
9. Composite Data Structures - 1 lecture
A first discussion of Arrays in C.
10. Software Support Tools - 1 lecture
Make, Lint, Debuggers. Libraries and library utilities.
11. C Programming Style and Portability - 1 lecture
Language standards. Portability. Programming standards.
12. Arrays, Pointers and Functions - 2 lectures
A discussion of pointer data types, how they relate to arrays, and how they contrast with references to Java objects.
13. 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.
14. Pitfalls - 1 lecture
Major problem areas. Design rationale of C and of Java in problem areas.
15. Further Features - 1 lecture
C preprocessor, header files, conditional inclusion, macro substitution, bitwise operators, casts, enumeration, scope, static and external declarations, separate compilation.