Desarrollo de Aplicaciones Multiplataforma (DAM)
Practical Multimedia Programming and Mobile Devices
Activity (PA) U2.PA3. Object-oriented programming in Dart
Objectives of the activity
The objectives of the activity are:
• Practise with object-oriented programming in Dart
• Know particular details about the Dart programming language on the use of
classes, objects, constructors, properties, methods, getters, and setters
Timing
Work equivalent to 3 sessions of 55 minutes
Description of the activity
In order to complete this activity, develop and deliver 3 out of 5 of the following
programs in Dart (the 3 ones you choose), by carefully following the instructions
and details given.
Please document/comment on your code as if you were working for a development
company, in such a way that your workmates were able to understand your code
easily.
1. Library Management System
Objective: Create a system to manage books in a library
Tasks:
• Create a Book class with properties like title, author, and ISBN.
• Create a Library class that holds a list of Book objects and has methods to
addBook(), removeBook(), and findBook().
• Allow users to interact with the Library to perform these actions.
1
Desarrollo de Aplicaciones Multiplataforma (DAM)
2. Shopping Cart
Objective: Create a shopping cart system
Tasks:
• Create a Product class with properties like name, price, and quantity.
• Create a ShoppingCart class that holds a list of Product objects and has
methods to addProduct(), removeProduct(), and calculateTotal().
• Allow users to interact with the cart, adding products, removing them, and
viewing the total price.
3. Event Management
Objective: Build a system to manage events and attendees
Tasks:
• Create an Event class with details like eventName, location, and date.
• Create an Attendee class with information like name, email, and phone.
• Create an EventManager class that holds a list of Event objects and has
methods to addEvent(), removeEvent(), and findEvent().
• Allow users to add attendees to specific events and view all attendees for an
event.
2
Desarrollo de Aplicaciones Multiplataforma (DAM)
4. Bank Account Manager
Objective: Create a system to manage bank accounts and transactions
Tasks:
• Create an Account class with properties like accountNumber, ownerName,
and balance.
• Create a Bank class that holds a list of Account objects and has methods to
createAccount(), closeAccount(), and findAccount().
• Allow users to make deposits, withdrawals, and transfers between accounts.
5. ToDo List Application
Objective: Develop a simple ToDo list application to manage tasks
Tasks:
• Create a Task class with properties like title, description, and status.
• Create a ToDoList class that holds a list of Task objects and has methods
to addTask(), removeTask(), and markTaskAsDone().
• Allow users to view all tasks, view only completed tasks, and view only
pending tasks
You will hand in one compressed file (.zip/.7z/.tar.gz/.tgz/.bz2/.rar…) containing
your source code files.
Evaluation of the activity
This is a PA (Practical Activity) and, thus, it is not evaluated/graded.
3
Desarrollo de Aplicaciones Multiplataforma (DAM)
Additional resources
The activity has additional information on the lesson slides and other links and
resources available at the online campus or right next. You can also ask for an
individual tutoring session should you have any trouble.
https://dart.dev/language/classes
https://dart.dev/language/class-modifiers