WM1AE-15 Programmable Electronics
Introductory description
Electromechanical systems are required to move, exert force or energy on their surroundings, and do so in a controlled manner.
This module deals with the third of those challenges by enabling students to construct software programmes to control engineering hardware. An emphasis will be placed on development for microcontroller based systems, providing students with hands-on experience in both software development and hardware interaction.
Module aims
Construct software programmes using industry-relevant programming languages by application of computational thinking including algorithm construction, logical instructions, data types, program syntax and semantics.
Learners will develop knowledge of syntax and semantics of programmes and the ability to implement and test their own programmes using microcontrollers for electromechanical devices.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Programming fundamentals:
-Boolean algebra, Binary and Hexadecimal
-Variables, data types and variable scoping
Computational operators and functions:
-Loops, nested loops, decision structures
-Program syntax and semantics
Software and hardware testing:
-Programme deployment
-Verification and validation
Learning outcomes
By the end of the module, students should be able to:
- Describe typical applications of microcontrollers in engineering systems [AHEP:4-C2].
- Use logic and mathematical operators to programme software to control a broadly-defined electromechanical system [AHEP:4-C1].
- Implement, test and debug software for the control of a broadly-defined electromechanical system [AHEP:4-C3, C12].
Indicative reading list
C. Unsalan (2021) Embedded digital control with microcontrollers: implementation with C and Python
Subject specific skills
Coding a microprocessor
Testing methodology of software
Boolean algebra and logic
Binary and hexadecimal
Transferable skills
This module will contribute to the development of the following from the Warwick Core Skills framework:
Critical Thinking: Interpreting, analysing
Digital literacy: IT skills
Problem Solving: Problem creation
Teamworking: Collaboration
Study time
| Type | Required |
|---|---|
| Lectures | 12 sessions of 1 hour (8%) |
| Seminars | 12 sessions of 1 hour (8%) |
| Practical classes | 6 sessions of 1 hour (4%) |
| Online learning (independent) | 30 sessions of 1 hour (20%) |
| Private study | 30 hours (20%) |
| Assessment | 60 hours (40%) |
| Total | 150 hours |
Private study description
Online learning (independent): Engagement with provided study materials and signposted resources - review, interpretation and application to example problems and case studies.
Private study: Creation of own study materials - e.g. notes, flashcards, summaries, etc.
Engagement with self-identified materials - industry reports, technical videos, podcasts, journal articles, etc.
Costs
No further costs have been identified for this module.
You must pass all assessment components to pass the module.
Assessment group A
| Weighting | Study time | Eligible for self-certification | |
|---|---|---|---|
Assessment component |
|||
| Assessment 1 | 30% | 18 hours | No |
|
Computer-based exam of microcontroller applications, coding and software creation. |
|||
Reassessment component is the same |
|||
Assessment component |
|||
| Assessment 2 | 70% | 42 hours | Yes (extension) |
|
Individual portfolio demonstrating the programming and use of a microcontroller based system to perform a specified task. |
|||
Reassessment component is the same |
|||
Feedback on assessment
Formative: Verbal feedback during interactive class sessions and practical sessions; (Automated) individual feedback for computer-based tests; Verbal feedback during ad hoc meetings.
Summative: Cohort level summary feedback for formal tests / exams; Written feedback and marks aligned with University 20 point marking scale.
There is currently no information about the courses for which this module is core or optional.