NG1S909 - Programming for Electronics Engineering 01 Jul 2022 - 31 Aug 2028 | Version 1

Associated Module Information

Module Code: NG1S909
Module Title: Programming for Electronics Engineering
Faculty: Faculty of Computing, Engineering and Science
Faculty Group: Information and Electronics
Faculty Sub Group: Electronics
Module Leader: Ben Mehenni, Adam Jones
Module Team: Sivagunalan Sivanathan, Alexandre Oleon, Eurfyl Davies, Anamika Khanom
First Intended Intake: SEP 2022 Final Year of Intake: 2027
Date Closed:
Credit Value: 20 Credit Level: 4
Language: English
Percentage of Module Taught in Welsh: 0
Equivalent Module:
HECOS codes: 100163 - electrical and electronic engineering
HECOS Code Weighting: 100

Document Version Information

Version 1
Valid From 01 Jul 2022
Valid To 31 Aug 2028

Module Aims

To use the C/C++ programming language as a tool in the development of basic embedded systems (Hardware & Software) solutions for intelligent monitoring and control applications.

To require students to understand the mechanics of programming with high level languages along with the constructs and syntax of the programming language.

To appreciate the development of embedded systems and real-time solutions using the general-purpose microcontrollers.

Content Summary

The module content will develop the students understanding of designing and developing firmware for microcontrollers using the Embedded C programming Language and industry standard cross compilers and debuggers. This module introduces the basic CPU architectures and operation for the modern microcontroller. The laboratory based challenging practical exercises helps students to develop skills required to develop and manage complex firmware.
The module contents include:
• Introduction to Microcontroller Architectures along with essential circuits
• Van Newman, Harvard- CISC & RISC architectures
• CPU components
• Oscillator circuits
• Reset Circuits
• Power Management
• Data Representation- Binary numbering Systems in machine language
• Introduction to the C/C++ programming language for embedded software solutions.
• Basic Program Structure
• Super loop software architectures for real-time applications
• Elements of a Program
• Declarations and Expressions
• Assignment Statements
• Decision and Control Statements
• Arrays, Strings and Pointers
• Managing and debugging complex programs.
• Tools: Modern and current ISDE based on the CMSIS concepts of efficient configuration and programming of microcontrollers

Learning and Teaching Methods

Activity Type Hours
Lecture 12
Practical classes and workshops 24
Independent Study 84
Directed Study 24
Formative Assessment - Independent 20
Tutorial 12
Total Hours Selected 176

Learning Outcomes

# Learning Outcome
LO1 Will be able to describe the basic constructs and concepts of the Embedded 'C/C++' programming language, and apply fundamental techniques to test and debug simple firmware solutions
LO2 Be able to select a micro-controller architecture for specific applications, highlighting their advantages and limitations, and be able to develop simple embedded solutions based on provided specifications.

Module Requisites

N/A

Assessment Criteria

Assessment Category Assessment Type Description Duration Word Count Weight (%) Best of? Pass Mark
Asynchronous Assessment Practical Coursework 1 (Asynch) Exercises undertaken in laboratory aimed at assessing the application of knowledge, analytical, problem-solving or evaluative skills with written report. 0 N/A 50 No 40
Synchronous Online Assessment Classroom Test - Time Constrained (Online) 1 A written test (could be MCQ), administered within the timetabled teaching session, which is time constrained to not more than two hours, takes place under controlled conditions and is not invigilated. 120 N/A 50 No 40

Assessment Matrix

Assessment Type Learning Outcomes
LO1 LO2
Practical Coursework 1 (Asynch)
Classroom Test - Time Constrained (Online) 1

Reading List

Deitel H.M and Deitel P.J(2001),?C How To Program, Prentice Hall, 3rd Edition, ISBN: 0-13- 089572-5

J. M. Conrad and A. G. Dean, Embedded Systems, An Introduction Using the Renesas RX62N Microcontroller. Micrium, 2011.

A. G. Dean, Embedded Systems Fundamentals with Arm Cortex-M Based Microcontrollers: A Practical Approach Nucleo-F091RC Edition. ARM Education Media, 2021.