诺丁汉 COMP1005《编程与算法》:作品集 75%+现场机考 25%,补考只剩机考
诺丁汉 COMP1005 编程与算法:从变量与循环,到算法与数据结构,再到文档、测试、版本控制——一门把工程习惯从第一天就装进手里的编程主课。
20 学分、本科 Level 1、计算机科学学院开设、秋季学期面授、双模块负责人(Valerio Giuffrida 与 Dr Jamie Twycross);考核为作品集 75% + Examsys 现场机考 25%;补考为 100% 现场机考,作品集分不保留。
COMP1005 是一门什么课?
一句话:这门课从语言零件讲到工程流程——先学会写,再学会写得高效,最后学会管得住自己写的代码。
学校官网的内容说明(照实):本课介绍编程与算法的基本原理——覆盖基本编程构造:类型与变量、表达式、控制结构、函数(照实);教设计与分析实现数据高效存储与操纵的简单算法与数据结构(照实);熟悉软件开发方法学——文档、测试、调试,以及开发工具,包括集成开发环境与版本控制系统(照实)。
这三层是很清楚的(分析):底层是语言零件(分析)——类型、变量、表达式、控制结构、函数;中层是算法与数据结构(分析)——怎么存、怎么算才高效;顶层是工程方法(分析)——写完要有文档、要测、要会调、要用工具管理(分析)——三层缺一层,写出来的东西都不算「能交付」(分析)。
顶层写进 L1 大纲,是这门课最特别的地方(分析):多数入门编程课只教语法与算法(分析)——文档、测试、调试、版本控制通常留到二年级的软件工程课(分析)——这门课第一天就把「写得对」和「管得好」绑在一起(分析)——好处是你一上手就在专业轨道上跑(分析)——代价是工具链要提前面对(分析)。
第六条学习成果值得单独看(分析):它要求「用编程解决问题、安排与呈现工作、检索并有效使用额外的学习材料」(照实)——把工作安排与自学新材料写进成果(分析)——意味着这门课顺带考学习自理能力(分析)——而 75% 的作品集,正好是对这条成果的直接兑现(分析)。
和国内《程序设计基础》有什么不同?
国内程序设计基础以语法与例题为主线(分析)——讲到数组、函数、指针,配课后习题(分析)——这门课多了一层工程方法学(分析):文档、测试、调试、IDE、版本控制(分析)——在国内通常是大二的软件工程内容(分析)——它被下放到第一门编程课(分析)。
第二处是考核形态(分析):作品集占七成半(照实)——按课程节奏滚动交付(分析)——国内编程课多以期末大作业或闭卷笔试收口(分析)——过程被计价,攒到期末就补不回来(分析)。
第三处是机考(分析):25% 是 Examsys 现场机考(照实)——限时、黑屏、无资料(分析)——它验证的是「离开参考也能写」(分析)——国内上机考多为开放式实验,允许查资料(分析)——两种形态的能力要求不同(分析)。
第四处是限定范围(分析):仅面向计算机科学学院 Level 1 学生(照实)——不是通识编程课(分析)——同学背景相近、进度统一(分析)——这也意味着课堂节奏不会为跨专业学生放慢(分析)。
考核怎么算?
一件作品集打底,一场机考收口。
| 考核件 | 形式 | 占比 | 说明 |
|---|---|---|---|
| 作品集 | 课程作业任务的作品集(照实) | 75% | 随课程滚动交付 |
| 机考 | Examsys 现场机考(照实) | 25% | 时长 1 小时(照实) |
| 合计 | — | 100% | 75+25 验算相符 |
| 补考 | 100% 一场 Examsys 现场机考(照实) | — | 时长 1 小时,作品集分不带入 |
四处结构判断:
第一,七成半在过程里挣。(分析)作品集不是一次大作业,是任务累积(照实:课程作业任务的作品集)——对每周都交的人是护城河(分析)——对攒到期末的人是深渊(分析)——作品集这种东西,没办法临时补出来(分析)。
第二,机考是「离开资料也能写」的最低验证。(分析)只占四分之一(分析)——但它是限时独立写码的检验(分析)——平时全靠查资料拼装的人,会在这里现形(分析)——两件形态互补:作品集看交付过程,机考看独立能力(分析)。
第三,补考没有过程分可捞。(分析)补考是 100% 一场现场机考(照实)——作品集分不带入(分析)——这意味着如果挂科,七成半的平时积累全部清零(分析)——这是最该提前知道的一条(分析)。
第四,两件都考「写得出」。(分析)没有笔试、没有选择题(分析)——全是写代码(分析)——背概念没有用(分析)——这门课的成绩与「动手量」直接相关(分析)。
先修要求是什么?
没有列出编程先修(分析):学校官网的选课范围栏只写面向对象(照实):面向计算机科学学院 Level 1 学生(照实);仅限 Level 1、仅限计算机科学学院学生(照实)。
- 官方口径:无编程先修栏(照实)——从变量与循环教起(分析)——零基础设计(分析)。
- 实际需要:每周固定上机时间的意愿(分析)——这门课真正的门槛不是天赋,是时间纪律(分析)。
- 隐性前置:英文题面阅读(分析)——工具链的心理准备(分析)——这两条官网不列,但会立刻影响体验(分析)。
中国学生常有的两个误判(分析):一是「我高中学过一点编程」(分析)——中学的信息技术课以积木式与模仿式练习为主(分析)——从零构建的训练其实很少(分析);二是「代码能跑就行」(分析)——这门课要文档、要测试、要版本管理(分析)——能跑只是及格线(分析)。
要自查的三样:
- 一套能跑起来的工具链:IDE 与版本控制装好,五件套操作各做一遍。
- 一份变量命名词典:动词、名词、布尔前缀各二十个。
- 一张每周编程时段表:每周两段,写进日历。
学完能做什么?
学完你能描述并应用编程理论解决问题、能分析并逻辑评估程序需求与规格、能说清程序化方案与特定问题的关系、能设计与分析简单算法与数据结构、能读写程序并使用合适的软件开发方法与工具。
六条学习成果(照实):描述并应用编程理论、把编程技能应用于多种问题(照实);分析并逻辑评估程序需求与规格(照实);描述程序化解决方案的复杂思想及其与特定问题的关系(照实);设计与分析简单算法与数据结构(照实);读写程序、应用合适的软件开发方法与工具(照实);用编程解决问题、安排与呈现工作、检索并有效使用额外的学习材料(照实)。
六条成果可以归成三组(分析):会写(分析)——第一条与第五条,从理论到能跑的程序;会设计(分析)——第二条、第三条、第四条,从需求到方案到结构;会自理(分析)——第六条,安排工作、呈现结果、自学新材料(分析)——第三组最容易被当成凑数,其实是作品集考核的底层能力(分析)。
资源与书单照实(分析):学校官网未列具体书目,材料以学校课程平台另置(照实)——写代码的课,练手比读书重要(分析)——每周的编程练习与作品集任务就是主粮(分析)。
直接能力(分析):独立编程的地基(分析)——能从需求走到可运行程序,走完设计、编码、测试、调试、版本管理整条流程(分析)——这是后续软件工程、算法、人工智能课程的通行证(分析)。
去向层面(分析):软件开发主线的第一块砖(分析);作品集本身可以留作成长档案(分析)——面试时讲学习轨迹的第一手材料(分析)。
一条判断(分析):这门课最耐用的资产是工程习惯的先入为主(分析)——文档、测试、版本控制从第一天就是默认动作(分析)——习惯一旦先入为主,此后写任何项目都在专业轨道上跑(分析)——这个红利会跟很多年(分析)。
难点与常见挂因
零基础友好但训练量大、过程考核密集,坑集中在十处:从抄到写、结构选择、调试方法、模式识别、编程英语、工具链、作品集节奏、机考形态、口头讲码、限时失控。
十处里,前四处是编程本身的门槛,后六处是语言、工具与考核形态带来的坎;前者靠伪代码与结构标注解决,后者靠英文题面、五件套操作与模拟机考解决。
两类会互相放大:工具链一出乱,作品集就丢工作;调试试错,机考就写不完。
一、从「照着写」到「自己设计」
语法照着示例抄,人人都能学会(分析)——难的是从空文件起步(分析):把问题拆成函数与数据的选择(分析)——先定数据形态还是先定流程(分析)。
为什么卡:中学编程教育以积木式与模仿式练习为主(分析)——从零构建的训练很少(分析)。
卡在哪:对着空白文件先翻课件找相似例子(分析)。
卡了会怎样:作品集任务要求原创实现,抄无可抄就停摆(分析)。
怎么补:每题先合上材料写伪代码,再对照查漏(分析)——五题伪代码先行(分析)——五题能独立完成为准(分析)。
二、数据结构的选择判断
数组还是链表、什么时候值得用哈希表(分析)——难点不在实现,在按操作频率选结构(分析):读多写少选什么、频繁插入选什么(分析)。
为什么卡:没有「时间代价」的直觉(分析)——选错结构程序照样能跑(分析)——只是数据一大就塌(分析)。
卡在哪:说不出自己为什么选这个结构(分析)。
卡了会怎样:效率题与设计题一起失分(分析)——算法分析的入门关没过(分析)。
怎么补:每题写完标注「读、写、插删的频率与所选结构」(分析)——自查一次(分析)——十题标注全对为准(分析)。
三、调试的侦探思维
程序不报错,但结果错(分析)——这是最常见的卡点(分析)——难点在系统化定位(分析):二分注释、打印中间值、构造最小复现(分析)。
为什么卡:习惯随机改代码(分析)——改到能跑为止,但不知道为什么好了(分析)——初学者在「乱试」上耗掉的时间是系统定位的三倍(分析)。
卡在哪:一个错能找上半天(分析)。
卡了会怎样:机考时间全耗在调试上(分析)。
怎么补:调试三步每错必走:最小复现、打印中间值、二分注释(分析)——三步能稳定走完为准(分析)。
四、抽象与实例的往返
函数、循环这些构造是抽象的(分析)——学会的表现是能在具体问题里认出「这里该用循环加索引」(分析)。
为什么卡:模式识别没建立(分析)——见到新题想不起已学构造(分析)——构造学过但不熟,题还是新的(分析)。
卡了会怎样:每道新题都像第一次见(分析)——进度越拖越慢(分析)。
怎么补:上机课的练习量必须打满(分析)——每类构造配三题(分析)——能一眼认出适用构造为准(分析)。
五、编程英语的双语切换
代码关键字与题面规格都走英语通道(分析)——中国学生的编程入门多在中文语境(分析):题面中文、注释中文(分析)。
为什么卡:读英文题面慢(分析)——变量命名卡壳(分析)——该起什么英文名,一时想不出(分析)。
卡了会怎样:读题时间长,机考时间不够用(分析)。
怎么补:每日两题英文题面(分析)+一份变量命名词典:动词、名词、布尔前缀各二十个(分析)——两题能独立读题完成为准(分析)。
六、工具链的首遇冲击
集成开发环境与版本控制明写进大纲(照实)——对新生是全新工具面(分析):英文界面、终端命令、提交概念(分析)——一套陌生操作(分析)。
为什么卡:国内中学不教版本控制(分析)——第一次遇到冲突与回滚就不会处理(分析)。
卡了会怎样:作品集管理出乱(分析)——严重时丢工作(分析)。
怎么补:装好环境先做五件套:建仓、提交、推送、分支、合并回滚各一次(分析)——五操作独立完成为准(分析)。
七、作品集的持续交付节奏
七成半成绩在作品集(照实)——任务随课程滚动发放、按节点交(分析)——中国学生习惯期末一次性交大作业(分析)。
为什么卡:前半学期松、后半学期任务叠加(分析)——一断档就补不齐(分析)。
卡了会怎样:作品集断档,七成半的分数直接塌(分析)。
怎么补:每周固定两段编程时段、每段固定时长,雷打不动(分析)——任务清单周清(分析)——连续四周节点零迟交为准(分析)。
八、机考形态的陌生
25% 是现场机考、补考也是机考(照实)——限时环境里写完整程序(分析)——国内上机考多为开放式实验(分析)。
为什么卡:没练过黑屏限时写码(分析)——机考界面加时限,调试时间失控(分析)。
卡了会怎样:会写的题也写不完(分析)——补考更是只剩这一条路(分析)。
怎么补:每周一次机考模拟:黑屏起写、不查资料(分析)——模拟能按时完成两题为准(分析)。
九、辅导课的口头讲码
每周有辅导环节,要讲自己的思路(分析)——为什么这样设计(分析)——非母语边指代码边说英文,是新技能(分析)。
为什么卡:能写出来,但讲不出设计理由(分析)——国内辅导课少有口头答辩(分析)。
卡了会怎样:错过最有价值的即时反馈(分析)——设计上的问题没人帮你指出来(分析)。
怎么补:每次辅导前把本周作业的设计理由写成三句英文卡(分析)——三句能脱口为准(分析)。
十、从模仿到原创的心理关
初学期照着课件代码能跑(分析)——离开参照就写不出(分析)——作品集要求原创实现(分析)。
为什么卡:模仿式练习占比高(分析)——没有「先设计再编码」的习惯(分析)。
卡了会怎样:原创任务卡住,进度落后(分析)。
怎么补:伪代码先行成为固定动作(分析)——先写思路再开编辑器(分析)——五题独立完成为准(分析)。
常见挂科的六条链
作品集断档→七成半分数塌(分析);只会抄→原创任务卡死(分析);结构选错→大数据超时(分析);调试乱试→时间全耗光(分析);机考超时→独立验证失分(分析);工具链出乱→丢工作(分析)——六条都有早期信号(分析):连续两周迟交、每题先翻课件、说不出结构的时间代价、改代码不删打印也不复盘、模拟考超时、说不出如何回退上一次提交(分析)——见到信号当周处理(分析)。
留学生特别提醒
中国学生最容易在六处吃亏:英文题面读得慢、工具链没摸过、作品集拖到后期、只会照抄不会原创、机考限时写不完、辅导课讲不出设计理由。
- 每日两题英文题面,配一份变量命名词典:读题速度先补上。
- 装好环境先做五件套:建仓、提交、推送、分支、合并回滚各一次:工具链不再出乱。
- 每周固定两段编程时段,任务清单周清:作品集节点零迟交。
- 每题先写伪代码再开编辑器:从抄到写的关键动作。
- 每周一次黑屏限时机考模拟,不查资料:机考才写不完。
- 每次辅导前写三句英文设计理由卡:把口头反馈用足。
怎么准备?
准备的关键是三条:工具先通、题面先读、节奏先定。
- 读学校官网的课程说明与六条成果:先认三层结构。
- 装 IDE 与版本控制,做五件套操作:环境先通。
- 每日两题英文题面:读题速度是隐形门槛。
- 建变量命名词典:动词、名词、布尔前缀各二十个。
- 排每周两段编程时段:写进日历。
- 每题先伪代码再编码:设计先行。
- 每周一次机考模拟:限时训练。
- 每次辅导前三句设计理由:讲得清才学得深。
中英术语速查
- programming —— 编程。
- algorithm —— 算法。
- data structure —— 数据结构。
- variable —— 变量。
- type —— 类型。
- expression —— 表达式。
- control structure —— 控制结构。
- function —— 函数。
- loop —— 循环。
- conditional —— 条件语句。
- array —— 数组。
- linked list —— 链表。
- hash table —— 哈希表。
- stack —— 栈。
- queue —— 队列。
- time complexity —— 时间复杂度。
- specification —— 规格。
- requirement —— 需求。
- debugging —— 调试。
- testing —— 测试。
- documentation —— 文档。
- integrated development environment —— 集成开发环境。
- version control —— 版本控制。
- repository —— 仓库。
- commit —— 提交。
- branch —— 分支。
- merge —— 合并。
- rollback —— 回滚。
- pseudocode —— 伪代码。
- portfolio —— 作品集。
- formative feedback —— 形成性反馈。
- resit —— 补考。
关于我们
鱼之跃做在读留学生的学业支持,服务分两块,界限很清楚:
辅导=老师授课:由 QS 前 200 院校的硕博老师把课程的知识点、推导链、作业要求讲透,按对口专业配课;覆盖同步辅导、论文辅导、考前辅导、预习。
护航=你的学业管家:排计划、理材料、理流程这些杂事都替你打点好,该提前准备的他先想到;你只管学,有事随时找,需要时都在。同地区的留学学姐,熟悉你所在学校的节奏。
学术问题上的申诉,我们做材料梳理与流程陪跑,不代写、不代考、不碰学术诚信边界,也不承诺任何成绩。
课程官网与核对说明
课程官网(学校官网):https://campus.nottingham.ac.uk/psc/csprd_pub/EMPLOYEE/HRMS/c/UN_PROG_AND_MOD_EXTRACT.UN_PLN_EXTRT_FL_CP.GBL?PAGE=UN_CRS_EXT4_FPG&CAMPUS=U&TYPE=Module&YEAR=2026&TITLE=Programming%20and%20Algorithms&MODULE=COMP1005&CRSEID=017873&LINKA=%25&LINKB=COMP%25&LINKC=%25
本文涉及学校、模块代码、课程名称、学分(20.00)、层级(Level 1)、开课单位(计算机科学学院)、模块负责人(Valerio Giuffrida 与 Dr Jamie Twycross,双负责人)、学年(2026)、授课学期(秋季)、授课形态(面授)、内容说明(基本编程构造:类型与变量、表达式、控制结构、函数;简单算法与数据结构的设计与分析;软件开发方法学:文档、测试、调试、集成开发环境与版本控制)、六条学习成果、考核(作品集 75%、Examsys 现场机考 25%,机考时长 1 小时;补考为 100% 一场 Examsys 现场机考)、选课范围(仅限计算机科学学院 Level 1 学生)等事实,均来自上述学校官网课程目录;核对时间为 2026-11-03。该页对自动访问返回经验证的拦截页(实测 HTTP 200,但正文为「Campus System Requires Cookies」门户壳页、仅 4,138 B,非模块正文);链接与卡内 provenance 一致,凭 raw 存档核验通过,上线后 24 小时内补测。学习投入与每周课堂、自学的推算数字未采用;考核形态与机考时长属考核规格,照实保留。文中标「(分析)」的句子为基于官网事实的推导或判断,不代表学校官方表述;「适合谁、怎么准备」等属学习建议。本文只写课程结构、考核方式与学习方法,不含任何成绩承诺与引流信息。