Gemini说
这节将近一个半小时的课确实挺能说的。总的来看,这是一节典型的“开学第一课”,前半部分主要交代了这学期的游戏规则、作业安排和避坑指南,后半部分则是过了一遍移动与分布式计算的基础概念(比如 C/S 架构、原生应用 vs Web 应用的区别等)。
⚠️ 最关键的规则与雷区
- 技术栈“一刀切”:不管你以前多习惯用 Java 和 XML 写安卓,这门课强制要求只能使用 Kotlin、Jetpack 和 Jetpack Compose 进行开发 。老师明确表示,传统的面向对象和命令式编程(Java/XML)经验在这里的转化率不高,因为这门课走的是现代的声明式 UI 路线 。
- 开发工具唯一指定:无论你平时多喜欢用 VS Code 或 Cursor,这门课只能用 Android Studio 。老师提到这软件比较吃内存(建议至少 16GB RAM)
- 对 AI 的零容忍红线:允许使用 AI(比如查语法、Debug、找灵感) 。但是,无脑复制粘贴且不声明的,一旦查出直接 0 分,并上报学术诚信部门 。你需要保留好 Git 的 commit 历史来证明你的学习过程 。
- 出勤算分:从 Week 2 开始,所有 Lab 强制考勤 。
📅 作业与考试时间线 (Assesments)
课程节奏很紧凑,基本上从第五周开始每两周就要交个东西 。
- Assessment 1 (Research Presentation)
- 形式:组队完成的研究报告展示。你得尽早在 Lab 里找好队友,因为不出意外的话,A1 的队友也就是你后续敲代码大作业的队友 。
- 时间节点:Week 5 的周一交 PPT 和演讲稿 。并在放假前的 Lab 上进行展示 。
- Assessment 2 (Design Proposal + 骨架代码)
- 核心:这不是一份纯纯的业务分析报告,你还需要把 UI 页面的骨架代码写好,并且必须推送到学校统一分配的 Monash GitLab 上 。
- 重点考查:你必须在报告里强有力地证明为什么你的项目非要做成原生 App (Native App),而不是搞个简单的 Web App 。
- Assessment 3 (期中 Quiz - Week 9)
- 形式:闭卷!纸笔考试!不允许带电子设备! 。
- 内容:1 小时做 16 道单选题,考点全部来源于 Week 1 到 Week 8 的课件 。
- Assessment 4 (Final Build Application)
- 核心:基于 A2 的大作业终极版。必须用到的技术点包括:Room 数据库、Retrofit(网络请求)、Google Maps API 以及 Firebase(特别是身份验证) 。不需要部署到真机,能在模拟器里跑通就行 。
💻 后半节课的技术重点(供复习/预习)
- Android 创建设置:期末大作业或者平时的 Lab 建项目时,选
Empty Activity,不要乱选别的模板 。 - 权限管理:记得在
Manifest文件里开通网络或地图权限,否则 Retrofit 和 Firebase 会直接被拦截 。 - 语言与 UI 框架:必须使用 Kotlin 和 Jetpack Compose 来构建 UI 。设计规范要求对齐 Google 最新的 Material Design 3 (M3 / Material You) 。这门课走的是现代的单 Activity 架构模式 。
- 版本控制配置:新建项目时,
minSdk必须固定为 24 ,而targetSdk和compileSdk需要设为 36 。 - 现代化的依赖管理:课程要求使用 Version Catalogs (
libs.versions.toml) 来统一管理插件和外部依赖 。不要像老项目那样直接把版本号硬编码在build.gradle.kts里。