The goal of this course is to give you a working knowledge of the advanced challenges of mobile programming, as well as the technologies that attempt to address these challenges. After successfully finishing this course, the students expected to be able to build and maintain various cross-platform mobile applications using Flutter framework and Dart programming language.
→ Napoli M. L. Beginning Flutter: A Hands On Guide To App Development. John Wiley & Sons. 2019.
→ Payne R. Beginning App Development with Flutter: Create Cross-Platform Mobile Apps. Apress. 2019.
→ Zammetti F. Practical Flutter. Springer. 2019.
Other Sources
→ https://flutter.dev/ (online)
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction to Flutter and Widgets
Oral presentation and LAB
2. Week
Basics of Dart Programming Language
Oral presentation and LAB
3. Week
Value (Input) Widgets and Forms
Oral presentation, Case Study and LAB
4. Week
Styling widgets
Oral presentation, Case Study and LAB
5. Week
Layout Widgets
Oral presentation, Case Study and LAB
6. Week
Scrolling List Widgets
Oral presentation, Case Study and LAB
7. Week
Animation Widgets ad Effects
Oral presentation, Case Study and LAB
8. Week
Midterm Exam
9. Week
Navigation Widgets and Dialogs
Oral presentation, Case Study and LAB
10. Week
Responding to Gestures (Interactivity)
Oral presentation, Case Study and LAB
11. Week
Using Firebase with Flutter
Oral presentation, Case Study and LAB
12. Week
Writing Platform-Native Code and Networking
Oral presentation, Case Study and LAB
13. Week
Advanced Techniques
Oral presentation, Case Study and LAB
14. Week
Project Presentations
15. Week
Final Exam
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
25
Homework / Term Projects / Presentations
1
20
Project(s)
1
20
Attendance
1
10
Final Exam
1
25
Program Outcomes
PO-1
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4
Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5
Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7
Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9
Awareness of professional and ethical responsibility.
PO-10
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11
Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1
Identify requirements and implement mobile solutions
LO-2
Create effective user interfaces that leverage evolving mobile device capabilities
LO-3
Design and develop websites that deploy to different devices and platforms
LO-4
Design and develop device-specific, native applications
LO-5
Research and apply various software development kits (SDKs), frameworks and toolkits
LO-6
Collaborate in a team-based mobile development project
LO-7
Publish and market mobile applications to an online store