π Home¶
Welcome to the course website for ELEC0033 and ELEC0152!
π Course assessment¶
| Component | Weight |
|---|---|
| Mini Project pull requests ready in time (individual) | 10% |
| Group Project planning report (15% group + 15% individual) | 30% |
| Group Project demonstration (group) | 30% |
| Group Project report (group) | 30% |
See the Mini Project and Group Project pages for the detailed marking schemes behind each of these.
πΊοΈ Course structure¶
1οΈβ£ Part 1 β IoT fundamentals + Mini Project¶
An IoT crash course to get you familiar with all the tools and workflows you'll need to start working on the group project.
timeline
section Part 1 β IoT Fundamentals + Mini Project
Session 1 : Lecture β Sensors and Arduino : Task 1 β Building and testing the edge device
Session 2 : Lecture β Connectivity, protocols, and APIs : Task 2 β Connecting the edge device to the internet : Task 3 β Connecting the edge device to AWS IoT Core
Session 3 : Lecture β Cloud : Task 4 β Building the system backend with AWS Lambda : Task 5 β Creating a dashboard on AWS
- Session 1 β Sensors and Arduino
- Session 2 β Connectivity, protocols, and APIs
- Session 3 β Cloud
Each of these three sessions is made up of a lecture followed by a guided tutorial, working through a Mini Project one step at a time.
Note
This mini project will serve as a dress rehearsal for the final group project ahead on which you will be evaluated. You will be working solo and on a small scale, learning the fundamentals of implementing an IoT system's backbone β edge device, connectivity, and cloud backend β as well as the tools and workflow (branches, pull requests, code review, version tags) you'll rely on to collaborate efficiently once you're building the Smart Supermarket system as a group.
2οΈβ£ Part 2 β Tutorials + Group Project¶
Lectures covering additional material important to designing an IoT system, combined with dedicated time to work on your Group Project β split into a Planification phase and a Prototyping phase.
timeline
section Phase 1 β Planification
Session 4 : Lecture β Project brief : Lecture β Business case : Team building
Session 5 : Lecture β Exploratory Data Analysis : Lecture β Ethics
section Phase 2 β Prototyping
Session 6 : π¨ Planning report due : Lecture β Q&A with a cloud engineer
Session 7 : Prototyping
Session 8 : π¨ Demonstration due
- Session 4 β Project brief, Business case, Team building
- Session 5 β Exploratory Data Analysis, Ethics
- Session 6 β Q&A with a cloud engineer β π the planning report is due before this session
- Session 7 β Prototyping
- Session 8 β π¬ Demonstration
See the Group Project page for the full brief, requirements, and marking schemes for each phase.
π― Learning objectives¶
π‘ IoT knowledge and skills¶
- Wire up and program sensors and actuators on a microcontroller.
- Understand and use connectivity protocols and APIs (WiFi, HTTP, MQTT, TLS/X.509).
- Build and connect a cloud backend (AWS IoT Core, AWS Lambda) that processes device data and responds to it.
- Understand the full edge β cloud β edge communication loop that underpins most real-world IoT systems.
π§ Engineering methodology and workflows¶
- Debug a multi-component system methodically, one layer of connectivity at a time.
- Use a professional, collaborative git workflow: feature branches, pull requests, code review, and version tags.
- Apply good security practices (secrets management, least-privilege IAM roles and policies).
- Structure and document a multi-component system clearly.
This course is built around practical, hands-on skills. The goal isn't to memorize IoT theory β it's to leave the course able to actually build, debug, and collaborate on a real IoT system, the same way you'll be expected to on the job.
π€ A note on AI use¶
AI is allowed β but you still have to know your system
You're welcome to use AI tools (Copilot, ChatGPT, Claude, and similar) while working through this course. However, assessment does not stop at "does it work". You will be asked to describe your system, justify your design and methodology choices, and walk through your approach to troubleshooting when something breaks.
If you can't do this because you outsourced the thinking to an AI tool instead of understanding what you built, you will fail that part of the assessment. Use AI to move faster β not as a substitute for understanding your own system.