This subject introduces the student to procedural programming in the C programming language. It assumes the student has completed an introductory programming course in an object-oriented language with a similar syntax, such as Java. On completion the student will be able to program well in C, will understand the nature of the compilation and linking processes intimately, will know how to use library and operating system functions to support execution, and will know how to systematically develop and test multi-file programs of moderate complexity. In addition, the student will be expected to be able to develop programs that run in an embedded environment that may not possess the support of an operating system. Suitable analysis and design techniques will be covered and testing will be emphasised as an important development task. Group and/or individual programming tasks and a final examination will be completed to ensure the essential skills are present.
Assessment: Programming assignments (optional mix of group and individual tasks), a compulsory written final examination (or perhaps a laboratory examination, depending upon the expected number of enrolled students), some optional advanced programming assignments.
Autumn semester, City campus
Spring semester, City campus