University of BirminghamComputer Science

SYLLABUS PAGE, 2005/06

06-17423
Systems Programming in C/C++

Level 3/H

Dr E Ritter
10 credits in Sem2

Programmes | Modules | Updates | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus | Links

The School of Computer Science Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Changes and Updates

Most recent update: 22 December 2005.

Outline

This module presents system programming in C/C++ together with the necessary tools like Makefiles and package managers. The module also describes the structure of an operating system kernel and explains how to modify it.

Aims

The aims of this module are to:

Learning Outcomes

On successful completion of this module, the student should be able to:Assessed by:
1Write programs in C/C++.Continuous Assessment, Examination
2Write programs with explicit pointer manipulation.Continuous Assessment, Examination
3Package software for distribution.Continuous Assessment, Examination
4Write low level systems programs.Continuous Assessment, Examination

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

06-08163 Software Workshop Java (or equivalent)

Co-requisites:

None

Teaching

Teaching methods:

2 hrs lectures plus lab sessions per week

Contact hours:

35

Assessment

1.5 hr examination (80%), continuous assessment (20%). Resit (where allowed) by examination only.

Recommended Books

TitleAuthor(s)Publisher, DateComments
The C Programming LanguageBrian W. Kernighan, Dennis M. RitchiePrentice Hall, 1998By far the best book on C. Written by its inventors.
Object-Oriented Programming in C++: A Tutorial for NewcomersN. JosuttisJ. Wiley and sons, 2002An Introduction into C++
Understanding the Linux KernelD. P. BovetO' Reilly, 2000A Description of the Linux Kernel

Detailed Syllabus

How to write and execute programs.

How to do debugging and testing.

Basic I/O. Makefiles. Coding conventions (including Macros)

Pointers: Arrays, argument passing, lists, records.

Bigger programs (include-files, externals)

Packaging programs for distribution.

Objects in C++.

Linux kernel programming. System Calls, Modules, Networking Layer.

Constructing a bigger example: firewall extension.

Relevant Links

Module Material


Programmes | Modules | Updates | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus | Links

Page maintained by:Dr P Coxhead
Content last updated:22 December 2005
Source:/resources/modules/2005/xml/17423.xml