Mobile App Development with Flutter
This course is project-driven and focuses on real-life examples. Through the projects, students will learn how and when to use a certain feature.
16 June 2023
This course introduces students to Flutter and Dart from scratch. The course starts with the important basics and then goes through the core features up to the more advanced topics, such as designing mobile apps that control remote appliances and hardware. This course is project-driven and focuses on real-life examples. Through the projects, students will learn how and when to use a certain feature.
The course also introduces students to the fundamentals of computational problem-solving. Students will learn a systematic approach to problem-solving and app development, including how to decompose a problem into smaller components, how to implement their ideas using contemporary programming tools, how to debug their code, and how to assess the quality and performance of their prototypes.
At the end of this course, students will be able to understand the unique aspects of mobile application development and independently develop mobile applications for android and iOS that take advantage of advanced phone features and can be deployed in the marketplace. The mobile application may make use of the database, analytics tracking, user authentication, app notifications, and design principles, among other features.
What is Flutter?
Flutter is an open-source User Interface (UI) framework by Google that allows developers to easily get started creating native multi-platform applications from one codebase. Flutter uses the Dart programming language, which is easy to learn and allows developers to develop high-quality apps that can be deployed for Android, iOS, macOS, Windows, and the web from a single codebase.
Flutter became the most popular cross-platform mobile Software Development Kit (SDK) as it offers developers a wide range of features that accelerates the development process and lead to great user-friendly applications.
Dart programming language used in Flutter is easy to learn and provides a lot of capabilities to develop high-quality apps.
Flutter uses ready-made widgets. Widgets can be combined to create layouts, and can be customized to create beautiful apps.
Flutter allows developers to quickly see changes they make in the code without restarting it using the “hot reload” feature.
Flutter’s UI elements are built following Google’s Material Design guidelines, which gives the developer an expressive and flexible way to create great apps.
Flutter apps are compiled in native code, giving the apps the best performance capabilities for any platform.
Flutter is open-source, allowing developers to use for free and contribute to its development.
Flutter has great documentation and learning resources.
Intended Learning Outcomes
On successful completion of this course, students should be able to:
Knowledge and Understanding
Recognize mobile systems and technologies being used in various domains.
Describe the techniques for deploying and testing mobile applications.
Identify the capabilities and limitations of mobile platforms that affect application development and deployment.
Subject-Specific Cognitive and Practical Skills
Designing and developing mobile applications for an identified problem using a chosen application development framework
Work with software and hardware tools to develop, test, and debug mobile applications
Apply a variety of algorithms and data structures to implement solutions to a variety of computing problems of varying degrees of difficulty and complexity
Evaluate the performance of mobile applications based on pre-set criteria
Key Transferrable Skills
Collaborate as a team to analyze and propose an innovative mobile solution.
Present and demonstrate the design choices and usability of an application to peers and prospective users in an effective manner.
Critically evaluate existing mobile solutions for real-world problems.