Module Code: |
H8IOTAD |
Long Title
|
IoT Application Development
|
Title
|
IoT Application Development
|
Module Level: |
LEVEL 8 |
EQF Level: |
6 |
EHEA Level: |
First Cycle |
Module Author: |
Alex Courtney |
Specifications of the qualifications and experience required of staff |
Either PhD or MSc in Computer Science or Cognate Discipline
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Differentiate the features and the support provided by various hardware development boards and platforms that support development of IoT applications |
LO2 |
Design, implement, and test IoT services and applications using underlying industry standard hardware |
LO3 |
Investigate, evaluate, and contrast how IoT services and applications can be deployed on the WWW. |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
No recommendations listed |
Co-requisite Modules
|
No Co-requisite modules listed |
Entry requirements |
Learners should have attained the knowledge, skills and competence gained from stage 3 of the BSc (Hons) in Computing.
|
Module Content & Assessment
Indicative Content |
Introduction to IoT development boards and software platforms
Introduction into hardware development boards and software platforms for IoT• Role, features and functionalities of hardware development boards• Programming language support (e.g. Python, Node.js)
|
Development Boards and Software Platforms (continued)
Examples to hardware development boards and platforms for IoT (e.g. Intel Galileo, Arduino, Raspberry Pi). Practical work with above development boards
|
Programming the IoT
Examination of the diversity of Programming approaches to IoT, from high level to low.. Low-level programming language will be explored for example C or C++.
|
Programming the IoT (continued)
Development will be examined with a higher-level programming abstraction such as Python, or Ruby
|
Application Development for IoT Platforms
Practical usage (e.g. home automation control of lights, bicycle odometer). Setup requirements for an IoT platform e.g. Load OS, setup SSH server, setup LAN connectivity. Interfacing hardware: various ways of connecting the devices e.g. GPIO
|
Application Development for IoT Platforms (continued)
Examples of real-life applications developed for Raspberry Pi making use of the hardware device and/or device emulator tool
|
Programming a “Thing”
Programming a low-level ‘thing’, through the use of lower-level programming languages such as C++• Introduction to low-level Sensor Nodes
|
Programming a “Thing” (continued)
Arduino Linux OS and setup requirements. For example, Arduino IDE e.g., Visual Micro for Microsoft Visual Studio). Arduino Simulator
|
Programming a “Thing” (continued)
Arduino Simulator (continued). Usage of sensor devices with Arduino
|
Software Applications for Information Processing
Processing information transmitted by smart sensors (e.g. healthcare sensors, weather/temperature sensors). Interacting with, and processing information from intelligent tags (e.g. NFC, RFID)
|
Software Applications for Information Processing
Developing web app, e.g. using Google App Engine, in order to make available the information processed by the Arduino• Visualise the information on various computing devices (e.g. laptop, PC, smartphones)
|
Revision Week
Revision of all the above topics
|
Assessment Breakdown | % |
Coursework | 100.00% |
AssessmentsFull Time
Coursework |
Assessment Type: |
Formative Assessment |
% of total: |
Non-Marked |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3 |
Non-Marked: |
Yes |
Assessment Description: Formative assessment will be provided on the in-class individual or group activities. |
|
Assessment Type: |
Continuous Assessment |
% of total: |
40 |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3 |
Non-Marked: |
No |
Assessment Description: In class assessments (e.g. in-class quiz-based assessments, practical lab exercises) will evaluate learners’ understanding of hardware equipment and IDE tools that may be used to develop IoT services/applications |
|
Assessment Type: |
Project |
% of total: |
60 |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3 |
Non-Marked: |
No |
Assessment Description: Practical work will be conducted throughout the semester to assess the learner’s skills in terms of design, application development for a given case study IoT service, using a hardware development board and its IDE. Practical work will involve working in a team |
|
No End of Module Assessment |
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
Reassessment Description Coursework Only This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination. Learners who fail this module will be afforded an opportunity to take the repeat module assessment where all learning outcomes will be assessed. Learning EnvironmentLearning will take place in a classroom/lab environment with access IT resources. Learners will have access to library resources, both physical and electronic and to faculty outside of the classroom where required. Module materials will be placed on Moodle, the College’s virtual learning environment
|
NCIRL reserves the right to alter the nature and timings of assessment
Module Workload
Module Target Workload Hours 0 Hours |
Workload: Full Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
Classroom & Demonstrations (hours) |
24 |
Every Week |
24.00 |
Tutorial |
Other hours (Practical/Tutorial) |
24 |
Every Week |
24.00 |
Independent Learning |
Independent learning (hours) |
77 |
Every Week |
77.00 |
Total Weekly Contact Hours |
48.00 |
Module Resources
Recommended Book Resources |
---|
-
Julien Bayle. (2013), C Programming for Arduino, Packt Publishing.
-
Simon Monk. (2012), Programming Arduino Getting Started with Sketches, Tab Electronics.
-
Mark Lutz. (2011), Programming Python, O'Reilly Media.
-
(2013), , Programming the Raspberry Pi: Getting Started with Python, Tab Electronics, [ISBN: SIMON MONK].
| Supplementary Book Resources |
---|
-
Stephen Chin, James Weaver. (2015), Raspberry Pi with Java: Programming the Internet of Things,, McGrawHill Education.
-
John Oxer. (2010), Practical Arduino Cool Projects for Open Source Hardware,, Aprino.
| This module does not have any article/paper resources |
---|
This module does not have any other resources |
---|
|