Mobile Application Development (Levels 1 and 2)

Overview
Mobile Application Development (Levels 1 and 2) is a 40 to 45 hour, hands on introduction to building mobile apps with Dart and Flutter. You start with the fundamentals of the Dart programming language and the Flutter development environment, then build up your skills step by step through Flutter’s UI components, navigation, forms, and state management.
By the end of the program you will be working with real data. Level 2 focuses on connecting your app to REST APIs, handling JSON responses, and managing loading and error states, so you finish with a fully functional application, such as a weather or movie browsing app, that communicates with live data in real time.
What You Will Learn
- Core Dart programming concepts, including variables, data types, control flow, functions, and basic object oriented programming
- How to set up and use the Flutter development environment in Android Studio or VS Code
- Building user interfaces with Flutter’s core widgets, and the difference between Stateless and Stateful widgets
- Multi screen navigation and passing data between screens
- State management fundamentals, including setState, lifting state up, and an introduction to Provider
- Building forms, dynamic lists, grid layouts, and custom widgets with validation
- Connecting a Flutter app to REST APIs, parsing JSON data, and handling loading and error states
- Using async and await to manage asynchronous operations
Course Curriculum
| Module | What you cover |
|---|---|
| Introduction to Dart | Dart SDK and tools, variables, data types, operators, control flow, functions, lists, maps, sets, classes, basic object oriented programming, and null safety |
| Introduction to Flutter | Flutter architecture, environment setup, creating your first project, and understanding the widget tree |
| Core Widgets and Layouts | MaterialApp and Scaffold, Text, Container, Row, Column, images and icons, buttons, text fields, Expanded, Flexible, Stack, and ListView basics |
| Navigation and Beginner Project | Named and unnamed routes, passing data between screens, and building a personal profile app with two to three screens |
| State Management Essentials | setState, lifting state up, an introduction to Provider, and ChangeNotifier |
| Intermediate Widgets | Forms and validation, ListView.builder, GridView, custom widgets, themes, dark mode, and implicit animations |
| Networking and APIs | REST APIs, JSON, the http package, GET, POST, PUT and DELETE requests, async and await, error handling, and parsing JSON into model classes |
| Intermediate Project | Building a weather app or movie browser with live REST API integration |
Who This Course Is For
This course is designed as a first step into mobile app development. No prior programming or app development experience is required, and the pace moves from foundational concepts in Level 1 to more applied, API driven development in Level 2.
Target audiences
- Beginners who want to learn mobile app development from scratch
- Students and professionals looking to build cross platform apps with Flutter
- Anyone who wants a portfolio ready app that connects to real APIs
Requirements
- No prior programming or mobile development experience required