# Module Information

Module Identifier
CS10720
Module Title
Problems and Solutions
2016/2017
Co-ordinator
Semester
Semester 1
Other Staff

#### Course Delivery

Delivery Type Delivery length / details
Practical 10 x 2 Hour Practicals
Lecture 22 x 1 Hour Lectures

#### Assessment

Assessment Type Assessment length / details Proportion
Semester Assessment Submission of a portfolio  40%
Semester Assessment Mid-semester test  30%
Semester Exam 2 Hours   Written exam  30%
Supplementary Assessment Equivalent of a Portfolio  Note - Students must resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value.  40%
Supplementary Exam 2 Hours   Written Exam  60%

### Learning Outcomes

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

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

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

3. implement simple searches and sorts

4. analyse simple algorithms and sorts and compare their efficiency

5. perform matrix operations using 2 dimensional arrays

6. be able to implement simple recursive algorithms

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

8. describe an important algorithm that has significant real-world impact

### Aims

This module aims to introduce some of the mathematical fundamentals of computing in an engaging and practical way. Building on CS12020 Introduction to Programming it uses C as programming language.

### Brief description

This module will build on CS12020 Introduction to Programming. It reviews fundamental mathematical concepts and illustrates how those concepts are implemented in computing contexts. Topics covered include representation of numbers, fundamental Boolean logic, analysis of algorithms, searching and sorting, matrix operations, recursion and computability.

### Content

Each week a topic will be introduced in a lecture. In an active 2 hour laboratory session students will explore the topic through programming exercises and the use of relevant tools. The week ends with a wrap-up lecture. Students are encouraged to make notes of their findings during the practicals in the form of a portfolio of results which will be available to them during the test and examination.
1. Fundamentals of Computing (representing numbers (integers, floating point), Boolean logic)
2. Analysing algorithm complexity (asymptotic notation, worst, best and average case; searching in a sorted array (linear, binary), sorting)
3. Matrices and arrays (2D arrays, matrix addition and multiplication)
4. Recursion (binary search, sorting)
5. Computability
6. CS Highlights (e.g., data compression, PageRank)

### Module Skills

Skills Type Skills details
Application of Number Understanding and implementing binary representations of numbers is inherent to this module.
Communication Developed in the creation of a portfolio.
Improving own Learning and Performance
Information Technology Computers will be used to implement algorithms to solve fundamental algorithmic problems.
Personal Development and Career planning
Problem solving Developed practically, solving coding problems.
Research skills
Subject Specific Skills
Team work

### Notes

This module is at CQFW Level 4