Form of learning:
Target group and prerequisitesCourse is suitable for people interested in building applications that work on multiple devices. Prerequisites include basic knowledge of programming and programming environments.
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.
- 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.
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
The course uses open source software (mainly Dart and Flutter). Online materials available at https://fitech101.aalto.fi/device-agnostic-design/
Course assignments including exercises, readings and projects.