Module Specification

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
Title Engineering Programming
Code ELEC431
Coordinator Professor X Tu
Electrical Engineering and Electronics
Xin.Tu@liverpool.ac.uk
Year CATS Level Semester CATS Value
Session 2021-22 Level 7 FHEQ First Semester 15

Aims

This module aims to equip students with knowledge of two most popular programming languages, C++ and MATLAB, an understanding of the Functional Decomposition method for program design, and practical skills of designing and coding software for engineering applications based on a problem specification.


Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

 

Co-requisite modules:

ELEC422 Microprocessor Systems 

Learning Outcomes

(LO1) Knowledge and Understanding : On successful completion of the module, students should be able to demonstrate their appreciation of software as an "engineered product" and its development procedure;understanding of established engineering principles, such as abstraction, modularity and information hiding;knowledge of MATLAB and C++ as programming languages commonly used for enginnering computation and modelling, and their pros and cons for different applications requirements.knowledge of logic structures, data types, user sub-routines (functions), operater precedancy, and the availability of special functions or tool boxes in MATLAB for signal analysis, image processing, filter design, and simulation of electrical systems.

(LO2) Intellectual Abilities: On successful completion of the module students should be able to analyse and determine the suitability of a programming language based on the nature of the problem; based on relevant software engineering principles, decompose a problem specification into well defined functional blocks (modules) and design the overall program structure; propose coding algorithms based on their knowledge of the programming languages to efficiently implement the software design; design and carry out a test strategy to assess the soundness of the software and make subsequent improvement to design and code; choose and correctly use appropriate tool boxes or functions for a given computational or data processing need in Matlab.

(S1) On completion of the module students should be able to show experience and skills in software design based on functional decomposition method; design and coding C++ classes for Object oriented program design; using MATLAB to perform matrix calculation and generating high quality visualisation of a given data set. using SIMULINK to model electrical and electronic systems.

(S2) On completion of the module students should be able to show experience and enhancement in software design using different programming languages; project organisation and problem solving; exploring the functionality of emerging Matlab toolboxes and C++ libraries through independent study.


Syllabus

 

Description of course structure of ELEC431 and brief review of software engineering and programming and their applications;
Introduction to MATLAB and its features; Getting started with MATLAB; Basic command-line inputs; Workspace issues; Basic syntax and variables; Representation of vectors and matrices by variables.

MATLAB Vizualization; Simple plots; 3D plots; Plotting surfaces; Printing.

Programming using MATLAB, MATLAB m-files; Logical structures; Logical and relational operators; Conditional code execution.

Introduction to m.file functions.

Introduction to SIMULINK; Model creation; Using blocks; Simulation Parameters; Case studies

Symbolic operations in MATLAB; Introduction to tool boxes for image and signal processing.

Design of Graphical User Interface (GUI) in MATLAB.

Introduction to software as an engineered product and software engineering principles; Procedure for program design based on functional decomposition method.

Introduction to C++ as a complilation program language and header files; Control structures and operators, input/output, arrays, structures and pointers, type conversions, character arrays and strings, reading and writing files.

Basic introduction to Object Oriented Programming.


Teaching and Learning Strategies

Due to Covid-19, one or more of the following delivery methods will be implemented based on the current local conditions and the situation of registered students. It is anticipated that both a) & b) will be in operation for semester 1.
(a) Hybrid delivery, with social distancing on Campus
Teaching Method 1 - On-line asynchronous lectures
Description: Lectures to explain the material
Attendance Recorded: No
Notes: On average two per week

Teaching Method 2 - Synchronous face to face tutorials
Description: Tutorials on the Assignments and Problem Sheets
Attendance Recorded: Yes
Notes: On average one per week

Teaching Method 3 - Campus based Laboratory Work Tutorials
Description: Laboratory Sessions to undertake tutorials and the Assignments
Attendance Recorded: Yes
Notes: 2 hours of supervised lab per week (10 weeks per semester)

(b) Fully online delivery and ass essment
Teaching Method 1 - On-line asynchronous lectures
Description: Lectures to explain the material
Attendance Recorded: No
Notes: On average two per week

Teaching Method 2 - On-line synchronous tutorials
Description: Tutorials on the Assignments and Problem Sheets
Attendance Recorded: Yes
Notes: On average one per week

Teaching Method 3 - on-line Laboratory Work Tutorials
Description: Laboratory Sessions to undertake tutorials and the Assignments
Attendance Recorded: Yes
Notes: 2 hours of on-line supervised lab per week where students can contact demonstrators to provide support (10 weeks per semester)

(c) Standard on-campus delivery with minimal social distancing
Teaching Method 1 - Lecture
Description: Lectures to explain the material
Attendance Recorded: Yes
Notes: On average two per week

Teaching Method 2 - Tutorial
Description: Tutorials on the Assignments and Problem Sheets
Attendance Recorded: Yes
Notes: On average one per week

Teaching Method 3 - Laboratory Work
Description: Laboratory Sessions to undertake tutorials and the Assignments
Attendance Recorded: Yes
Notes: 2 hours of supervised lab per week (10 weeks per semester)


Teaching Schedule

  Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
Study Hours 18

    18

    36
Timetable (if known)              
Private Study 114
TOTAL HOURS 150

Assessment

EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
             
CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
(431) Assignment 1 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) : Week 4 -- Week 9 (Submissio    65       
(431.1) Class Test (Online) There is a resit opportunity. This is an anonymous assessment. Assessment Schedule (When) :Week 10 or Week 12    35       

Reading List

Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.