Module Additional Assessment Details
1. Individual practical assignment (60%) (Learning outcomes 1 - 6, b and c)
2. Exam (40%) (Learning outcomes 1-6, a)
Module Assessment
A EXAMINATION - UNSEEN IN EXAMINATION CONDITIONS length 1 HOUR(S) weighted at 40%. A ASSIGNMENT weighted at 60%.
Module Texts
The following texts are recommended as background reading
1. Kelley A. & Pohl I. 1997. C by Dissection. The Essentials of C
Programming ,Addison-Wesley Publishing Company.
2. Johnsonbaugh R. & Kalin M. 1993. Applications Programming in C. Macmillan Publishing Company.
3. Deitel H.M & Deitel P.J. 1994. C. How to Program. Prentice-Hall Publishers.
4. King M. Pardoe J & Vickers P. 1995. A First Course in Computer Programming Using C. McGraw-Hill Book Company
5. Lawlor S. 1995. ANSI C Programming. West Publishing Corpoation.
6. Shiflet A. 1995. Problem Solving in C including Breadth and Laboratories. West Publishing Corporation.
Module Resources
1. An appropriate environment for developing and implementing C programs.
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. The typical pattern of study will be 1 lecture, 1 tutorial and 1 practical per week.
Within this module you will be introduced to and/or be able to develop your
- Intellectual skills
- Communiation
- Problem solving
- Application of number
Module Learning Outcome
1. Be able to design, implement and test efficient algorithms in C
2. Be able to develop C applications in a Unix environment
3. Be able to develop and apply your knowledge of design principles to a range of problem solutions
4. Be able to design and apply appropriate test data to your applications, developing a sound understanding of the necessity of formal test procedures
5. Be able to illustrate the use of C as both an applications and a systems programming language
6. Understand and apply the concept of a procedural programming paradigm
This module will also give you opportunity to demonstrate the following skills:
(a) An understanding of a specific body of knowledge and skills
(b) Respond to questions appropriately
(c) Formulate a practical solution to the problem, making effective use of the time and resources available
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 and dynamic memory management using stacks and queues as examples. In addition, emphasis will be placed on appropriate design for programming functions, as well as formal black and white box testing.