Syllabus - Mobile App Development Using Flutter
Syllabus - Mobile App Development Using Flutter
Course Outline
Introduction
The aim of this course is to familiarize students with Flutter, an open-source UI software development kit,
used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia and the web from
a single codebase. This course covers the key concepts of app development using flutter and dart. Major
topics include:
• Introduction to flutter.
• Learning how to use widgets.
• Building apps with state.
• Basic Dart.
• State Management.
• Firebase
At the end students will be involved in projects of a 20-hour duration where they will be implementing
concepts covered in the above topics.
Learning Outcomes
After successful completion of all the learning units and the requirements of the course, participants
should be able to:
• Learn Flutter and Dart from the ground up, step-by-step
• Build engaging native mobile apps for both Android and iOS
• Use features like Google Maps, the device camera, authentication and much more!
• Learn how to upload images and how to send manual and automated push notifications
• Learn all the basics without stopping after them: Dive deeply into Flutter & Dart and become an
advanced developer
The approach of faculty during the session will be as a facilitator of the course. Necessary conceptual
and methodological input will be covered using interactive learning methods, e.g., interactive lectures,
group discussion, and case study. The modality of the course will be online. Students will be enrolled in
the learning management system of Genese Cloud Academy. All the resources, including assignments
and quizzes, will be provided on the same course page. Attendance, session recordings and meeting
links to join regular zoom live sessions will also be available there.
Students are required to actively participate in class. The sessions will be interactive and facilitated by
the instructor to discuss the topic being dealt. There will be assignments that are provided by facilitators
to students for evaluating progress.
Course Requirements
Exam: There will be one exam after the completion of the course. Students should pass the exam by
securing above 60% of the full mark to receive the certificate of successful completion.
Assignments: There will be homework assignments required throughout the course. Assignments will be
posted on the course page on a weekly basis. You are responsible for knowing that the assignment is
due. NO LATE HOMEWORK ASSIGNMENTS WILL BE ACCEPTED.
Attendance/Participation: Your active participation in class is necessary, both for you and for your
classmates. Your participation will be monitored by your attendance, your contributions to class
discussions, and your overall positive demeanor during class.
Session Plan
PLEASE NOTE THAT THIS SESSION PLAN IS TENTATIVE. We will address the topics in the order
described below, but our timing may be off a bit, as we adjust the pace of the class to your needs.
We will not sacrifice thoroughness or clarity simply to remain on this schedule.
Sessions Topics
• Asynchronous programming.
• Using async/await/Future in flutter.
• Handling exceptions in dart with try/catch and throw.
• Using a http package to get data from API endpoints.
• Understanding how to parse JSON