Course

Course Summary
Credit Type:
Course
ACE ID:
SKIL-0266
Organization:
Location:
Online
Length:
Self-Paced (26 hours)
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 Mobile Application Development using Dart and Flutter
Description

Objective:

This course is focused on mobile app development with Flutter and is divided into two tracks. The first track covers the fundamentals of Dart programming and the Flutter framework. It starts with an introduction to Flutter and Dart programming language and covers using variables, collections, functions, classes, and objects. The track then delves into exploring different layouts, including implementing basic Flutter layouts, stateful widgets, stacks, lists, and grids, and building an application using layouts and navigation.
The second track focuses on building mobile apps with Flutter, including creating forms, detecting, and handling gestures, implementing and configuring animations, integrating Flutter with backends using HTTP requests, persisting data on the local device, and integrating with Google Firebase. Additionally, it covers testing and debugging techniques for Flutter apps. Throughout the journey, there are hands-on activities and practice labs.

Learning Outcomes:

  • utilize Dart to define and initialize variables, work with collection constructs such as list, set, and map, and work with first-class functions, and recognize how Dart null safety works
  • identify the various constructors in Dart, implement getters, setters, and operator overloading, install and use third-party libraries, and implement asynchronous code
  • set up your local environment so that you can develop and run a sample Flutter application on Chrome, Android emulator, and iOS simulator
  • work with Flutter widgets using the element and render tries, build simple layouts in Flutter, and use the Scaffold widget in Material Design layouts
  • implement mutable state in widgets, build widgets with state changes based on events, and use the Row and Column layout widgets and the Flexible and Expanded widgets
  • create, configure, and use the Stack widget and to configure and use the ListView and GridView widgets
  • wire up application pages using navigation and routing, use named routes and the route generator, and build a functional app using Material Design and Cupertino widgets and deploy the app on a real device for testing
  • build and use the right input widget for your use case, handle input changes, and use widgets in forms and create custom form field widgets
  • recognize how to detect gestures and configuring callbacks with the GestureDetector, handle gesture lifecycle events and disambiguate gestures using the raw gesture detector
  • create animations in Flutter using animated widgets and the animation controller
  • access data from HTTP endpoints, serialize and deserialize JSON data, and make GET, PUT, POST, and DELETE requests to the server
  • compare and contrast different methods of local persistence, use the file system and SharedPreferences to store data, and persist data locally using SQLite
  • choose ephemeral state vs. app state, integrate with the Firebase backend, and store data in Cloud Firestore
  • recognize how Flutter enables development of cross-platform applications, identify Dart features and functionality, and use Dart in your local environment to run simple programs

General Topics:

  • Flutter Development
  • Layouts in Flutter
  • Forms and Animations with Flutter
  • Flutter and Backends
  • Testing & Debugging Flutter Applications
Instruction & Assessment

Instructional Strategies:

  • Computer Based Training
  • Laboratory
  • Practical Exercises

Methods of Assessment:

  • Examinations

Minimum Passing Score:

70%
Supplemental Materials