Files
iOS/iOS部2026十课初步规划.md
2026-09-03 13:19:13 +08:00

16 KiB
Raw Permalink Blame History

iOS 部 2026 十课初步规划

状态:定稿校对稿,待社团审核;保留现有文件名
建立时间:2026-07-22
最新修订:2026-09-03
上位文件:教学方案;本规划负责课程总体安排,逐课细则见下表链接

一、规划范围

iOS 部自主课程共 10 节:1 节试听课+9 节录取后的部门课,面向接近零基础的新生。课程定位、培养目标和评价原则以教学方案为准。

本规划说明每节课讲什么、各课怎样衔接,以及共同的学习与提交安排。各节知识边界、作业最低与建议标准、验收重点由逐课课纲规定,不在总文件中重复维护另一套细则。

二、工作室时间线与课程位置(待确认)

时间阶段 工作室活动 iOS 部在其中的职责
国庆前 面向全校的统一公开课 由教学部负责,不计入 iOS 部自主课程课时
国庆前、部门筛选前 iOS 部试听课 部门介绍、iOS 科普、作品展示和报名答疑
国庆期间 笔试与部门面试 iOS 部参与筛选,确认进入部门课的学员
国庆后至寒假前 各部门课程 iOS 部完成 9 节轻量入门课
寒假期间 爱特杯 愿意继续实践的学员依据兴趣推进小项目
寒假结束后 第二次面试或成果交流 展示学习过程、作品和后续方向
大一下学期 自由立项、组队与竞赛 根据个人兴趣继续学习和实践

注:教学部统一公开课与 iOS 部试听课是两套不同活动。iOS 部试听课不要求学员提前安装 Xcode,也不以设备或技术基础作为参与门槛。

三、课程组织与时间口径

  • 部门课以线上直播为主,预计学员不超过 10 人,约 2 名授课干部提供教学支持;具体排课和人员安排另行确认。
  • 核心讲解尽量在约 40 分钟内完成;60 分钟是保守预估,不要求讲满,也不是硬性上限。实际节奏由授课干部结合内容、互动和答疑安排。
  • 课程可采用共同跟做,或授课干部 Demo 讲解、学员课后完成同源作品两种形式,不按课次划分两套文件规则。
  • 前七节作品原则上独立;部门课 08 优先整理旧作品,没有合适旧作品时由授课干部提供轻量起点,避免积累长期项目债务。
  • 部门课 01 的基础要求是成功配置并运行 Demo,个人修改可选;部门课 02–08 保留个人可见修改与真实 Build/Run。
  • 部门课 09 只作回顾、分享和答疑,不安排新技术作品、GitHub PR、Demo 或正式课后作业。

课后投入与分层

有实践作业时,每次基础课后实践建议按约 30–60 分钟控制范围,作为备课时估量负担的参考,不是计时验收或要求学员必须投入的时长。实际耗时尚未验证,具体提交时间由授课干部另行说明。

  • 最低完成标准:对应本课的基础作品和真实运行结果。
  • 建议完成标准:自愿选择的个性化、扩展或兴趣探索,不影响基础通过。
  • 到达建议投入仍未完成时,可以提供当前项目、实际现象和已尝试步骤;未完成不成为下节课的功能欠债。

设备与首次配置

  • 先了解学员可用的 Mac 和系统情况,尽量使用学员已有设备;没有合适设备时再协调社团机器。
  • 社团 Mac mini 较旧,课程负责人个人 MacBook 使用较新的测试版系统,两者环境差异较大,不能以个人机器上的结果代表社团设备兼容性。
  • 如需使用社团机器,课程负责人也准备同类社团机器核对环境;Xcode、macOS、Simulator Runtime、最低部署版本及 SwiftData 支持情况在备课阶段实际确认。
  • 部门课 01 前提前发送安装说明和资料,鼓励先配置,不强制提前完成。课堂讲解完整流程,不集体等待大型下载;未完成者课后继续,尽量在部门课 02 前跑通环境。

四、课程衔接与授课方式

整体认识按“第一次运行 → AI 与 Git → 页面 → 交互 → 信息流 → 内存数据 → 持久化 → 项目组织 → 回顾与继续学习”递进。

共同跟做型课程可依次展示目标效果、解释核心关系、完成基础版本、尝试小改动并答疑。Demo 讲解型课程由授课干部运行并讲解基础示例,学员观察、预测、追踪关键关系,再参考资料完成同源作品。不统一规定分钟表、PPT 页数或完整试讲。

五、十节课程安排

