Unit information: Procedural Programming in 2009/10

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

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

Description including Unit Aims

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.

Intended Learning Outcomes

On successful completion of this unit you will have an understanding of:

  • Programming: High level languages, compiler, interpreter, grammar, recursion, a language (procedures, parameters, etc.), arrays, lists,

queues and stacks, problem solving.

  • Techniques and Tools for designing and implementing software
  • Programming in C and basic good programming practice
  • Hardware: Number systems and arithmetic, computer architecture, I/O.
  • Understand ethical and professional issues, and the role of the BCS

Teaching Information

2 hours of lectures per week, 3 hours per week of supervised lab work, plus further personal study to complete programming exercises.

Assessment Information

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.

Reading and References

It is essential you have day-to-day access to a C programming book such as one of these:

  • Kelley and Pohl. C by Dissection: The Essentials of C Programming
  • Kernighan and Ritchie. The ANSI C Programming Language.