Assignment 7: Basic Elements of Flutter
Platform-Based Programming (CSGE602022) — Organized by the Faculty of Computer Science Universitas Indonesia, Odd Semester 2025/2026
Assignment Overview
In this assignment, you will implement the application you've created previously using Flutter based on some of the things you have learned during the tutorial.
The checklist for this assignment is as follows:
-
Create a new Flutter application with the same "Football shop" theme as your previous assignments.
-
Create three simple buttons with icons and text for:
- All Product
- My Products
- Create Product
-
Implement different colors for each button:
- Blue for the
All Productsbutton - Green for the
My Productsbutton - Red for the
Create Productbutton
- Blue for the
-
Show a
Snackbarwith the text:- "You have pressed the All Products button" when the
All Productsbutton is pressed. - "You have pressed the My Products button" when the
My Productsbutton is pressed. - "You have pressed the Create Product button" when the
Create Productbutton is pressed.
- "You have pressed the All Products button" when the
-
Answer the following questions in the README.md file in your root folder:
- Explain what a widget tree is in Flutter and how parent-child relationships work between widgets.
- List all the widgets you used in this project and explain their functions.
- What is the function of the
MaterialAppwidget? Explain why this widget is often used as the root widget. - Explain the difference between
StatelessWidgetandStatefulWidget. When would you choose one over the other? - What is
BuildContextand why is it important in Flutter? How is it used in thebuildmethod? - Explain the concept of a “hot reload” in Flutter and how it differs from a “hot restart”.
-
Run
add-commit-pushto a new repository on GitHub.
Submission Deadline
The deadline for Assignment 7 is Wednesday, November 5th 2025, 12:00 PM.
Please submit the repository link to the provided submission slot on SCELE.