Skip to main content

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 Products button
    • Green for the My Products button
    • Red for the Create Product button
  • Show a Snackbar with the text:

    • "You have pressed the All Products button" when the All Products button is pressed.
    • "You have pressed the My Products button" when the My Products button is pressed.
    • "You have pressed the Create Product button" when the Create Product button is pressed.
  • 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 MaterialApp widget? Explain why this widget is often used as the root widget.
    • Explain the difference between StatelessWidget and StatefulWidget. When would you choose one over the other?
    • What is BuildContext and why is it important in Flutter? How is it used in the build method?
    • Explain the concept of a “hot reload” in Flutter and how it differs from a “hot restart”.
  • Run add-commit-push to 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.