System Design Concepts for the Internet of Things

1. Course Title System Design Concepts for the Internet of Things
2. Code 4ФЕИТ07006A
3. Study program Dedicated Embedded Computer Systems and Internet of Things
4. Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies

Ss. Cyril and Methodius University in Skopje

5. Degree (first, second, third cycle) Second cycle
6. Academic year/semester Year 1 Semester 1
7. Workload measured by number of ECTS credits 6
8. Lecturer (In case of several lecturers to note the responsible one) Dr Marija Kalendar
9. Language of teaching Macedonian and English
10. Course Prerequisites None
11. Course Goals (acquired competencies) and study results: The aims of the course include learning the process of system design, with special focus on IoT system design considering all elements, design and evaluation of the prototype solutions. Upon successful completion of the module, the students are able to make informed design decisions for the development of complete IoT systems including devices and applications. They will be able to evaluate, compare and apply different platforms, algorithms, protocols and system architectures for IoT applications, considering sensing, computation, communication and energy aspects. Students will be able to apply the learned design methodologies, algorithms and protocols to develop new applications in many domains. They will have competences for criitical reflection on the societal impact of the IoT together with safety, security and privacy aspects. Students will be able to practice team work through the entire development cycle, from system specification to constructing a prototype and system implementation.
12. Course Syllabus (with Chapters) and study results for each chapter:

1. System design concepts. Specific design concepts for the IoT. Development of prototypes representing minimum viable products. (understanding system design concepts and special concepts for IoT)

2. Development environments for embedded software. Early evaluation of product’s potential. Evaluation of concept ideas and prototypes considering design choices compared to the user experience, suitability of the technical solutions and potential for further development into complete IoT products or additional prototype development needs.  (to implement elements for IoT systems prototyping)

3. Short review of embedded and cyber-physical systems and the IoT; Application scenarios for IoT; Design and modeling of embedded platforms; (implementing embedded systems in IoT)

4. Resource aware programming, hardware programming, developing multi-threaded software; Inter-process communication with shared memory and message passing; Programming using real time operating systems; Fault detection and testing, and fault tolerance and fault recovery.  (using different programming paradigms in IoT)

5. Connecting IoT devices and gathering data: traditional and cloud platforms; reference architectures for the IoT (warehouse architectures, cloud-based architectures, and edge computing); processing large data sets; IoT and the cloud; (to use IoT systems for gathering and processing data, implement IoT systems in the cloud)

6. Architectures of distributed systems; Distributed IoT-based systems, middleware and methods for system integration; communication frameworks and protocols; consumer-producer and publisher-subscriber communication patterns;  (using and implementing oT-based distributed systems)

7. Energy supply and constraints;  quality characteristics and metrics for IoT-based system architectures, including energy efficiency;  (applying energy efficiency in IoT)

8. Basic elements for implementing security and privacy concepts for IoT-based systems; software design patterns for dependable systems; system simulation and validation; application examples for various industries. (knowing the elements and applying security, privacy, dependability concepts for IoT systems)

13. Interconnection of Courses: This course is the center-piece of the IoT system design ecosystem comprising the following courses: Internet of Things, Design of Smart IoT Devices, Cloud computing and Cloud platforms, Security and reliability of computer communication systems, IoT Standards and Protocols, Ambient Intelligence and Smart Devices, Programming Embedded Systems in ‘C’, Data Warehouse and Purpose-built Data.
14. Detailed description of teaching and work methods: Lecturing, consultations, independent work on course project tasks and preparation of seminar papers, presentations of the work
15. Total number of course hours 180
16.

 

Forms of teaching 

 

16.1 Lectures-theoretical teaching 45 hours

 

16.2 Exercises (laboratory, practice classes), seminars, teamwork 45 hours

 

16.3 Practical work (hours): 30 hours
17.

 

 

Other course activities

 

17.1 Projects, seminar papers 30 hours
17.2 Individual tasks 10 hours
17.3 Homework and self-learning 20 hours
18. Conditions for acquiring teacher’s signature and for taking final exam: 60% of all required course activities
19. Grading
19.1 Quizzes 0 points
19.2 Seminar work/project (presentation: written and oral) 50 points
19.3 Final Exam 50 points
20. Grading criteria (points) up to 50 points 5 (five) (F)
from 51 to 60 points 6 (six) (E)
from 61 to 70 points 7 (seven) (D)
from 71 to 80 points 8 (eight) (C)
from 81 to 90 points 9 (nine) (B)
from 91 to 100 points 10 (ten) (A)
21. Method of monitoring of teaching quality Self-evaluation and student surveys
 
22. Literature
22.1. Required Literature
No. Author Title Publisher Year
1. McEwen, Adrian, and Hakim Cassimally Designing the internet of things. John Wiley & Sons, 2013
2. A.James, A. Seth, S. C. Mukhopadhyay IoT System Design: Project Based Approach Springer 2021
3. Perry Lea Internet of Things for Architects: Architecting IoT solutions by implementing sensors, communication infrastructure, edge computing, analytics, and security Packt Publishing 2018
22.2. Additional Literature
No. Author Title Publisher Year
1.  Anderson, Ross  Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd Edition  John Wiley & Sons  2020
2.  Bass, Len, Clements, Paul & Kazman, Rick  Software architecture in practice, 3. ed.  Addison-Wesley  2012
3.  Vermesan, Ovidiu, and Peter Friess  Internet of things – from research and innovation to market deployment  River Publishers 2014