# Computer Algorithms and Modelling

## Course summary

Course code: COMP1555
Level: 5
Credits: 15
School: Architecture, Computing and Hums
Department: Computing and Information Sys.
Course Coordinator(s): Constantinos Ierotheou

## Specification

### Pre and co requisites

Level 4 appropriate mathematics for computing (for example, both MATH1110 and MATH1111), Level 4 appropriate programming (for example, both COMP1752 and COMP1753), Level 4 appropriate systems analysis (for example, COMP1713)

### Aims

Among the desirable skills that employers ask for in a computing graduate is the ability to decompose a problem into manageable logical components and to use appropriate algorithms to solve the resulting sub-problems. Building on the Level 4 mathematics-based courses, this course takes the student through the fundamentals of data structures, algorithms and problem solving through modelling before examining algorithms for sorting and searching, semi-numerical and eventually numerical methods. A wide range of algorithms will be explored through their application to solving a variety of problems by formulating appropriate models in a series of practical exercises. The course aims to: Provide a foundation for understanding the fundamentals of algorithms, semi-numerical and numerical methods and their application to modelling and simulation as a means of solving problems.

### Learning outcomes

On successful completion of this course a student will be able to:
1 Select and employ appropriate data structures.
2 Formulate and solve elementary mathematical models.
3 Obtain programmatic solutions using appropriate software, including a high level programming language.
4 Describe and discuss the efficiency, complexity, accuracy and limitations of algorithms.

### Indicative content

From problem statement to solution. Data structures: primitives, composites, arrays, matrices, pointers, linked lists, stacks, hash tables, trees. The nature of algorithms: iteration, recursion, convergence, efficiency, complexity, completeness, Landau notation. Sorting and searching. Using data: assumptions, errors, floating point, precision, random numbers. Solving non-linear equations of a single variable. Interpolation, extrapolation, least squares method for curve fitting. Calculus and numerical methods.

### Teaching and learning activity

Concepts will be introduced through lectures supported by tutorials and a structured programme of laboratory sessions. Total student contact time will be divided as: Lectures 2/3 Tutorial/Laboratory work 1/3

Coursework - 50%
LO - 1-4