course-details-portlet

TTM4115

Design of Communicating Systems

Assessments and mandatory activities may be changed until September 20th.

Credits 7.5
Level Second degree level
Course start Spring 2027
Duration 1 semester
Language of instruction English
Location Trondheim
Examination arrangement Portfolio assessment

About

About the course

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.

The learning outcomes of this course are related to the construction of large-scale, distributed ICT systems that are the backbone of digital infrastructures critical to society. Such systems provide relevant functions in a robust and efficient manner, and are directly related to SDG 9 (Industry, Innovation and Infrastructure). Indirectly such systems also contribute to other SDGs as enablers in various domains, like SDG 2 (Zero Hunger), SDG 3 (Good Health and Wellbeing), SDG 7 (Affordable Clean Energy), to mention a few.

Learning methods and activities

The course uses team-based learning, where traditional lectures are combined with exercises. Throughout the semester, students receive continuous feedback on their learning progress through several Readiness Assurance Tests (RATs). These tests are completed first individually, and then a second time in teams, normally at the beginning of the main session of each learning unit. To learn working on larger projects in a realistic setting, the course also includes a term assignment. In this assignment, students plan, refine, and develop an application.

Compulsory assignments

  • System specification document: submission of version 1 and 2
  • Team activities: participation and submission of results at the end of the week

Further on evaluation

Portfolio assessment is the basis for the final grade in the course. The portfolio consists of several elements produced throughout the semester, both individually and in teams. The entire portfolio is assigned a letter grade.

The term assignment is a development project conducted in teams. This project results in a system specification document, code, and a screencast. These deliverables are submitted by each team at the end of the semester and included in the portfolio of every student in the team.

During the semester, teams must submit partial versions of the system specification document. These submissions are mandatory but not part of the graded portfolio.

Throughout the process, students provide and receive peer feedback on the partial system specifications. Only the feedback that each student gives to others is included in the portfolio and contributes to the final grade; feedback received is not part of the assessment.

At the end of the semester, each student submits an individual reflective essay on the development process and selected topics from the course. This essay is included in the portfolio.

In addition to the project work, teams complete a set of structured team activities designed to train skills needed for the final deliveries. Participation in these activities, including weekly submissions, is mandatory but not part of the graded portfolio.

The final grade is determined by the portfolio as a whole. The assessed components are the team project deliverables (final system specification, code, and screencast), the peer feedback each student provided to other teams, the results of the individual readiness assurance tests (RATs), and the individual reflective essay.

All material must be submitted in English, except the reflective essay, which may also be written in Norwegian.

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
SIE5020 7.5 sp
This course has academic overlap with the course in the table above. If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.

Subject areas

  • Telematics
  • Technological subjects

Contact information

Course coordinator

Lecturers

Department with academic responsibility

Department of Information Security and Communication Technology

Examination

Examination

Examination arrangement: Portfolio assessment
Grade: Letter grades

Ordinary examination - Spring 2027

Portfolio assessment
Weighting 100/100 Exam system Inspera Assessment