Experiential Learning "Active" learning opportunities

This page collects together all of the “experiences” associated with individual modules.

In this site, experiences represent “active” learning opportunities, as opposed to readings, which represent “passive” learning opportunities.

Module: Introduction to Mobile Application Development

Join the Discord server for this class

We will use Discord for asynchronous communication

Module: Environment Configuration

1. Install IntelliJ IDEA

Install and verify that you can run IntelliJ IDEA on your laptop

2. Install GitHub Desktop

Install and verify that you can run GitHub Desktop on your laptop

3. Install Dart

Install and verify that you can run Dart on your laptop

4. Install DartPad

Install and verify that you can run DartPad on your browser

5. Install Flutter

Install and verify that you can run Flutter on your laptop

6. Install GitHub Copilot

Install GitHub Copilot on your laptop

Module: Dartapalooza

1. Review the Dart Language Guide

Get familiar with both obvious and novel Dart language features

2. Dart Cheatsheet

Introduction to features of Dart not commonly seen in other programming languages.

3. Iterable Collections

How to use collections that implement the Iterable class—for example List and Set

4. Asynchronous Programming

How to write asynchronous code using futures and the async and await keywords.

5. Null Safety

Understand Dart’s null-safe type system, including nullable and non-nullable types, operators, and the late keyword.

Module: Flutterpalooza

1. Join the Flutter Communities

Join the Flutter Slack and Discord communities

2. Write your first Flutter app

Follow this two-part Codelab to create the Startup_Namer app.

3. Introduction to Widgets

Follow this Codelab to create the Shopping_List app.

4. Basic Flutter layout concepts

Learn about Layout widgets (Row, Column, etc) while you build a simple business card

5. Building layouts; Adding Interactivity

Build a Campground app to learn about layout and interactivity.

Experience building FTW Wireframes

Wireframe at least six screens for your FTW app

Module: Material Design

1. MDC Basics

Build a login page using several of MDC Flutter’s components.

2. Material Structure and Layout

Add navigation, structure, and data.

3. Material Theming with Color, Shape, Elevation, and Type

Customize Color, Typography, Elevation, Shape, and Layout

4. Material Advanced Components

Change the UI to a two-level presentation called a ‘backdrop’.

Module: UI Mockup

1. Make your Phase 1 App

Create an app that illustrates some of the goals for your FTW app

2. Make your Phase 2 App

Create a data model for your app

Module: State Management

1. Implement a simple controller

Read about controllers, and then assess your understanding by creating a simple app

2. Implement a simple use of Riverpod

Update your simple controller to use Riverpod

3. Make your Phase 3 App

Update your mockup to use Riverpod for application state

Module: Architecture

1. Make your Phase 4 app

Refactor your app to use the Riverpod project structure

Module: Data Management

1. Experience the Firebase Codelab

Learn how to use Firebase with Flutter.

2. Experience the Flutter Firebase Starter Architecture

Install and run the Flutter Firebase starter template

3. Experience Freezed

Modify the starter template to use Freezed

4. Make your Phase 5 App

Create a Firebase backend for your app

Module: Deployment

Deploy your app

Deploy your app for initial evaluation by test users

Module: Usability Evaluation

Evaluate your app

Conduct a usability test of your app

Present your app and usability test results

Present the results of your usability test

Module: FTW (Fix The World)

Group Formation

Decide on your group for the final project

Final Project Submission

Submit your final project