![]() | Department of Mathematics & Computer Science | |||
![]() |
Credits: 20 | Convenor: Dr. N. Rahman | Semester: 1 |
Prerequisites: | ||
Assessment: | Coursework: 50% | Two hour exam in January: 50% |
Lectures: | 24 | Problem Classes: | none |
Tutorials: | 12 | Private Study: | 90 |
Labs: | 24 | Seminars: | none |
Project: | none | Other: | none |
Surgeries: | none | Total: | 150 |
Subject Skills
Explanation of Pre-requisites
It is assumed that students are already familiar with a programming
language such as Fortran, Java or C.
Course Description
Over the past 15 years C++ has become one of the world's most popular
programming languages, due to its potential for producing efficient
and compact code. As such any scientist wishing to develop efficient
programs should be familiar with the use of its central features.
This module is intended to give the student a basic grasp of its
use for scientific computing.
Algorithms are traditionally designed, analysed and compared on a
theoretical computer model. However an algorithm that is fast on the
theoretical model may be relatively slow on modern computers.
This module introduces the memory hierarchies on modern computer
architectures and its effects on algorithm performance. The module
then teaches how to design fast algorithms on modern computers.
Syllabus
Essential:
Bjarne Stroustrup, The C++ Programming Language, 3rd edition, Addison-Wesley, 1997.
Thomas H. Cormen, Charles E. Leiserson and Ronald L. Rivest, Introduction to algorithms, 2nd edition, MIT Press, 2001.
Background:
B. H. Flowers, An introduction to numerical methods in C++, Oxford : Clarendon Press, 1995.
Author: N. Rahman, tel: +44 (0)116 252 3902Resources
Course notes, web page, study guide and worksheets.
Module Evaluation
Course questionnaires, course review.
Next: About this document ...
Up: MSc
Previous: CO7096 Compression Methods for Multimedia
Last updated: 2003-09-23
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.