SYLLABUS PAGE, 2009/10
06-17423
Systems Programming in C/C++
Level 3/H
|
Dr E Ritter |
10 credits in Sem2 |
Programmes | Modules | Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus
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.)
Relevant Links
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:
- Introduce C/C++ to the students.
- Explain explicit pointers in C/C++.
- Describe mechanisms for packaging software for distribution.
- Explain the peculiarities of kernel programming.
- Describe an operating system kernel.
Learning Outcomes
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | Write programs in C/C++. | Continuous Assessment, Examination |
| 2 | Write programs with explicit pointer manipulation. | Continuous Assessment, Examination |
| 3 | Package software for distribution. | Continuous Assessment, Examination |
| 4 | Write low level systems programs. | Continuous Assessment, Examination |
Restrictions, Prerequisites and Corequisites
Restrictions:
| None |
Prerequisites:
| 06-019423 and 06-19321 Software System Components 1 and 2 (or equivalent) |
Co-requisites:
| None |
Teaching
Teaching methods:
| 2 hrs lectures plus 2 hour lab session per week |
Contact hours:
| 35 |
Assessment
Normal (sessional): 1.5 hr examination (80%), continuous assessment (20%).
Resit (supplementary) assessment (where allowed): By examination only.
Recommended Books
| Title | Author(s) | Publisher, Date | Comments |
| The C Programming Language | Brian W. Kernighan, Dennis M. Ritchie | Prentice Hall, 1998 | By far the best book on C. Written by its inventors. |
| Object-Oriented Programming in C++: A Tutorial for Newcomers | N. Josuttis | J. Wiley and sons, 2002 | An Introduction into C++ |
| Understanding the Linux Kernel | D. P. Bovet | O' Reilly, 2000 | A 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.
Programmes | Modules | Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus