Files
ryansanchez7115 af483811cb 按工作室统一通知改为邮件提交,补充运行环境指南
- 第一、二题改为邮件提交(姓名-学号-QQ.zip,10 月 3 日至 7 日 23:59),接收邮箱在招新 QQ 群公布
- 第三题改为在自己的 Gitea 仓库开发(10 月 6 日前私有、6 日至 8 日公开)
- 新增 guides/environment.md 开发环境配置指南;第一题补充“运行环境”
- 首页改为正式版,统一求助渠道与工作室诚信、评分规定
2026-10-01 15:26:48 +08:00

4.4 KiB
Raw Permalink Blame History

第三题 把想法做成 App

  • 类型:开发挑战(选做)
  • 基础要求:使用 Swift 开发可交互的 App,界面优先采用 SwiftUI
  • 提交材料:无需邮件提交;作品放在自己的 Gitea 仓库,面谈时运行展示
  • AI 规则:允许辅助开发及生成主要代码,须亲自运行、检查并能说明作品

任务背景与概述

这道选做题邀请你把想法做成能实际操作的 App。可以开发第二题的设计,也可以完成统一的数独游戏。选做与否不影响前两题成绩;完成情况通过作品和当面交流确认。

任务详细要求

1. 选择一条路线

  • 路线 A:开发第二题的设计。 从自己的方案中选一个范围可控的版本实现;可以在开发时调整方案,并简述与原设计不同的地方。
  • 路线 B:开发数独游戏。 实现选题、填数与擦除、冲突检查、完成判断和进度保存。完整功能、边界规则和固定题库见数独开发材料。不要求编写出题算法。

development/ 只提供路线 B 的数独详细需求和基础材料;路线 A 依据自己的第二题方案开发。

2. 两条路线共用的完成标准

做出一条从开始到结束可以实际操作的核心流程。用户的输入或选择应改变内容,并获得清楚的反馈;与核心用途有关的数据应在本地保存,彻底退出并重新启动后仍能恢复。还要处理与场景有关的空白、错误、取消等情况,不能只有静态页面。

路线 A 请简要说明核心功能、保存的数据、至少两种边界情况及设计调整;路线 B 按数独详细需求检查基础功能。额外功能不能代替基础要求。不要求登录、服务器、云同步、复杂架构或应用商店上架。

作品材料、方式与格式规范

在 git.itouc.cn 上新建自己的仓库,自行组织项目目录;选择数独路线的,把需要的数独材料一并复制进去。按工作室统一要求,仓库在 10 月 6 日前须设为私有,10 月 6 日至 8 日须改为公开。项目应包含可打开、可运行的完整源码与必要资源,并在仓库中简要写明打开与运行方法、已完成和未完成的功能、已知问题。无需使用固定的作品说明模板。

无需邮件提交作品、发起 PR 或提交录屏。 有做这道题的同学,最好在面谈前把自己的仓库链接及项目位置告诉负责人,并在仓库公开后确认负责人能够访问,方便先看代码。具体联系与面谈安排后续通知。面谈时展示实际运行的作品;未完成的部分也可如实说明。

学习范围与资源

根据所选路线按需学习 Swift、界面状态与本地保存。以下是可选的 Apple 官方资料,不要求通读:

不限定必须使用某个界面组件、数据存储方案或代码结构,重点是实际结果符合需求、本人能检查与说明。

AI 使用规则

可以让 AI 帮助拆分开发任务、生成代码、解释、排错和修改,甚至完成主要代码。请亲自运行、检查是否符合需求,并能说明自己怎样验证与调整结果。交流中的 AI 使用情况仅帮助我们了解工作过程,不单独评分。

路线 A 中作为第二题提交的设计 PDF 仍遵守第二题的独立完成规则:问题和方案由本人构思;进入本题开发阶段后,按本题规则使用 AI。

考察重点

面谈会结合真实运行和代码,了解你能否完成核心流程、数据怎样变化和保存、怎样发现结果不符合需求,以及为什么保留或修改某个实现。可能讨论一个小变化及其实现和验证方法;实践环节允许继续使用 AI。不要求背诵全部代码,也不按手写代码比例判断。

挑战完成标记根据实际作品与当面考察确认,记录为“未选做”“已尝试”“作品完成待面谈确认”或“挑战通过”。