课次与课纲 主题与核心认识 基础结果或参与方式
试听课:部门与开发概览 部门学习方式、iOS 开发地图、真实作品和后续课程 形成方向认识,提出兴趣与顾虑;不要求安装、编程或技术考核
部门课 01:第一次运行与 SwiftUI 组件万花筒 Xcode 配置、模板项目、模拟器和标准组件观察 成功 Build/Run 组件万花筒;个人修改可选,无正式上传要求
部门课 02:AI 与 Git 开发工具入门 AI 小步开发循环,部门仓库、Fork、本地仓库、分支与 PR 的关系 尝试小型独立 SwiftUI 任务、运行并提交 PR;未完成或工具故障可记录当前状态
部门课 03:个人兴趣名片与页面组合 View 层级、三种 Stack、Modifier 作用对象与顺序 完成个性化名片,保留内容与样式修改,实际 Build/Run
部门课 04:小植物补水卡与交互状态 Button、唯一状态、@State、@Binding 和条件反馈 实现补水、上限、重置及重启归零
部门课 05:校园地点小指南与列表到详情的信息流 轻量模型、数组、List、值驱动导航和只读详情参数 在课堂两条数据基础上补充第三个地点,不同选择进入对应详情
部门课 06:从输入到清单与内存数据 输入草稿、模型、数组和 List 更新 完成自选主题的单字段新增清单,不要求持久化
部门课 07:习惯印章簿与轻量持久化 @AppStorage 简单设置、SwiftData 新增与读取、跨启动恢复 完成个性化印章簿,并验证同一个 App 彻底终止后重新启动仍能恢复数据
部门课 08:项目组织与 MVVM 架构入门 Treversi 工程阅读,Model、ViewModel、View 职责与数据流 渐进整理旧作品,保留核心行为和一处可见修改;说明用于本课作业反馈,不安排到部门课 09 技术抽查
部门课 09:学习回顾与继续出发 回顾课程地图,交流学习、项目与比赛经验,介绍后续入口 约 2–3 分钟轻量分享与集中答疑;无新作品、PR、Demo 或正式课后作业

各节仍按原有独立作品与知识范围推进,不新增统一大型 App、完整 CRUD 或逐人技术答辩。

六、AI 与 GitHub 共同安排

AI 使用

部门课 02 用授课干部另行发布的小型独立任务体验“提出目标 → 生成起点 → Build/Run → 观察结果 → 反馈与调整”。后续课程可继续用 AI 解释、局部修改和排错,但不要求所有作业使用 AI。

学员不必解释全部生成代码,应能简要说明自己的要求、实际结果和当前问题。AI 输出不能代替运行验证,不提供密码、令牌、私人资料或未经授权的项目内容。

GitHub 作品提交

  • GitHub 是课程作品与学习记录平台;社团 Gitea 是本套课程文件的审阅平台,两者不混用。
  • 部门课 02 演示部门公开仓库、个人 Fork、本地仓库、分支、Commit、Push 和 PR 的最小关系。部门仓库可在本节现场演示时建立,不要求在文件审定前建成。
  • 学员在个人 Fork 的作业分支中只修改自己的目录,向部门公开仓库发起 PR,不需要部门仓库直接写入权限。
  • 后续提交前按课堂确认的流程同步 Fork、建立本次作业分支;具体登录方式、工具命令、远端关系、目录和 PR 模板在备课阶段结合实际仓库确定。
  • PR 简要记录做了什么、是否使用 AI、实际运行结果和问题;本课要求的简短说明以对应课纲为准,不要求重复另写 README。
  • 未完成可使用 Draft PR;若账号、网络或 Git 故障导致无法发起 PR,可按授课干部约定渠道提供当前项目、错误和尝试记录。参与记录不等于基础作品已完成或 PR 已合并。
  • 不强制推送,不修改其他学员目录或公共结构;出现同步或提交错误时保留完整错误并求助。

隐私与运行证据

  • 公开内容不包含真实姓名、学号、联系方式、账号凭证、密钥、未经授权的照片或私人轨迹;提交作者邮箱和附件同样需要检查。
  • 仓库使用适合 Swift/Xcode 的忽略规则,避免提交构建缓存和个人环境文件;具体配置留待备课。
  • 本人设备与获准借用的社团设备均需保护个人账号和凭证,不共用个人凭证;具体登录、邮箱隐私和退出安排留待备课。
  • 真实 Build/Run 是实践底线。静态截图记录结果,动态交互和持久化需要通过实际操作核对,不能只看图片推断。
  • 不统一要求 GitHub 视频附件,部门课 04 也不强制上传录屏。授课干部可运行源码,或按本课需要约定简短运行记录;媒体细节在备课时确定。
  • 课堂复习可选择少量作品了解共同问题,不演变为逐人技术答辩;部门课 08 的职责说明留在本课作业反馈,不转移到部门课 09。

七、文件审阅与后续备课

当前工作是文件定稿校对,后续流程为:

  • 课程负责人完成文件校对。
  • 提交 issue,请相关人员预览、审核并最终定稿。
  • 审定后分发逐课课纲。
  • 授课干部自行安排备课时间,准备具体讲解、Demo 和必要的作业材料。

逐课课纲是备课纲领,不是完成备课的证明。PPT、文案、Demo、起始项目、正式作业文档和 Treversi 源码在实际备课时准备,不作为本轮文件审定前置条件,也不由本轮自动创建。

不要求每名授课干部逐课试学或完整试讲一次。此前“干部试学”指课程负责人为了对知识点和技术栈有数而进行的学习梳理。授课干部仍需对实际采用的示例和流程进行必要核对,但具体准备方式与时间由本人安排。

部门课 09 只需课程回顾和交流材料,不要求代码 Demo 或正式课后作业文档。

八、备课阶段尚待实际确认的条件

以下是后续实施信息,不是本轮文件定稿的待办门槛,也不能视为已验证:

  • 学员与社团设备能运行的环境组合,尤其是老旧 Mac 的 Xcode、系统、Runtime 和 SwiftData 兼容性。
  • 部门 GitHub 仓库、登录与邮箱隐私设置、Fork/PR 实际流程、模板和工具失败时的求助方式。
  • 各节起始项目、演示案例和正式题目能否在所用环境运行,实际课堂容量和作业耗时是否合适。
  • Treversi 真实源码的项目结构、GameState、PreviewBoardState 和观察关系;课纲中的阅读方向不代表源码实现已核对。
  • 试听课及部门课具体日期、停课安排、作品展示与报名信息。
  • 爱特杯或其他比赛的当期规则,以及课程参与记录在后续部门安排中的正式用途。

若实际条件影响既定知识范围或最低标准,应单独提出调整并确认,不自行扩课、增加考核或替换已定主题。

九、课程资源角色

以下为备课参考入口,不是要求学员通读的教材,也不表示当前材料或流程已经验证:

  • Apple Develop in Swift Tutorials:授课干部准备零基础示例时的实践参考。
  • Swift Coding Club Meeting Plans:课堂活动、迷你作品和趣味变式参考。
  • The Swift Programming Language:授课干部和有兴趣学员查阅 Swift 语法,不要求新生顺序通读。
  • Apple App Dev Training、Stanford CS193p:授课干部进阶和课后自选资源,不作为九节课共同进度。
  • AI 工具:解释概念、提出局部修改和协助排错,不能代替 Build/Run 与个人判断。
  • Apple View fundamentals:授课干部准备部门课 3 的 View、body 和界面层级口径时使用。
  • Apple Stack 布局说明:授课干部准备三种 Stack、对齐和页面拆分示例时使用。
  • Apple Configuring views:授课干部准备 Modifier 作用对象与顺序示例时使用。
  • Apple Managing user interface state:授课干部准备部门课 4 的状态所有权、单一事实来源和 Binding 口径时使用。
  • Apple State:授课干部核对 @State、@Binding 和 $ 连接的基本行为时使用。
  • Apple Button:授课干部准备 Button label 与 action 的初学者解释时使用。
  • Apple TextField:授课干部准备部门课 6 的输入草稿和 Binding 口径时使用。
  • Apple AppStorage:授课干部准备部门课 7 的简单设置、存储标识、默认值和 Binding 口径时使用。
  • Apple UserDefaults:授课干部核对简单非敏感设置的适用边界,不在课堂上展开直接调用。
  • Apple Preserving your app’s model data across launches:授课干部准备部门课 7 的持久模型、保存和跨启动读取因果链时使用。
  • Apple ModelContainer:授课干部核对部门课 07 的模型存储容器;其他类型另参照对应官方文档。
  • Apple App organization:授课干部准备部门课 8 的 App 入口、Scene、View 和项目组成口径时使用。
  • Apple Managing model data in your app:授课干部准备部门课 8 的模型、可观察状态和 View 数据连接口径时使用。
  • GitHub CLI 登录说明:授课干部准备第 2 节浏览器授权和 HTTPS 登录流程时使用。
  • GitHub CLI Fork 说明:授课干部验证创建并克隆个人 Fork 以及远端配置时使用。
  • GitHub CLI Fork 同步说明:授课干部验证部门课 3 以后有作业提交时同步个人 Fork 的固定流程。
  • GitHub CLI PR 说明:授课干部验证从个人 Fork 的作业分支发起 PR 时使用。
  • GitHub 附件说明:仅在实际选用附件时核对格式、限制和公开访问边界,不代表要求学员上传视频。
  • GitHub 提交邮箱设置:授课干部指导学员使用 noreply 地址保护公开提交中的个人邮箱。