Module Identifier | CHM3110 | ||
Module Title | THE UNIX ENVIRONMENT AND THE C LANGUAGE | ||
Academic Year | 2001/2002 | ||
Co-ordinator | Dr Myra Wilson | ||
Semester | Semester 2 | ||
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. | ||
Co-Requisite | CH21120 | ||
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. | |
Exam | 2 Hours | 100% | |
Further details | http://www.aber.ac.uk/compsci/ModuleInfo/CHM3110 |
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.