Skip to main content
POK - Polimi Open Knowledge uses cookies for analytics and to improve your user experience. By continuing on this site you allow us to track cookies.
If you want to learn more about cookies and how to disable them, please read:
x
Completed 0%
0 / 18
You are currently viewing the course index. Please log in to check how to enrol into the course and get full access.
How to learn the essential skills needed to conceive, design, and build engaging, high-quality apps for Android, iOS, and other platforms using a single codebase to streamline development and ensure consistency across devices.

Course description

Creating software for smartphones is not simple. This course explains the process using a specific technology: Flutter, Google’s UI toolkit for building mobile, web, and desktop applications from a single codebase. With Flutter, you can create apps that run on both Android and iOS without needing to change the code.

After a brief introduction to the world of app development, the course presents Flutter and Dart, its programming language. Dart is an object-oriented language developed by Google, with a syntax similar to C or Java. The course then walks through the structure of a Flutter app and the steps a developer must follow to build a complete application.

Total workload of the course: 10 hours

This MOOC is provided by Politecnico di Milano.

This MOOC was produced as part of the Edvance project – Digital Education Hub per la Cultura Digitale Avanzata. The project is funded by the European Union – Next Generation EU, Component 1, Investment 3.4 “Didattica e competenze universitarie avanzate".

EDDIE, Edvance
Politecnico
Finanziato EU MUR, Ministero Università e Ricerca Italia Domani Edvance

Intended Learning Outcomes

By actively participating in this MOOC, you will achieve different intended learning outcomes (ILOs).

  1. Understand the importance of cross-platform app development
    ESCO: information and communication technologies (icts)
  2. Understand what Flutter is
    ESCO: software components libraries
  3. Configure a complex working environment to develop Flutter apps
    ESCO: integrated development environment software
  4. Understand the differences between stateless and stateful widgets
    ESCO: designing ict systems or applications
  5. Learn how to compose different widgets and distribute them on the screen
    ESCO: design user interface
  6. Create single-screen apps
    ESCO: mobile device software frameworks  ESCO: software and applications development and analysis
  7. Evaluate alternative widgets and identify the most appropriate ones for different needs
    ESCO: think analytically

Prerequisites

Basic knowledge and understanding of object-oriented programming languages like Java, C#, or Python.

Activities

Over and above consulting the content, in the form of videos and other web-based resources, you will have the opportunity to discuss course topics and to share ideas with your peers in the Forum of this MOOC. The forum of this MOOC is freely accessible, and participation is not guided; you can use it to compare yourself with other participants, or to discuss course contents with them.

Section outline

  • Content available if you are enrolled in this course
  • The first week provides an overview of the mobile app market and explains why cross-platform development has become the best way to reach the widest possible audience. It also introduces the different ways to use Flutter and how it enables the creation of fully functional mobile applications.
    Content available if you are enrolled in this course
  • The second week explains what a Flutter app is and how to build and run one using appropriate emulators. It then introduces widgets, the building blocks of graphical user interfaces, and clarifies the difference between stateless and stateful widgets. The week concludes with a short gallery of the most commonly used widgets.
    Content available if you are enrolled in this course
  • The third week focuses on creating custom widgets for specific purposes, highlighting the different approaches required for stateless and stateful widgets. It also covers how to combine individual widgets to build more complex user interfaces.
    Content available if you are enrolled in this course
  • The final week brings together all the concepts covered so far by introducing additional widgets and walking through a few more advanced examples. It also provides the main components needed to build a simple calculator app, demonstrating how the various elements can be integrated into a complete, functional application.
    Content available if you are enrolled in this course
    • Folder icon
      File Folder
      Content available if you are enrolled in this course

Assessment

Your final grade for the course will be based on the results of your answers to the assessed quizzes. You have an unlimited number of attempts at each quiz, but you must wait 15 minutes before you can try again. You will have successfully completed the course if you score 60% (or higher) in each one of the assessed quizzes. The maximum score possible for each quiz is given at the beginning of the quiz. You can view your score in the quiz on your last attempt or on the 'Grades' page.

Certificate

You can achieve a certificate in the form of an Open Badge for this course, if you reach at least 60% of the total score in each one of the assessed quizzes and fill in the final survey. 

Once you have completed the required tasks, you will be able to access ‘Get the Open Badge’ and start issuing the badge. Instructions on how to access the badge will be sent to your e-mail address. 

The Badge does not confer any academic credit, grade or degree.  

Information about fees and access to materials

The course is delivered in online mode and is available free of charge.

Course faculty

Luciano Baresi

Luciano Baresi

Teacher

Luciano Baresi is a Full Professor at the Politecnico di Milano, within the Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB). He has held visiting appointments at the University of Oregon (USA), Tongji University (China), and the University of Paderborn (Germany).

Professor Baresi has co-authored more than 200 publications, and his research covers a broad spectrum of topics in software engineering. He is the creator of the master’s-level course Design and Implementation of Mobile Applications at Politecnico di Milano and has been its instructor for the past decade.

Contact details

If you have any enquiries about the course or if you need technical assistance please contact pok@polimi.it. For further information, see FAQ page.