Module Texts
C by Dissection The Essentials of C Programming
A. KELLEY & I. POHL, Addison-Wesley Publishing Company.
ISBN: 0-8053-3149-2 (1997)
Module Special Admissions Requirements
DISQUALIFYING COMBINATION:-
Any module which teaches ab initio Programming in C.
Module Resources
An appropriate Unix-based environment for developing and implementing C programs.
Module Indicative Content
This module aims to develop your understanding and practical ability in a language which has the versatility of being used as both a systems programming and as an applications language. The module will concentrate on the applications aspect, with due emphasis on the design and the use of the language in implementing data structures being a continuous underpinning theme. Topics will include: data types, formatting, operators, iteration and selection control structures, functions, Strings, variable scope, arrays, structures, pointers, file handling, command line arguments, modular development(e.g. functions, header files), compilation environment methods(e.g. makefiles) and dynamic memory management using stacks, queues and trees as examples. In addition, emphasis will be placed on appropriate design for programming functions, as well as formal black and white box testing.
Module Additional Assessment Details
1. Individual practical assignment (50%), Learning outcomes 1, 2 and 4.
2. Exam length 2 hours (50%), Learning outcomes 2, 3 and 4.
Module Learning Strategies
You will learn from a combination of structured lecture, tutorial and practical work. Each week's lecture will introduce new material that is reviewed, extended, discussed and applied to simple problems in weekly tutorials. The practical sessions will provide you with an opportunity to implement programming solutions, often discussed and developed within the tutorials, with the aim of developing your practical programming skills. The work attempted in the weekly practical sessions will provide you with the skills and confidence needed to attempt the two, assessed practical assignments for this module. Both the practical and tutorial sessions should be highly active.
2 lectures and 2 practicals per week in tutorial groups of 20.
(1:n)2 (1:20)2