Mobile Application
Development - Flutter
Masterclass Course Syllabus
Course Overview:
This course is designed for beginners and intermediate learners who want to master Flutter, a
UI toolkit for crafting beautiful, natively compiled mobile, web, and desktop applications from a
single codebase. The course begins with the basics of Dart programming, and then dives deep
into Flutter development, including building, debugging, and deploying applications.
Course Duration: 2.5 month
1.5 Hours Each Day (Sunday to Thursday)
Timing: 7PM to 8:30PM (NST)
Module 1: Introduction to Dart Programming
Week 1: Dart Basics
● Topics:
○ Setting up the Dart environment
○ Dart syntax and structure
○ Variables and data types
○ Conditional statements and loops
● Assignments:
○ Write a Dart program to check if a number is even or odd.
○ Create a Dart program using a for loop to print the Fibonacci series.
Week 2: Advanced Dart
● Topics:
○ Functions and scope
○ Object-Oriented Programming (OOP) in Dart
■ Classes and objects
■ Inheritance and polymorphism
■ Abstract classes and interfaces
○ Collections: Lists, Sets, and Maps
● Assignments:
○ Create a Dart program to manage a contact list using a Map.
○ Develop a Dart class hierarchy to represent different types of vehicles.
Module 2: Introduction to Flutter
Week 3: Setting up Flutter and Git basic
● Topics:
○ Installing Flutter and setting up the development environment
○ Understanding the Flutter framework
○ Flutter app architecture and the "Hello World" app
○ Creating a repository on GitHub
○ Pushing local changes into the repository
○ Pulling and cloning projects from the repository
○ Resolving merge conflicts
● Assignments:
○ Install Flutter, create your first Flutter app and push to git.
Week 4: Flutter Basics
● Topics:
○ Widgets: Stateless vs. Stateful
○ Layouts: Rows, Columns, and Containers
○ Styling: Text, colors, and themes
○ Animations
○ Offline Database
● Assignments:
○ Build a simple Flutter app with basic UI elements.
○ Create a layout using Rows and Columns.
○ Make a complete flutter app with an offline database
Module 3: Intermediate Flutter Development
Week 5: User Interaction
● Topics:
○ Forms and validation
○ Buttons and gesture detection
○ Handling user input
○ Animations
○ Working with Camera
○ Picking Files and images from Devices
○ Working with Connectivity
○ Working with Google Maps
○ Working with PDF
● Assignments:
○ Create a login form with validation, and use file picking and Google Maps.
○ Build a File picker app and show the Google Map app.
Week 6: Navigation and Routing
● Topics:
○ Navigators and routes
○ Passing data between screens
○ Managing navigation stack
● Assignments:
○ Build a multi-screen app with navigation.
Module 4: Advanced Flutter Development
Week 7: State Management
● Topics:
○ Understanding the state in Flutter
○ Using Provider for State Management
○ Alternatives: Provider, Bloc, Stacked
○ Unit Test, Widget Test
● Assignments:
○ Implement state management in a Note app.
Week 8: Networking and APIs
● Topics:
○ Fetching data from REST APIs
○ Firebase Auth, Firebase Crashlytics, Firebase database
○ Parsing JSON data
○ Error handling
● Assignments:
○ Build an app to display data from a public API.
○ Create an app with a search feature using an API.
Module 5: Flutter Projects and Deployment
Week 9 and 10: Project Development
● Topics:
○ Planning a Flutter project
○ Building a complete app (e.g., weather app, task manager, etc.)
○ Publishing the app to the App Store
○ Publishing the app to the Google Play Store
● Assignments and feedback:
○ Develop and present a final project.
○ Building a complete e-commerce application.
○ Developing a social media app with user authentication.
○ Creating a productivity app with data persistence.
○ Implementing a chat application with real-time communication.
Payment Details
Office Location
https://maps.app.goo.gl/dAz125J6jsGYhMiS7
Surya Gyawali Marg, old Baneshwor,
Kathmandu
Our Contact Details
Mobile Number: +977 9857084388
📍
Email Address: info@cresttechhub.com
Location: https://maps.app.goo.gl/jzyaehRPpE7soRdu8
Follow us on : Facebook | Instagram | LinkedIn