Device-agnostic design
Individual course
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.
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 https://fitech101.aalto.fi/device-agnostic-design/
Completion methods
Course assignments including exercises, readings and projects.
You can get a digital badge after completing this course.
mobile applications, mobiilisovellukset
Responsible teacher
User interfaces and usability,
Web programming
Degree student