TTM4115 - Design of Communicating Systems


Examination arrangement

Examination arrangement: Portfolio assessment
Grade: Letters

Evaluation form Weighting Duration Examination aids Grade deviation
Portfolio assessment 100/100

Course content

The course is about methods, languages and architectures to develop ICT systems with an emphasis on communication between system components. This includes classical ICT systems, cyber-physical systems, Internet-of-Things systems and emerging combinations of these. The main topics are:
- Design of systems according to user requirements and use cases 
- Languages for system specifications and system models, with an emphasis on behavior descriptions
- Semantics of specification and design models and consistency between them.
- Development methods, including agile methods

Learning outcome

A. Knowledge:
1) Classify different types of requirements, and explain the main activities during requirements development. Recite and detect potential problems during requirements engineering.
2) Recognize modeling elements in UML, properly explain their semantics, and correctly map them to program code. This includes use case, sequence, state machine and deployment diagrams, among others.
3) Understand and describe the main features of application protocols (like HTTP and MQTT), and select and apply them efficiently and correctly to a system architecture.
4) List and explain the main elements in a development method as for instance Scrum, and reason about their applicability in a given development context.

B. Skills:
1) Capture user requirements and synthesize relevant use cases at a proper level of detail.
2) Write project deliverables that describe system requirements, properties and solutions.
3) Plan and coordinate the development of larger software products within a team of developers.
4) Think in terms of states and transitions, and handle complex, concurrent behavior correctly.
5) Model different aspects of a system efficiently, especially with regard to an appropriate level of detail and the consistency between different views. 6) Apply agile development methods and reflect about their usage within the context of a project. 7) Make proper design choices for the system architecture and document them accordingly.

C. General Competences:
1) Organize and facilitate meetings in which use cases and user requirements are solicited, discussed and evaluated.
2) Managing the work of several developers.
3) Facilitate team discussions and brainstorming sessions.
4) Provide feedback to the work of others that is critical, constructive and relevant.
5) Reflect over own work done individually and in a team.

Learning methods and activities

The course uses team-based learning. Traditional lectures and exercises are combined. Throughout the semester, students receive feedback on their learning process by several readiness assurance tests, which also contribute to the final grade.
To learn working on larger projects and in a realistic setting, a term assignment is part of the course. In this assignment, students plan, refine and develop an application.

Compulsory assignments

  • Report 1: Requirements
  • Report 2: System specification
  • Report 3: Implementation

Further on evaluation

The final grade in the course is based on a portfolio, with the intention to facilitate learning and to provide feedback to students throughout the semester, and enable learning in the context of realistic development conditions through a semester project. The portfolio contains a series of tests, so-called readiness assurance tests (RATs) that are done during class time. Each test introduces the students to a new subset of concepts, as a means to provide feedback on their level of preparation. These tests are multiple-choice and are given, like the preparation material, in English language only. To also develop skills and knowledge on higher cognitive levels, the portfolio contains a development project, tightly connected to the content of the RATs, that students conduct throughout the semester in teams. The teams hand in various specification documents about their system common in real projects, and receive feedback on them throughout the semester in various ways, including feedback by peers, student and teaching assistants and the teacher. At the end of the semester, each student hands in their individual portfolio, consisting of their team's documents in addition to individual deliveries and reflections that set the team document in context. The exact details of the deliveries and requirements are carefully explained at the beginning of the course. The portfolio is evaluated as a whole according to NTNUs grading scheme. The language for all material is English.

Specific conditions

Exam registration requires that class registration is approved in the same semester. Compulsory activities from previous semester may be approved by the department.

Course materials

To be announced at the beginning of the term. The material includes course-specific lecture notes, a compendium from standard software development books as well as online sources, including blog posts, articles and videos.

Credit reductions

Course code Reduction From To
SIE5020 7.5
More on the course

Version: 1
Credits:  7.5 SP
Study level: Second degree level


Term no.: 1
Teaching semester:  SPRING 2021

No.of lecture hours: 4
No.of specialization hours: 8

Language of instruction: English

Location: Trondheim

Subject area(s)
  • Telematics
  • Technological subjects
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Information Security and Communication Technology



Examination arrangement: Portfolio assessment

Term Status code Evaluation form Weighting Examination aids Date Time Digital exam Room *
Spring ORD Portfolio assessment 100/100
Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU