FIT5046 Mobile and Distributed Computing Systems
FIT5046 Overview
- Monash Faculty of Information Technology
- Semester 2, 2026
- a postgraduate Level 5 unit
- 6 credit points
- a mobile and distributed systems development unit
FIT5046 covers Kotlin, Jetpack Compose, navigation, Room, Retrofit, mobile UI, ubiquitous and context-aware computing, sensors, IoT, location awareness and ethics. It is taught within Monash Faculty of Information Technology. It is a postgraduate Level 5 unit. It carries 6 credit points.
- State has an owner UI defects multiply when mutable state has no explicit source of truth.
- The network will fail A distributed mobile design must specify loading, timeout, retry, cache and stale-data behaviour.
- Context needs consent Location and sensor value must be balanced against permission, privacy and user control.
- No final exam S2 assessment culminates in an app and individual interview.
How FIT5046 is assessed
| Component | Weight | Format |
|---|---|---|
| Research Paper Presentation | 15% | Due 21 August 2026 at 11:55 pm |
| Android Application Design Proposal and Skeleton | 20% | Due 11 September 2026 at 11:55 pm |
| In-Class Quiz | 25% | Week 9; due 2 October 2026 at 11:55 pm |
| Android App Development and Individual Interviews | 40% | Due 16 October 2026 at 11:55 pm |
S2 has a 15% research-paper presentation due 21 August, a 20% Android design proposal and skeleton due 11 September, a 25% Week 9 in-class quiz due 2 October, and a 40% Android app development task with individual interviews due 16 October. No final examination or component hurdle is published.
Current FIT5046 dates
| Date | Item | Control |
|---|---|---|
| 21 August 2026 at 11:55 pm | Research Paper Presentation | 15% group-of-two presentation. |
| 11 September 2026 at 11:55 pm | Android Design Proposal | 20% proposal and skeleton prototype. |
| 2 October 2026 at 11:55 pm | In-Class Quiz | 25% Week 9 quiz. |
| 16 October 2026 at 11:55 pm | Android App and Interviews | 40% final major task. |
Current-offering dates captured in the course materials. Confirm changes and exact submission settings in the live LMS.
What FIT5046 covers
Start with Mobile and Distributed System Boundaries; use Mobile User-Interface Design and Accessibility as the turning point; finish by bringing the course together in Ethics, Privacy and Mobile-System Accountability.
Mobile and Distributed System Boundaries
mobile computing · distributed system · system boundary · map device, service, data and failure responsibilities before implementation02Kotlin Types, Functions and Null Safety
static type · nullable type · higher-order function · encode data invariants and absence explicitly rather than through unchecked state03Jetpack Compose State and Recomposition
composable · recomposition · state hoisting · design UI as state plus events with predictable recomposition04Ubiquitous and Context-Aware Computing
ubiquitous computing · context · context inference · use contextual signals without treating inference as fact05Navigation and Android Lifecycle
navigation graph · back stack · lifecycle · preserve state and destination semantics across navigation and recreation06Mobile User-Interface Design and Accessibility
mobile affordance · responsive layout · accessibility semantics · design and test touch, layout, feedback and semantics for diverse users and devices07Room Persistence and Offline Data
Room database · entity · transaction · model entities, relationships and operations that survive process and network failure08Retrofit Networking and Repository Design
HTTP API contract · Retrofit · repository · translate network responses into stable app state with cache and retry policy09Wireless Sensors and IoT Data
sensor measurement · Internet of Things · sampling policy · design sensing, communication and interpretation with calibration and energy limits10Location-Aware Computing and Geofencing
location estimate · geofence · permission scope · connect accuracy and permission state to user-visible location behaviour11Ethics, Privacy and Mobile-System Accountability
informed consent · data minimisation · accountability · evaluate data, autonomy, inclusion and remedy across the app lifecycleIt is positioned as a mobile and distributed systems development unit.
Assessment moves from research interpretation to a designed and implemented Android app, ending with individual interviews rather than a final exam.
Assessment in fit5046 is distributed as follows: a 15% research presentation, 20% Android design proposal and skeleton, 25% in-class quiz, and 40% Android app plus individual interviews
The operational assessment conditions matter here.
No final examination appears in the current S2 structure; the final major task is the app and interview assessment.
What makes fit5046 demanding is concrete: maintaining correct state and user experience across Compose recomposition, navigation, persistence, network latency, device lifecycle and permission changes
Treat the fit5046 hurdle status as unconfirmed.
Check the current Monash Handbook and learning site for any component-level pass rule before relying on the overall mark.
For enrolment planning, For specified Software Engineering students, the current Handbook lists FIT2099, FIT3171 and FIT4165.
Start with Mobile and Distributed System Boundaries; use Mobile User-Interface Design and Accessibility as the turning point; finish by bringing the course together in Ethics, Privacy and Mobile-System Accountability.
Design resilient venue loading
- 1Define remote, local and UI state owners.
- 1Represent loading, success, empty, stale and error states.
- 1Persist favourites transactionally in Room.
- 1Handle retry, rotation and process recreation.
- 1Audit permission, accessibility and privacy.
Key terms
- mobile computing
- Computation shaped by portable devices, variable connectivity, constrained resources and changing user context. This chapter uses the concept when students map device, service, data and failure responsibilities before implementation.
- distributed system
- Independent components communicating over a network without shared memory or a single failure-free clock. It helps explain the reasoning required to map device, service, data and failure responsibilities before implementation.
- system boundary
- Explicit division of responsibilities among device, platform, remote service, sensor and user. Its limit matters because a mobile app is not self-contained when identity, data or decisions depend on remote components.
- static type
- Compile-time description constraining values and operations accepted by a program expression. This chapter uses the concept when students encode data invariants and absence explicitly rather than through unchecked state.
- nullable type
- Kotlin type that explicitly permits absence and requires controlled handling before non-null use. It helps explain the reasoning required to encode data invariants and absence explicitly rather than through unchecked state.
- higher-order function
- Function that accepts or returns functions to express reusable behaviour. Its limit matters because non-null assertions and broad mutable types can bypass the language protections the design depends on.
- composable
- Declarative function describing UI from inputs and observable state. This chapter uses the concept when students design UI as state plus events with predictable recomposition.
- recomposition
- Selective re-execution of composables when observed state changes. It helps explain the reasoning required to design UI as state plus events with predictable recomposition.
- state hoisting
- Moving mutable state to a caller so ownership and events become explicit and components remain reusable. Its limit matters because mutable copies and side effects inside composition can create stale, repeated or contradictory behaviour.
- ubiquitous computing
- Computing embedded across everyday environments and interactions rather than concentrated in one visible device. This chapter uses the concept when students use contextual signals without treating inference as fact.
- context
- Information characterising user, device, activity, location, time or environment relevant to system behaviour. It helps explain the reasoning required to use contextual signals without treating inference as fact.
FIT5046 FAQ
Where do students usually lose marks in fit5046?
maintaining correct state and user experience across Compose recomposition, navigation, persistence, network latency, device lifecycle and permission changes
How is fit5046 assessed?
a 15% research presentation, 20% Android design proposal and skeleton, 25% in-class quiz, and 40% Android app plus individual interviews
What is the fit5046 final assessed-task format?
No final examination appears in the current S2 structure; the final major task is the app and interview assessment.
Does fit5046 have a hurdle or component-level pass rule?
Treat the fit5046 hurdle status as unconfirmed. Check the current Monash Handbook and learning site for any component-level pass rule before relying on the overall mark.
Which offering does this fit5046 guide cover?
It is aligned to Semester 2, 2026; confirm your enrolled class and timetable in the current institutional system.
What prerequisites or restrictions apply to fit5046?
For specified Software Engineering students, the current Handbook lists FIT2099, FIT3171 and FIT4165.
How to prepare for the assessments
Retrieve the course map, practise the recurring method—define the mobile user journey, lifecycle and distributed data boundary, implement state through Kotlin, Compose and Jetpack components, then test process death, offline failure, permissions, privacy and device diversity—on changed scenarios, and verify every operational assessment detail in the live institutional system.
Your AI Mobile Computing tutor for FIT5046
Stuck on a hard FIT5046 question? Sia is AskSia’s AI Mobile Computing tutor — ask any FIT5046 Mobile and Distributed Computing Systems question and get a clear, step-by-step explanation grounded in how the course is actually taught and assessed. Read this whole study guide free, then take your hardest questions to Sia.