Module Information
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
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