Lifewide learning courses and programmes

Device-agnostic design

This course will teach you what device-agnostic design is, what has led to the emergence of device-agnostic design, and what the present issues and challenges in device-agnostic design are.


Continuously ongoing

Teaching time:



Information and communications technology

Form of learning:



Aalto University, FITech




5 By Aalto University (ECTS)


€ 0.00

Application period:

No application needed

Target group and prerequisites

Course is suitable for people interested in building applications that work on multiple devices. Prerequisites include basic knowledge of programming and programming environments.

Course description

The focus is on hands-on practice, where you will learn to design, implement, and test applications that work on multiple devices. When working on software, we use Dart and Flutter, a modern programming language and a modern framework for building software for multiple devices from a single codebase.

Course contents

  • Methodologies and evolution of device-agnostic design, including how software has been designed and developed for the wide variety of devices in the past.
  • How software is designed and developed for the multitude of devices in the present.
  • How software will (likely) be designed and developed for the plethora of devices in the future.

Learning outcomes

After the course, the student

  • knows the broad history and evolution of designing and developing software for a wide range of devices
  • understands the principles of designing user interfaces and interactions for a variety of devices
  • can evaluate the capabilities and commonalities of different devices and can identify key challenges in designing and developing device-agnostic software for different devices
  • understands the concept of device-agnostic design and can apply software development techniques for device-agnostic design
  • can design, create, reflect on, and evaluate applications that work on multiple devices

Course material

The course uses open source software (mainly Dart and Flutter). Online materials available at

Completion methods

Course assignments including exercises, readings and projects.

  • Updated: