# Module Information

Module Identifier
CS10720
Module Title
Problems and Solutions
2021/2022
Co-ordinator
Semester
Semester 2
Co-Requisite
Other Staff

#### Assessment

Due to Covid-19 students should refer to the module Blackboard pages for assessment details

Assessment Type Assessment length / details Proportion
Semester Assessment Term Assessment  10 worksheets or online quizzes (to be signed of in practicals).  40%
Semester Exam 2 Hours   Exam Period Assessment  Written exam  60%
Supplementary Assessment Resit Assessment  2000 Words Essay  40%
Supplementary Exam 2 Hours   Written Exam  60%

### Learning Outcomes

On successful completion of this module students should be able to:

Describe the concept of computability and give an example of a non-computable problem.

Convert integers and rational numbers into binary representations and discuss properties of the different formats.

Manipulate logical expressions, write truth tables, discriminate between valid and invalid reasoning.

Perform matrix operations using 2 dimensional arrays.

Analyse simple algorithms and sorts and compare their efficiency.

Implement simple searches and sorts and compare their efficiency.

Be able to implement simple recursive algorithms.

Describe an important algorithm that has significant real-world impact.

### Aims

The module makes students familiar with some fundamental aspects of general computer science and theoretical computer science. It helps to gain a deeper understanding of the working principles and limitations of computers and algorithms. It lays the foundations for most advanced modules in the second and final year.

### Brief description

This module provides an introduction to some aspects of theoretical computer science. It reviews fundamental mathematical concepts and illustrates how those concepts are implemented in computing contexts. Topics covered include computability, representation of numbers, fundamental Boolean logic, matrix operations, analysis of algorithms, searching and sorting, and recursion.

### Content

Each new topic is introduced in one or several lectures. Practicals are used to make topics more accessible and get students explore them in actively.
1. Computability
2. Fundamentals of Computing (representing numbers (integers; floating point); Boolean logic)
3. Matrices and arrays (2D arrays; matrix addition and multiplication)
4. Analysing algorithm complexity (asymptotic notation; worst, best, and average case)
5. Searching in a sorted array (linear, binary)
6. Sorting
7. Recursion (binary search, sorting)
8. Highlights of computer science (e.g., data compression, Page rank)

### Module Skills

Skills Type Skills details
Application of Number Different binary representations of numbers.
Communication
Improving own Learning and Performance Weekly assessment guides in improvement of own learning and performance.
Information Technology Inherent to the subject matter.
Personal Development and Career planning
Problem solving By means of algorithm design and analysis; also using logic; making use of appropriate representations for data (using numbers as simple example).
Research skills Pointer to literature as part of the reading list; assessed only in the supplementary assessment.
Subject Specific Skills As laid out in the learning outcomes.
Team work

### Notes

This module is at CQFW Level 4