Course plan

Syllabus Computer Engineering MA, Implementing Internet of Things Protocols, 6 credits

General data

  • Code: DT065A
  • Subject/Main field: Datateknik
  • Cycle: Second cycle
  • Credits: 6
  • Progressive specialization: A1N - Second cycle, has only first-cycle course/s as entry requirements
  • Answerable department: Information Systems and Technology
  • Answerable faculty: Faculty of Science, Technology and Media
  • Established: 4/1/2019
  • Date of change: 9/20/2019
  • Version valid from: 1/1/2020

Aim

The aim of this course is for the student to gain advanced knowledge, have deep understanding, and show programming skills in Internet of Things protocols, in particular their design, usages, the problems they solve, and their implementations. This course also aims to challenge the student in creating protocol implementations from scratch, to develop the student's programming skills even further.

Course objectives

After the course, you should be able to:
- Describe and relate of how networking applications work and are designed.
- Describe and relate for what the Internet of Things is and its problems.
- Design and construct an implementation from given protocol specifications.
- Implement protocols from scratch with only basic programming tools and without the use of external libraries.
- Quantitatively evaluate your own implementation.
- Present and report the results from programming oriented projects.

Content

- Principles of distributed applications: client/server, peer-to-peer, multicast, etc.
- Principles of advanced programming and network programming: sockets, event-driven programs, multithreading, state machines, etc.
- Principles of the Internet of Things and its usages in practice.
- Design and implementation of IoT protocols. For example: REST, MQTT, CoAP, etc.

Entry requirements

90 hp finished courses including 60 credits in Computer engineering GR (ABC), including programming of at least 15 credits.

Selection rules and procedures

The selection process is in accordance with the Higher Education Ordinance and the local order of admission.

Teaching form

The course consists of a series of lectures and three big programming projects. The lectures present the necessary background theory and knowledge for the student to finish the programming projects. Because, in the three programming projects all their knowledge and programming skills is put to the test by challenging protocol implementations from scratch. Only a small part of the time required to finish the projects will be scheduled. Depending on the programming skill level of the student, the work effort is estimated to 160 hours of work.

Examination form

P101: Programming project 1, with oral and written presentation, 2.0 hp
Grade scale: Fail (U) or Pass (G)

P201: Programming project 2, with oral and written presentation, 2.0 hp
Grade scale: Fail (U) or Pass (G)

P301: Programming project 3, with oral and written presentation, 2.0 hp
Grade scale: Fail (U) or Pass (G)

2.0 hp, P101: Programming project 1, with oral presentation and written report.
Grade: A, B, C, D, E, Fx, and F. A-E are passing grades, Fx and F are failing grades.

2.0 hp, P102: Programming project 2, with oral presentation and written report.
Grade: A, B, C, D, E, Fx, and F. A-E are passing grades, Fx and F are failing grades.

2.0 hp, P103: Programming project 3, with oral presentation and written report.
Grade: A, B, C, D, E, Fx, and F. A-E are passing grades, Fx and F are failing grades.

The final grade is based on all parts of the course.

Grading criteria for the subject can be found at www.miun.se/gradingcriteria.

The examiner has the right to offer alternative examination arrangements to students who have been granted the right to special support by Mid Sweden University’s disabilities adviser.

Grading system

Seven-grade scale, A, B, C, D, E, Fx and F. Fx and F represent fail levels.

Course reading

Reference literature

  • Author: David Hanes, Gonzalo Salgueiro, Patrick Grossetete
  • Title: IoT Fundamentals
  • Comment: IBSN 9781587144561