ITI42020 Models and Digital Twins for the Internet of Things (Spring 2024)
Facts about the course
- ECTS Credits:
- 10
- Responsible department:
- Faculty of Computer Science, Engineering and Economics
- Campus:
- Halden
- Course Leader:
- Øystein Haugen
- Teaching language:
- English
- Duration:
- ½ year
The course is connected to the following study programs
Mandatory course in the master programme in applied computer science with specialisation in internet of things, full-time and part-time.
Recommended requirements
ITI41920 Automation, Adaptation and the Internet of Things.
General programming skills is an advantage.
Lecture Semester
Second semester (spring) in the full-time and part-time programme.
The student's learning outcomes after completing the course
Knowledge
The student understands
-
the challenges associated with cyber-physical systems
-
the relevance of good software design principles
-
how evolution and maintenance should be organized
-
the value of abstraction
Skills
The student has the capability to
-
model and implement reactive systems with concurrency
-
perform analysis of consistency of models of systems with concurrency
-
give and take constructive criticism of the system design and functioning
-
receive the experience of building a cyber-physical system and making it execute
General competence
The student
-
can build systems on «Internet of Things»
-
can assess realistically what errors may occur in cyber-physical systems and how to minimize their vulnerability
-
has some insight into precise descriptions and their semantics
Content
The course focuses on how reactive systems can be built with emphasis on modeling. The models are executable and based on state machines. The requirements of these concurrent systems are specified as sequence diagrams, and it is emphasized that the requirements and design should be consistent. We show how the concept of "Digital Twins" is useful in theory and practice.
We emphasize reactive systems on the Internet of Things, and we use a running example where the functionality is enhanced during the course following an agile approach.
Towards the end of the course, we show how systems can be made more resilient to unexpected incidents and errors. To perform risk-analysis of such systems will also be covered.
Forms of teaching and learning
The course has three intensive teaching sessions, each session is two full working days consisting of lectures and guided lab and exercises.
In between the teaching session there is supervised project work. For each instance of the course, we create new project tasks. We teach the project teams how to give and take constructive feedback.
Workload
Approx. 280 hours.
Coursework requirements - conditions for taking the exam
-
Mandatory project: There will be one project, with deliverable at each teaching session (2 deliverables). Project group size should be 2-4 people, but with few students, single person project will be possible. The students should expect to spend 100 hours on the project.
-
Plenary presentation and evaluation of the project. The project should normally result in an executable model that should be demonstrated at the plenary presentation.
Coursework requirements must be accepted to qualify for the exam.
Examination
Individual oral exam
Individual oral exam based on the course curriculum and mandatory exercises. Approximately 30 minutes duration. No supporting materials allowed.
Assessment on the A - F grading scale.
Examiners
External and internal examiner, or two internal examiners.
Course evaluation
This course is evaluated by a:
-
Mid-term evaluation (compulsory)
The responsible for the course compiles a report based on the feedback from the students and his/her own experience with the course. The report is discussed by the study quality committee at the Department of Computer Science and Communication.