Module Information

Module Identifier
CS10720
Module Title
Problems and Solutions
Academic Year
2023/2024
Co-ordinator
Semester
Semester 2
Co-Requisite
Reading List
Other Staff

Course Delivery

 

Assessment

Assessment Type Assessment length / details Proportion
Semester Assessment 10 Hours   Term Assessment  10 worksheets or online quizzes (to be signed of in practicals).  40%
Semester Exam 2 Hours   Exam Period Assessment  60%
Supplementary Assessment Resit Assessment  Essay 2000 Words  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, discuss properties of the different formats, perform simple arithmetic operations in binary representation

Manipulate algebraic formulae and simplify basic algebraic expressions, including logarithms and exponents

Perform matrix operations using 2 dimensional arrays.

Analyse simple algorithms and compare their efficiency.

Implement simple searches and sorts and compare their efficiency.

Be able to implement simple recursive algorithms.

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 arithmetic, dealing with basic algebraic expressions, logarithms and exponents; matrix operations; analysis of algorithms; searching and sorting; recursion.

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.

Content

Each new topic is introduced in one or several lectures. Practicals are used to make topics more accessible and get students to explore them actively. Tutorials provide an opportunity to check on students' own learning by solving problems and discussing their solutions.
1. Computability
2. Fundamentals of Computing (representing numbers (integers; floating point); arithmetic)
3. Matrices and arrays (2D arrays; matrix addition and multiplication)
4. Algebraic expressions and their manipulation, including logarithms and exponents
5. Analysing algorithm complexity (asymptotic notation; worst, best, and average case)
6. Searching in a sorted array (linear, binary)
7. Sorting
8. Recursion (binary search, sorting)

Module Skills

Skills Type Skills details
Application of Number Different binary representations of numbers.
Improving own Learning and Performance Weekly assessment helps students to continually assess and improve their learning and performance
Information Technology Inherent to the subject matter.
Problem solving By means of algorithm design and analysis; making use of appropriate representations for data (using numbers as simple example).
Research skills Pointer to literature as part of the reading list
Subject Specific Skills As laid out in the learning outcomes.

Notes

This module is at CQFW Level 4