Unit name | Procedural Programming |
---|---|
Unit code | COMS11300 |
Credit points | 10 |
Level of study | C/4 |
Teaching block(s) |
Teaching Block 1 (weeks 1 - 12) |
Unit director | Professor. Fraser |
Open unit status | Not open |
Pre-requisites |
None |
Co-requisites |
None |
School/department | Department of Computer Science |
Faculty | Faculty of Engineering |
The aim of this unit is to develop fundamental programming skills, including building a general awareness of computers and how they work. The unit provides students with strong programming capabilities in the most widely used programming language 'C'. An alternative coursework stream for the strongest students covering the topics in more detail and at larger scale will be in place, using early coursework as disgnostic tests. This will ensure that all students will be stretched to meet their full potintial according to their own ability.
Aims:
The unit concentrates on how to write programs in the C language, how programs work, and the principles of programming languages, compilers, and interpreters. It covers standard techniques such as procedures and recursion, and standard data structures such as arrays, lists and hash tables. It includes an introduction to problem solving and program design. An introduction to fundamental programming tools such as ‘make’ will be given. To support programming further, some elementary hardware-related issues are covered, such as computer architecture, number systems, arithmetic, input and output, and storage.
On successful completion of this unit you will have an understanding of:
queues and stacks, problem solving.
2 hours of lectures per week, 3 hours per week of supervised lab work, plus further personal study to complete programming exercises.
The unit will be assessed 100% by coursework. Coursework will consist of weekly programming exercises, some of which will be accompanied by or replaced by technical reports others by lab exams. Coursework will be streamed, with the strongest students covering the topics in more detail and at larger scale. The streaming decision will be based on the first programming exercises.
It is essential you have day-to-day access to a C programming book such as the ones below:
Brian W. Kernighan and Dennis M. Ritchie. The ANSI C Programming Language (2nd edition). Prentice Hall. 1988. ISBN: 0131103628 Recommended.
Al Kelley and Ira Pohl. C by Dissection: The Essentials of C Programming. Addison-Wesley. 2001. 4th edition. ISBN: 0201713748 Recommended.
McGrath, M, C Programming in Easy Steps Easy Steps Ltd, 2009 ISBN: 184078363X Recommended.