FIT5046 个人见解
本页目录· 17 条
- ⚠️ 免责声明
- 课程概览
- 课程内容
- 1. 移动与分布式系统基础
- 2. Kotlin 与 Jetpack Compose
- 3. Android 应用开发组件
- 4. Context-aware / Location-aware / Mobile Sensing
- 上课形式
- 评分构成
- 关于 Assessment A1 - Research Paper Presentation - 15%
- 关于 Assessment A2 - Android Project Proposal - 20%
- 关于 Assessment A3 - Quiz - 25%
- 关于 Assessment A4 - Android App Development and Demo - 40%
- 个人主观评分 ⭐️ ⭐️ ⭐️
- 本人分数
- 优点
- 缺点
⚠️ 免责声明
以下内容纯属个人经验分享,本人与任何个人或者机构无利益相关
对于课程的感受因人而异,学习课程的目各不相同
且每个学期课程都有可能进行不同程度的课改,所以内容仅供参考
以下内容为26S1版本的个人感受
课程概览
🧱 这门课的先修课程要求为
✅ FIT5136 Software engineering
在S1和S2均提供,为MIT必修课
📘 课程主要内容涉及
Android Studio + Kotlin + Jetpack Compose + Mobile / Distributed Computing
- 前半学期学 移动与分布式系统概念 + Kotlin + Jetpack Compose;
- 中后期学 Android Navigation、Room、Retrofit、Google Maps / Graph、Firebase / Firestore、Context-aware computing;
- 最后用这些东西做一个 Android App 小组项目,并在 Lab 里现场 Demo
课程内容
1. 移动与分布式系统基础
前几周会讲移动与分布式系统的基本概念,包括:
- Distributed System 是什么
- Mobile and Distributed System 为什么比普通系统更复杂
- Client-Server、3-Tier / N-Tier、P2P、Mobile Edge Computing 等架构模型
- Android App 在分布式系统中通常扮演 Mobile Client 的角色
- 网络不稳定、资源有限、位置变化、断网重连等移动端问题
- Web services、IoT、context-aware computing、location-awareness 等概念
这部分主要会出现在 A1 Research Paper Presentation 和 A3 Quiz 里。
2. Kotlin 与 Jetpack Compose
这部分是 Android 开发的基础,主要包括:
- Kotlin 基础语法:变量、函数、类、属性、
var/val、lateinit、null safety、lambda、it - Jetpack Compose 基础:Composable function、Button、Text、Row、Column、Scaffold、Modifier
- Compose 三个阶段:Composition、Layout、Drawing
- Compose 状态管理:MutableState、
remember、rememberSaveable、recomposition - ViewModel 与状态保存
- Android Studio、Gradle、模拟器和项目结构
3. Android 应用开发组件
中后期会开始接近 A2 / A4 项目需要的功能:
- Android Jetpack Navigation
- NavController、NavHost、NavGraph
- Bottom Navigation Bar / Navigation Rail
- Room Persistence Library
- Entity、DAO、Database
- Repository、ViewModel、Coroutine、Flow
- Retrofit 与公共 API 调用
- Firebase Authentication / Firestore
- Google Maps 或 Graph
- 登录、注册、表单、数据展示、数据保存、页面导航
4. Context-aware / Location-aware / Mobile Sensing
这门课后半部分还会讲一些移动计算理论和前沿主题,包括:
- Ubiquitous Computing
- Context-aware Computing
- Context 和 Situation 的区别
- Edge-Cloud Continuum
- Wireless Sensor Networks
- Mobile Sensing / Social Sensing / Mobile Crowdsensing
- GPS、室内定位、Android + Google Maps
- 数据隐私、伦理、Codes of Conduct / Codes of Ethics
这部分看起来比较理论,但 A2 / A4 里会要求设计并实现 Context-aware computing,所以不能完全跳过。尤其是 A4,不是简单写一句“根据用户位置推荐内容”就够了,而是要有真实 CSV 数据、模拟传感器数据流、非传感器数据聚合,以及基于这些数据触发的情境感知动作。
课程平台:使用Moodle,所有课程资料都在Moodle里
上课形式
| 上课形式 | 每周时长 | 周数 |
| Seminar(Online) | 2h | 12 |
| Laboratories | 2h | 12 |
评分构成
| Assessment | 占比 | 介绍 |
| A1: Research Paper Presentation | 15% | 2 人小组作业 阅读并分析一篇 Mobile Computing 相关学术论文,在 Week 5 Lab 做 8 分钟展示,每位成员约 4 分钟 小组部分占 60%,个人 presentation 占 40% |
| A2: Android Project Proposal | 20% | 4 人小组作业 为 A4 要实现的 Android App 写设计提案,并用 Android Studio + Jetpack Compose 做 UI skeleton prototype。需要提交 proposal report、原型截图、功能设计、context-aware 设计、设计规范和参考文献 |
| A3: Quiz | 25% | Week 9 Lab 的纸笔 Quiz,覆盖 Week 1-8 内容。 共 16 道选择题,每题 6.25 分,每题可能有 1 个或 2 个正确答案。 |
| A4: Android App Development and Demo | 40% | 4 人小组作业,组员与 A2 相同 基于 A2 提案开发一个 Kotlin + Jetpack Compose Android App,第 11 周提交 zip,第 12 周 Lab 现场 Demo 小组成绩占 60%,个人贡献、展示和现场演示占 40% |
关于 Assessment A1 - Research Paper Presentation - 15%
A1 是一个 2 人小组的Pre。两人一起选择并分析一篇 Mobile Computing 领域的论文,然后在 Week 5 Lab 做一个 8 分钟 presentation,每位成员大约讲 4 分钟。
A1 大致要求包括:
- 介绍研究领域、问题背景和挑战
- 解释论文提出的方法 / 解决方案
- 总结论文的 evaluation 方法和结果
- 分析论文贡献、局限性和未来研究方向
- 额外找 4 篇相关、较新、高质量的论文作为背景支持
- 使用 APA 格式做文内引用和参考文献
- 做一个视觉上清晰、内容不过度拥挤的 PPT
- 进行现场演讲,没有提问
关于 Assessment A2 - Android Project Proposal - 20%
A2 是一个 4 人小组作业,本质上是为 A4 的 Android App 写设计提案,并做一个 UI skeleton prototype。
这项作业要求小组使用 Android Studio + Jetpack Compose 设计一个移动分布式应用。这个应用需要和公共 Web API 以及云服务交互,比如天气 API、食品数据 API、Firebase / Firestore 等。A2 里做出来的内容不是最终 App,但它会成为 A4 的基础。
提交内容大致包括:
- 项目设计提案报告,字数上限约 1200 words
- App domain 和对应的 SDG 目标
- 应用影响与价值
- 目标用户群体
- Context-aware computing 设计
- Android 组件、应用功能、界面与用户界面说明
- 使用 Jetpack Compose 做出的 UI skeleton prototype
- 页面流程图、箭头、界面截图
- 两条 password design guideline
- 三条 form design guideline
- 两个 advanced features 设计
- 至少 6 个高质量在线来源,使用 APA 格式引用
- AI 使用声明
关于 Assessment A3 - Quiz - 25%
A3 是 Week 9 Lab 的纸笔 Quiz,覆盖 Week 1 到 Week 8 的所有内容。
考试形式大致如下:
- 在自己的 Lab 时间段里进行
- 纸笔考试
- 共 16 道选择题
- 每题 6.25 分
- 每题有 5 个选项
- 每题可能有 1 个或 2 个正确答案
- 如果题目有 2 个正确答案,但只选对其中 1 个,可以拿半分
- 如果题目本来只有 1 个正确答案,但你选了 2 个,也可能拿半分
- 如果多选第三个答案,会扣 3.125 分
- Tutor 巡场,交卷时查 M-Pass
26S1 统计数据
- 总学生人数:337
- 平均分:60.14
- 中位数:59.38
- 最高分:100
总体成绩分布:
- HD(80–100):9.8%
- D(70–79):14.2%
- C(60–69):19.9%
- P(50–59):36.2%
- N(低于 50):19.9%
关于 Assessment A4 - Android App Development and Demo - 40%
A4 是整门课最重要的作业,占 40%。
是 A2 的延续:需要基于 A2 提出的组件、功能和主要界面,开发一个完整可运行的 Android App。
基本要求包括:
- 4 人小组作业
- 小组成员必须和 A2 相同
- 第 11 周通过 Moodle 提交 zip 文件
- 第 12 周 Lab 进行现场展示和 Demo
- 每组展示约 16 分钟,每位成员约 4 分钟
- 必须使用 Kotlin + Jetpack Compose
- 必须使用 模拟器,不能用真实设备演示
- A4 不限制使用 GenAI,但必须完整声明
| 部分 | 占比 | 主要看什么 |
|---|---|---|
| 小组部分 | 60% | App 功能完整度、实现质量、复杂度、创造力、UI/UX、一致性、技术组件、Context-aware computing、advanced features |
| 个人部分 | 40% | 个人贡献、Git 提交历史、任务分配表、presentation skills、现场功能演示 |
A4 小组部分会重点看这些内容:
- Login Screen 和 Sign-Up Screen
- Home Screen 和 Bottom Navigation Bar / Navigation Rail
- Form Screen,比如 Profile 或任何收集用户数据的页面
- 下拉列表、DatePicker、Save / Cancel、错误处理和验证
- Retrofit 和公共 API
- Map 或 Graph,不能只是简单摆个位置,最好有额外功能或动态数据
- Coding standards 和 Android best practices
- Android 六个必需组件 + 四个额外组件
- 六个功能 + 两个额外功能
- Google Authentication 和 Firebase / Firestore
- Context-aware computing
- 两个 Advanced Features
- App creativity、impact、effort、complexity
- App design、aesthetic appeal、coherence、attention to detail、easy navigation
个人主观评分 ⭐️ ⭐️ ⭐️
这门课本身其实挺有实际用途,至少比一些纯报告课更像“能学到技能”的课。学完之后你会知道 Android App 大概怎么搭、Kotlin 和 Compose 怎么写、Room 怎么存本地数据、Retrofit 怎么调 API、Firebase / Firestore 怎么接、Google Maps / Graph 怎么放进应用里,也会接触 context-aware computing、mobile sensing、location-aware computing 这些移动计算概念
本人分数
| Assessment | 分数 | 介绍 |
| A1 | 11.78 / 15.00 | 2 人小组完成 Mobile Computing 相关论文分析,并在 Week 5 Lab 进行 8 分钟现场展示 |
| A2 | 15.40 / 20.00 | 4 人小组为 A4 设计 Android App,完成 Proposal Report、Context-aware Computing 设计和 Jetpack Compose UI Skeleton |
| A3 | 18.75 / 25.00 | Week 9 Lab 纸笔 Quiz,覆盖 Week 1–8,共 16 道选择题,每题可能有 1–2 个正确答案 |
| A4 | 30.60 / 40.00 | 4 人小组使用 Kotlin、Jetpack Compose、Room、Retrofit 和 Firebase 等技术开发完整 Android App,并在 Week 12 进行现场 Demo |
| 合计 | 76.53 |
优点
- 内容对于移动开发比较实用
- 能接触移动端完整开发流程
- 没有Hurdle
- 12周准时结束,后续无任何内容,不需要等到15周,16周才结束,可以早点放假回家
缺点
- Quiz 难度偏高
- 小组作业,组队质量会很大程度决定课程体验
- 分数很看Pre,需要练习口语
- Assignment给分相对严格
- 不建议非IT专业选这门课