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. This includes building a general awareness of computers and how they work. The unit is aimed primarily at students who need strong programming skills, but who have little or no previous programming experience. For students with substantial previous experience, the unit COMS11800 may be more appropriate.
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 one of these: