曼彻斯特大学 COMP23311《软件工程 1》:学什么、怎么考、难在哪
曼大 COMP23311《软件工程 1》是计算机本科二年级课(10 学分,Level 2):把软件当工程过程学——计划、估算、测试、质量证据、生成式 AI 变革;考核为 3 小时笔试 70% + 团队实操 30%,双先修编程 1、2。
课程官网(学校官网):https://www.manchester.ac.uk/study/undergraduate/courses/2027/00560/bsc-computer-science/course-details/COMP23311
COMP23311 是一门什么课?
一句话:软件工程不等于编程——它研究的是软件从定义、创建、改进、部署到维护的过程;这门课教的就是这个「过程」,让你从写程序的人变成做工程的人。
这是曼彻斯特大学(The University of Manchester)计算机科学系(Department of Computer Science)的本科课程,课程代码 COMP23311,英文名 Software Engineering 1,中文通常译作「软件工程 1」——名字里的 1 表示这是系列入门篇。官网标注:10 学分(曼大 10 学分单元),单元级别 Level 2,第一学期开课(Semester 1);不作为自由选课单元(Available as a free choice unit? No)。本单元隶属 2027 入学 BSc Computer Science(UCAS 课程码 G400 / 院校码 M20);单元协调人为 Thomas Carroll。
官网 Overview 写得很直白:软件工程往往包含大量编程,但它不等同于编程(not synonymous with programming)——它更关心软件制品的定义、创建、改进、部署与维护所涉及的过程;课程理论与实操混合。除了技术技能,还要批判性理解各种社会与技术现象将如何影响这个职业的未来。
官网 Syllabus 主题清单覆盖:软件工程的核心定义;系统与项目的关系;主张与证据(对项目与系统我们能做什么主张、能动员什么证据);复杂度及其管理;系统与项目质量及其度量与保障;测试作为主要的证据与开发机制;软件构造任务(设计、调试、性能分析);伦理、商业与社会议题;软件工程专业性;软件系统安全;当前大模型驱动的软件工程变革。
官网 Aims:把软件工程当作一门智识学科与一个职业来介绍,装备「合格初级软件工程师」所需的基础知识与技能。一条主线一以贯之——每个工程主张都要有证据:质量要能度量、正确性靠测试证明、进度靠估算与跟踪;这套「讲证据」的思维是从「会写程序」到「会做软件」的分水岭。
和国内《软件工程》有什么不同?
和国内课程比,最大的差别是:国内软工课重概念与文档,这里按真实团队流程跑一学期。
- 课程定位:国内《软件工程》多以生命周期与 UML 讲授为主、配一张试卷;本课以团队项目为主线,管理任务(计划、估算、跟踪)直接计分。
- 反馈机制:RoboTA+Jenkins 持续集成对团队作业全程自动反馈;国内课程作业多交完才评,没有工具链级别的过程监督。
- 评分方式:3 次面对面答辩式访谈评分+行业导师见面;国内小组作业几乎全是提交材料评分。
- 内容前沿:生成式 AI 对软件工程的变革写进大纲并进考核;国内教材版本普遍未覆盖。
- 受众训练:同一分析按同事/经理/客户分层汇报是明列学习成果;国内软工课少有口头汇报训练。
考核怎么算?
官网 Assessment methods 写明:笔试(Written exam)占 70%,实操技能评估(Practical skills assessment)占 30%;官网 Study hours 栏标注考试为 3 小时。
配套反馈体系官网列得很细:教学为「讲座+每周工作坊+每周两次团队学习课+必修线下自学」,团队课每组有行业导师 2 次见面、3 次答辩式评分;RoboTA+Jenkins 持续集成对团队作业自动反馈,助教当面反馈,批改后另有书面与口头反馈。
这个结构意味着三件事:
第一,笔试定七成——对概念清晰、论述有据的学生有利;对只会动手写代码、不善书面论证的学生不利。
第二,30% 实操是过程性的、丢不起。它由团队作业、答辩访谈与工具链过程共同构成,拖到最后等于把过程分与口试分一起丢,笔试再高也补不平;反过来,实操分先落袋,笔试只要稳住概念与论述就能守住总分。
第三,必修线下自学计入考核——官网明说线下学习活动与阅读是必修,卷面会覆盖只在线下材料里讲过的内容。
先修要求是什么?
官网 Pre/co-requisites 写明:先修 COMP16321(Introduction to Programming 1)与 COMP16412(Introduction to Programming 2),均为必修;非计算机科学学院学生选课须同时获得计算机学院与本学院的许可。
两门先修让你能独立写中等规模程序,但这门课真正要补的底子是(分析,非官网要求):会读英文技术文档(选型比较要用)、会用版本管理(团队协作起步就靠它)、敢用英文写结构化论证(分析类作业的载体)——编程之外的三样,开课前都能自备。
学完能做什么?
官网学习成果覆盖七条 ILO:能从头到尾设计并实现一个小规模「从零开始」(from scratch)软件工程项目,达到三年级项目可比的完成度(ILO4);能做基础开发管理任务——计划、估算、问题描述、问题跟踪(ILO2),并在项目语境中做设计、调试、重构、制品管理(ILO6);能解读、评估并产出面向不同受众(同事/经理/客户)的技术分析(ILO1),并描述软件工程基本概念——复杂系统、生命周期、质量保证、测试(ILO3);能评估社会与技术趋势(如生成式 AI)对项目和职业的影响,并说清技术细节与商业、社会、伦理价值的关系(ILO5/ILO7)。
能力上,学完你能以初级软件工程师的身份进团队干活:描述软件工程基本概念、在开发项目中做设计调试重构与制品管理、执行计划估算与问题跟踪、按受众分层做技术汇报。
去向:软件开发工程师、DevOps/平台工程、技术项目管理(TPM)方向的第一块拼图;团队项目+行业导师+持续集成正是初级岗位 JD 的高频词。对暂不做工程师的人,这门课的「主张要证据、汇报看受众」训练,迁移到产品、咨询任何岗位都成立。目标走软件开发、DevOps、项目管理方向的学生,这门课的行业导师与持续集成经历是简历上最早能写的「工程经验」。
适合谁:计算机科学二年级学生最对口——它是三年级毕业项目的直接预演(官网 ILO4 明说可比性);愿意在团队里承担管理任务(计划、估算、跟踪)的学生——这些活计分且躲不掉;对行业趋势敏感的人——生成式 AI 对软件工程的影响直接进了教学大纲。不适合抗拒团队协作、口头答辩与英文写作的学生:30% 实操分全在这些环节里。
难点与常见挂因
这门课的难点在「从写程序的人变成做工程的人」。
具体难在这些地方:
- 质量要「讲证据」。 说一个系统可靠、可维护,必须落到度量与测试数据;国内软工课背概念多(耦合、内聚、生命周期),做过的度量少——课程作业里质量主张没有证据链,答辩直接被问倒。证据从哪来?测试通过率、代码覆盖率、缺陷修复时长,这些团队工具链天天在产出的数字,都是你主张的后盾。
- 估算与计划没有公式。 工作量、工期、风险都要估计再跟踪修正;国内作业给定了需求与时间,学生从没为自己估过工时——开发管理任务里估算拍脑袋、计划无跟踪,过程分就拿不到。估算的入门练习很朴素:每件事先写「预计要多久」,做完再写「实际多久」,两列对照几周后,估算误差自己就会收窄。
- 测试是开发机制而非收尾。 官网明示测试是「主要的证据与开发机制」;国内课程测试多为附带章节,代码写完补几个用例——团队项目里没有持续测试与集成,Jenkins 上的反馈会让问题一直亮着。正确姿势是「测试先行一步」:每次动代码前先想「怎么证明它没坏」,用例写在实现旁边,Jenkins 亮红灯的次数自然下降。
- 复杂度管理。 系统复杂度、团队复杂度、任务依赖同时压来;国内个人大作业没有多线并行经验——团队学习课上分工不清,答辩时有人讲不出自己系统的全貌。
- 「主张—证据」的批判阅读。 要评估技术选型(库、工具)并分层次汇报给不同受众;国内学生习惯唯一正确答案,面对开放比较题不会组织论证——技术分析类作业写成了功能罗列。组织论证的框架是「候选—准则—评判」:列出两三个候选方案、说清评判准则(性能、维护成本、学习曲线)、再给出选择与理由——功能罗列就变成了分析。
常见挂科原因,每条都有早期信号:
- 团队作业过程分流失:工具链记录凌乱、访谈讲不清分工。早期信号是开学几周后 issue 面板还是空的。→ 每周提交与更新有记录,任一模块能脱稿完整讲清。
- 估算任务交白卷:从没记录过自己的工时,估算无从校准。早期信号是第一份计划表没有数字。→ 连续记录「预估 vs 实际」,用真实数据交估算。
- 质量主张没有证据:只说「系统很稳」,拿不出度量与测试数据。早期信号是汇报里没有一张图表。→ 每条主张配一个数字或一个测试结果。
- 期末论述空泛:伦理与趋势题只背了名词,没练成段论述。早期信号是练习题答不满半页。→ 每个主题「利—弊—治理」三段各配一案例;生成式 AI 这类趋势题,正反素材方向现成:生产力、代码质量、职业结构、责任归属——四个词各展开就是一篇。
- 线下自学欠账:必修自学材料没当课,考前才发现考卷覆盖。早期信号是某周线下材料没打卡。→ 期末前把全部线下材料重过一遍并做笔记。
- 答辩表达失分:技术词堆给所有听众,结论后置。早期信号是模拟汇报被追问「所以呢」。→ 任何汇报第一句给结论,短版本随时可讲。
留学生特别提醒
这几条坎专门冲着中国学生的学习习惯来:分层汇报、工具链协作、答辩评分、伦理论述,还有一个被低估的「估算文化」。
- 英文技术汇报的「分层表达」最陌生。 同一份技术评估要讲给同事、经理、客户三种受众(官网 ILO1 明列),用词与详略全要换;国内几乎没有按受众切换表达的训练——对导师讲了半页术语,听众没听懂结论。→ 每个汇报先写「一句话结论」,再按受众展开,练到短版与长版随时可切换。
- 团队协作的工程规范断层。 小组要用问题跟踪、制品管理、持续集成(RoboTA+Jenkins 全程记录);国内小组作业常靠群聊分工、最后拼代码,没有工具链协作经验——提交记录凌乱、issue 不更新,工具链数据直接反映低贡献。→ 开课前过一遍 Git 分支与合并、任选一个问题跟踪工具管一次小项目,练到每次改动有记录、有说明。工具链数据是「中性的贡献证据」:它不会替你夸大,也不会漏掉你的活——对不善自荐的人反而是好事。
- 答辩式评分的表达压力。 团队作业有 3 次面对面访谈评分,个人要当场讲清自己与团队的工作;第二次访谈后讲不清自己模块与他人接口,个人分会被压。→ 每周团队课后自述「我做了什么、为什么这么做、下一步」,练到脱稿讲清。接口部分要提前准备:你的模块从谁那里拿什么、交给谁什么——两次答辩之间隔着的正是这根线。
- 伦理与社会议题的论述不适应。 生成式 AI 对行业的影响、技术与社会价值的关系都在考纲;国内工科课很少把伦理讨论写进考核——只会写好处,不会批判性讨论风险与治理。→ 为每个主题准备「利—弊—治理」三段素材,各配一个案例,练到不背稿能成段输出。
- 线下自学的自律要求被低估。 官网明说线下学习活动与阅读是必修、且计入课程作业与考试的考核;国内学生习惯「课堂讲了才算数」——卷面会出现只在线下材料里讲过的内容。→ 每周把线下材料当课表排进日程,完成即打勾。
- 估算文化的错位。 「估时」在这门课是被认真考核的工程行为,国内作业从不要求报工时,学生第一次交估算常常全员填同一数字。→ 从第一周起为自己所有学习任务记录预估与实际用时,攒够一个月就有真实校准数据。
怎么准备?
最划算的准备,是把「工具链」「估算记录」「分层汇报」三件事提前跑起来——30% 实操分全压在这三样的熟练度上。
- 开课前过一遍 Git。 分支、合并、提交说明练熟;团队协作第一周就要用。
- 选一个 issue 跟踪工具练手。 拿自己的学习计划当小项目管理一次;课程里换到团队工具就是无缝衔接。
- 建「预估 vs 实际」记录表。 从现在开始给自己的任务记工时;这是课程估算任务的真实校准数据源。
- 练「结论先行」汇报。 每次开口先给结论再给理由,短版本随时可讲;答辩评分吃这一套。
- 第一周做三件事。 确认 RoboTA/Jenkins 账号与团队仓库可用;把线下自学材料排进每周日程;记下 3 次访谈评分的时间窗。
- 每次提交都留痕。 提交说明写清「做了什么、为什么」,工具链数据就是你的过程分证据。
- 每周自述三句。 我做了什么、为什么这么做、下一步;答辩的肌肉记忆靠每周练。
- 期末前重过线下材料。 必修自学内容是考卷覆盖范围,最后两周完整再过一遍并做笔记。
中英术语速查
- software engineering —— 软件工程:软件制品定义、创建、改进、部署与维护的过程之学。
- estimation —— 估算:对工作量与工期的预测,须有校准数据支撑。
- issue tracking —— 问题跟踪:用工具记录与跟进每个开发任务。
- refactoring —— 重构:不改变行为的前提下改进代码结构。
- artifact management —— 制品管理:对代码与交付物的版本化组织。
- quality assurance / metrics —— 质量保证 / 度量:质量主张要有数据背书。
- RoboTA —— 曼大的自动化作业反馈系统。
- Jenkins(continuous integration) —— 持续集成服务:自动构建与测试团队代码。
- industrial mentor —— 行业导师:来自业界的团队指导者,本课每组两次见面。
- recommended reading —— 推荐书单:《Code Complete》《Pro Git》《The Pragmatic Programmer》等。
- generative AI in software engineering —— 生成式 AI 与软件工程:官网大纲明列的当代议题。
- from scratch project —— 从零开始项目:ILO4 要求的完整小型工程实践。
- G400 —— BSc Computer Science 的 UCAS 课程码。
关于我们
鱼之跃做在读留学生的学业支持,服务分两块,界限很清楚:
辅导=老师授课:由 QS 前 200 院校的硕博老师把课程的知识点、推导链、作业要求讲透,按对口专业配课;覆盖同步辅导、论文辅导、考前辅导、预习。
护航=你的学业管家:排计划、理材料、理流程这些杂事都替你打点好,该提前准备的他先想到;你只管学,有事随时找,需要时都在。同地区的留学学姐,熟悉你所在学校的节奏。
学术问题上的申诉,我们做材料梳理与流程陪跑,不代写、不代考、不碰学术诚信边界,也不承诺任何成绩。
课程官网与核对说明
课程官网(学校官网):https://www.manchester.ac.uk/study/undergraduate/courses/2027/00560/bsc-computer-science/course-details/COMP23311
本文涉及学校、院系、课程代码、课程名称、学分、层级、开课学期、自由选修属性、所属项目、协调人、课程内容主题清单、学习成果(ILO1–7)、教学与反馈体系(RoboTA/Jenkins、行业导师、3 次答辩评分)、考核构成(笔试 70%、实操 30%、3 小时考试时长)、先修要求与修课许可的事实,均来自上述学校官网单元详情页;核对时间为 2026-10-30。考试时长为官网 Study hours 栏事实,按官网口径呈现;学时拆解属学习投入口径,未采用。文中「与国内课程差异、要补的底子、难点、适合谁、怎么准备」等属于基于课程结构的分析与学习建议,不代表学校官方要求。