Skip to main content

Unit information: Procedural Programming in 2012/13

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, 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.

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 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.

Feedback