Module ICP-2021:
Algorithm Design with MATLAB
Module Facts
Run by School of Computer Science and Electronic Engineering
10 Credits or 5 ECTS Credits
Semester 2
Organiser: Prof Ludmila Kuncheva
Overall aims and purpose
To present algorithmic problem solving techniques and give the students background in MATLAB (matrix and image manipulation, game elements, 2-d graphics and animation, random sampling), sufficient for programming small algorithms.
Course content
• Introduction to MATLAB. Matrix construction and manipulation. Logical expressions and loops.
• Functions. MATLAB graphics – simple 2D plots. Image representation and manipulation in MATLAB. Animation in MATLAB.
• Random sampling with and without replacement. MATLAB tools: rand, randn, randperm. Game elements in MATLAB: sounds and timing. Data description (mean, median, histogram)
• GUI elements - positioning of axes, push buttons; callback functions
Learning outcomes mapped to assessment criteria
threshold 40% The student has basic understanding of MATLAB and is able to program simple algorithms with some external help. |
good 60% The student has a solid understanding of MATLAB, and is able to program a variety of simple algorithms. |
excellent 70% The student has excellent understanding of MATLAB. They are able to structure and program complex algorithms. |
|
---|---|---|---|
Programme simple GUI |
Program a basic GUI. | Program an intricate GUI with internal call back functions. | Program a GUI with external callback functions |
Handle matrices in MATLAB (construct, subsample, reshape) Understand and use logical expressions and loops in MATLAB |
Construct and handle vectors and matrices. Use elementary logical expressions and loops. | Skilfully manipulate matrices and vectors. Construct sophisticated logical operations and loops. | Excellent understanding and ability to manipulate matrices: sub-sample, expand and use in expressions. Knowledge of loops and their proper use in MATLAB. |
Write MATLAB script and functions for matrix and image manipulation, graphics and simple animation. |
Perform simple image manipulations. Understand basic animation in 2D. | Use functions, create animation, and handle matrices and images. | Excellent understanding ability to perform sophisticated image operations and write MATLAB functions. |
Understand random sampling. Construct simple games using MATLAB. Use simple data description functions. |
Understand sampling with and without replacement. Draw a random sample from a simple array. Calculate simple statistics. | Draw a random sample from a 2D array and from an image. Program games based on random text permutation and 2D graphics using mouse control and timing. | Excellent knowledge and skills about sampling from matrices, mouse control and programming simple games. |
Learn to program simple algorithms in MATLAB. |
Assessment Methods
Type | Name | Description | Weight |
---|---|---|---|
Examination | 60 | ||
Assignment 1 | 20 | ||
Assignment 2 | 20 |
Teaching and Learning Strategy
Hours | ||
---|---|---|
Lecture | 22 hours over 12 weeks |
22 |
Laboratory | 20 hours over 12 weeks |
20 |
Private study | Revision after the lectures and preparation for the labs and the exam. |
58 |
Transferable skills
- Numeracy - Proficiency in using numbers at appropriate levels of accuracy
- Computer Literacy - Proficiency in using a varied range of computer software
- Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
- Exploring - Able to investigate, research and consider alternatives
- Information retrieval - Able to access different and multiple sources of information
- Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
Subject specific skills
- Knowledge and understanding of facts, concepts, principles & theories
- Use of such knowledge in modelling and design
- Problem solving strategies
- Analyse if/how a system meets current and future requirements
- Specify, design or construct computer-based systems
- Development of general transferable skills
- Knowledge and/or understanding of appropriate scientific and engineering principles
- Knowledge and understanding of computational modelling
Resources
Resource implications for students
The book has been made available in pdf in Blackboard.
Talis Reading list
http://readinglists.bangor.ac.uk/modules/icp-2021.htmlReading list
A Matlab Exercise Book Paperback – 18 Jun 2014 by Ludmila Kuncheva (Author), Cameron Gray (Contributor)
Pre- and Co-requisite Modules
Pre-requisite of:
Courses including this module
Compulsory in courses:
- H612: BEng Computer Systs Eng (3 yrs) year 2 (BENG/CSE)
- H61B: BEng Computer Sys Engineering (4yr with Incorp Foundation) year 2 (BENG/CSE1)
- G400: BSC Computer Science year 2 (BSC/CS)
- G40B: BSc Computer Science (4 year with Incorporated Foundation) year 2 (BSC/CS1)
- H64B: BSc Computer Sys Engineering (4yr with Incorp Foundation) year 2 (BSC/CSE1)
- I102: BSc Computer Science (with International Experience) year 2 (BSC/CSIE)
- H611: BSc Electronic Engineering year 2 (BSC/ELE)
- H63B: BSc Electronic Engineering (4yr with Incorp Foundation) year 2 (BSC/ELE1)
- H661: MEng Control and Instrumentation Engineering year 2 (MENG/CIE)
- H617: MEng Computer Systs Eng (4 yrs) year 2 (MENG/CSE)
- H619: MEng Computer Systems Engineering (with International Exper) year 2 (MENG/CSEIE)