Repository contains information about Programming mobile applications in Flutter course.
Jakub Fijałkowski – [email protected]
Mateusz Wojtczak – [email protected]
Piotr Rogulski – [email protected]
Wiktor Zając - [email protected]
Students need to gather at least 51pt to pass the course:
- 51-60pt - 3
 - 61-70pt - 3.5
 - 71-80pt - 4
 - 81-90pt - 4.5
 - 91-100pt - 5
 
Points can be gained from:
- Project - 100pt
 - Activity during lectures - 10pt
 - Labs (non-obligatory) - 8 * 3 = 24 pt
 
- Flutter 3.35.5
 - Dart 3.9.2
 
- 07.10.2025 - Intro lecture
 - 14.10.2025 - What is Flutter?
 - 21.10.2025 - Let's go deeper into Flutter
 - 28.10.2025 - State Management
 - 04.11.2025 - Asynchrony and HTTP
 - 18.11.2025 - State Management with External Libraries
 - 25.11.2025 - Firebase
 - 02.12.2025 - Animations
 - 09.12.2025 - Architecture
 - 16.12.2025 - Testing
 - 23.12.2025 - Forms
 - 09.01.2026 - Data Persistence
 - 13.01.2026 - Flutter Web and Flutter Desktop
 - 20.01.2026 - Communication with Native
 - 27.01.2026 - TBA
 
Each lab is an exercise about the preceding lecture consisting of multiple parts. Completing all parts is optional (as your homework) and is worth additional 3 pts each.
- 10.10.2025 - Getting started
 - 17.10.2025 - Layouts 1
 - 24.10.2025 - Layouts 2 & using context
 - 31.10.2025 - Context and StatefulWidget
 - 07.11.2025 - Communication with API
 - 14.11.2025 - State management with external services
 - 21.11.2025 - Firebase Auth in action
 - 28.11.2025 - Animations
 - 05.12.2025 - Mandatory project checkpoint
 
Week 10-15 lab slots can be used for project consulting - only by prior arrangement.
- Individual multi-layer Flutter application that works at least on one mobile platform (Android/iOS)
 - Application's topic and scope is defined by the student, should be described in the initial documentation and approved by the lecturer
 - Project's source code and final documentation is submitted according to the Timeline
 
- Implementation of the required project assumptions (50pt)
- Initial documentation - 5pt
 - Architecture - 15pt
 - Code quality (e.g. static code analysis, formatting) - 15pt
 - UI/UX
- Material Design - 5pt
 - Custom design widgets - 5pt
 
 - Final documentation - 5pt
 
 - Optional requirements (max 50pt)
- Support for each additional platform (Mobile/Web/Desktop) - 5pt each
 - Animations
- Implicit / ready-to-use packages - max 5pt
 - Custom - max 10pt
 
 - Tests
- Unit tests - max 5pt
 - Widget tests - max 5pt
 - Patrol tests - max 10pt
 
 - Signing in process
- Firebase Auth - max 5pt
 - Custom backend auth - max 10pt
 
 - Multi-step form with validation - max 10pt
 - CI/CD - max 15pt
- code analysis & run flutter test - max 10pt
 - deploy app - max 10pt
 
 - Platform Channels
- Using pub package for platform features (e.g. camera) - 5pt
 - Creating custom platform channels - 15pt
 
 - Internationalization - max 10pt
 - Custom painting - max 5pt
 - Local data persistence (offline) - max 15pt
 
 
- 31.10.2025 - Initial documentation
 - 05.12.2025 - Mandatory project checkpoint
 - 27.01.2026 - Project Submission (source code + final documentation)
 - 15.02.2026 - Late Project Submission
 
Initial documentation should contain:
- Project description
 - Desired optional requirements should be listed in the initial documentation
 - User stories (e.g. As a user, I can sign in; As a user, I can view the list of items)
 
Final documentation should contain:
- Project description
 - Integrations
 - List of optional requirements
 - Instruction
 - Test account (if applicable)
 - Database/Firestore schema (if applicable)
 - CI/CD description/screenshot (if applicable)
 
But it shouldn't be longer than 1-2 pages. :)
Students can submit the project until 15.02.2026. Each day of being late will take a decrease of 5pt from the total number of gained points (not less than 51pts). Projects submitted after the final deadline won't be accepted.