logo
SENG20116 学分

软件工程工作坊 2

新南威尔士大学·University of New South Wales·悉尼

SENG2011《软件工程工作坊 2》是 新南威尔士大学 的公开课程页面。当前可确认的信息包括 6 学分,难度 难,公开通过率 90%。 页面已整理 10 周教学安排,4 个重点考核,方便你快速判断工作量、考核结构和适配度。 课程简介摘要:课程定位 SENG2011 是 UNSW 软件工程专业(SENGA)最核心的‘实战炼金炉’。

💪 压力
5 / 5
⭐ 含金量
5 / 5
✅ 通过率
0%

📖 课程概览

选课速读: SENG2011《软件工程工作坊 2》是 新南威尔士大学 的公开课程页面。当前可确认的信息包括 6 学分,难度 难,公开通过率 90%。 页面已整理 10 周教学安排,4 个重点考核,方便你快速判断工作量、考核结构和适配度。 课程简介摘要:课程定位 SENG2011 是 UNSW 软件工程专业(SENGA)最核心的‘实战炼金炉’。
### 课程定位 SENG2011 是 UNSW 软件工程专业(SENGA)最核心的‘实战炼金炉’。如果说基础编程教你写代码,这门课则是教你如何在复杂的团队中‘交付工程’。它模拟了真实工业界的开发环境,要求学生在 10 周内完成一个从需求分析到线上部署的全功能软件产品。它是通往高级软件架构及 Capstone 项目的必经之路,也是简历上最能体现工程能力的实战经历。 ### 技术栈与学习内容 课程围绕‘敏捷开发 (Agile)’展开。核心技术栈由团队自选,通常涵盖:前端(React/Next.js)、后端(Node.js/Python/Go)、数据库(PostgreSQL/MongoDB)以及 DevOps 工具链(GitLab CI/CD, Docker)。学习内容涵盖:需求工程(User Stories)、系统建模、设计模式应用、持续集成、自动化测试(单元测试与端到端测试)、以及极其严格的代码审查 (Code Review) 机制。课程强调‘工程流程的规范性’胜于‘功能的多寡’。 ### 课程结构 10 周全实战项目模式。第一周组建固定团队,后续分为三个 Sprint 进行迭代开发。没有期末考试,所有分数均来自:Sprint 交付物、技术设计文档(TDD)、团队演示 (Demo) 以及个人代码库贡献。评估极其硬核,助教会深入检查每一行 Commit 的逻辑与 Linting 规范。 ### 适合人群 软件工程专业学生。如果你想体验真实的‘硅谷式’开发流程,或者想摆脱乱写代码的坏习惯,这门课会让你脱胎换骨。建议团队每周至少进行 3 次同步会议,个人投入 20 小时以上。

🧠 大神解析

📊 课程难度与压力分析

SENG2011 的压力是‘全天候’的。它不像考试课那样突击一下就能过,它的 Deadline 每三周就来一次。难点在于‘协作中的复杂性管理’——如何确保 5 个人写的代码能完美 Merge 而没有冲突?如果你不幸分到了‘躺平’组员,你的工作量会成倍增加。技术难点在于 CI/CD 配置和测试覆盖率,很多团队在最后一周会卡在 GitLab CI 跑不通上。该课评分极严,Hayden 或其他导师会对你的每一条 Commit 消息进行审美检查。

🎯 备考重点与高分策略

高分秘籍:‘得文档者得 HD’。代码写得再牛,如果没有清晰的 TDD(技术设计文档)和 API 说明,分值绝不会高。要把你们如何解决‘Race Condition’或‘性能瓶颈’的过程详细记录在技术博客里。重点关注‘代码规范 (Linting)’,确保团队中没有人提交不符合规范的代码。Demo 现场,准备好对‘安全性’和‘扩展性’问题的回答,那是导师最爱追问的地方。重视每一次 Sprint Review 的反馈,那是直接的加分信号。

📚 学习建议与资源推荐

不要只关注代码,去学学 Scrum 的核心思想。推荐看《The Clean Coder》来理解职业工程师的自我修养。Git 实战推荐看‘Pro Git’电子书。如果后端基础薄弱,去读读 Flask 或 Express 的官方 Best Practice 指南。最重要的建议:每周固定一次‘全员对代码 (Pair Programming)’时间,这比各自埋头写效率高得多。利用好 Slack 或 Discord 的沟通记录,那是个人贡献分的直接证据。

⚠️ 作业与 Lab 避坑指南

项目避坑:千万不要在第 10 周才开始做集成!‘大集成地狱’是挂科的主因。每一天都要 Merge 回 Master 分支。严禁在代码里硬编码 (Hardcode) 敏感信息(如 API Key),那在安全性评审中是直接降级的。此外,注意 Peer Assessment,如果你的贡献记录远低于平均水平,哪怕组拿了 HD,你个人也可能只拿 Pass。考试时,没有笔试,但最后的 Q&A 环节需要每个人都对整个架构了如指掌。

💬 过来人经验分享

学姐心得:这门课是你离工业界最近的一门课。它很累,但当你看到自己写的系统被模拟用户撑住时,那种成就感是无与伦比的。建议找一个同样有‘代码洁癖’的队友当 Tech Lead。拿 HD 的关键:在报告中展现出你们如何进行‘风险预防’,比如你们如何处理网络延迟导致的数据不一致。坚持住,通关 2011,你就真正跨过了从‘学生’到‘职业工程师’的那条线。

📅 每周课程大纲

Week 1团队组建与需求对接
选择项目主题,建立 GitLab 工作流,撰写初步需求说明书与 User Stories。
Week 2架构设计与技术选型
系统架构图设计,数据库建模,API 规格定义,确定 Sprint 1 开发目标。
Week 3Sprint 1:骨架构建与 CI/CD
建立自动化流水线,完成基础 CRUD 功能,确保前后端联通。
Week 4Sprint 1 Review 与重构
第一个迭代演示,分析技术债,根据反馈调整 Sprint 2 优先级。
Week 5Sprint 2:复杂逻辑实现
攻克认证鉴权、实时同步或高级算法模块,完善单元测试覆盖率。
Week 6灵活性周 (Flex Week)
集中修复 Sprint 2 中的 Bug,优化代码异味,整理技术设计文档。
Week 7集成测试与 UI 优化
跨模块联调,执行端到端 (E2E) 测试,优化交互体验 (UX)。
Week 8Sprint 3:完善与加固
处理边缘情况(Edge cases),进行安全性审计,准备大规模并发测试数据。
Week 9文档编制与性能评估
完成用户手册、技术总结及性能分析报告。
Week 10Final Demo Day
现场演示全功能系统,接受导师与同伴的技术质询(Q&A)。

📋 作业拆解

Assignment 2

30h
核心考察
工具应用, 逻辑严谨性
使用形式化语言(如 Dafny)实现一组复杂的算法(如二分搜索或堆排序),并提供机器可验证的正确性证明
要求
代码需完全通过静态验证器检查

📋 课程信息

学分
6 Credit Points
含金量
5 / 5
压力指数
5 / 5
课程类型
elective

💬 学生评价

💭

还没有同学评价这门课,成为第一个分享体验的人吧

写点评