格拉斯哥 COMPSCI1017《计算科学 1PX(替代路线)》:作业 40%+考试 60%
格拉斯哥 COMPSCI1017《计算科学 1PX(替代路线)》:上过计算思维导论之后决定继续学计算科学的学生,从这里从「懂概念」走到「会做软件开发」。
10 学分(半模块体量),Level 1 课程,Semester 2 开课;考核作业 40%+考试 60%,主考期在 4-5 月。
课程官网(学校官网):https://www.gla.ac.uk/coursecatalogue/course/?code=COMPSCI1017
COMPSCI1017 是一门什么课?
一句话:解题方法论、严格测试、算法分析三件套一次练上手——这是软件工程师日常判断力的雏形。
这是格拉斯哥大学(University of Glasgow)计算科学学院(School of Computing Science)的本科模块,课程代码 COMPSCI1017,英文名 Computing Science 1PX(Alternate Route),中文通译「计算科学 1PX(替代路线)」。
几条身份信息:
- 层级:Level 1(SCQF level 7)。
- 体量:10 学分(苏格兰 SCOTCAT 学分,半模块体量)。
- 场次:通常 Semester 2 开课;学术学年 2026-27。
- 选课通道:接收访问学生(Yes);无国际在线协作学习;无终身课程标记。
- 入学要求:学生应已修读 CS1CT 课程,或已通过其他路线发展出同等技能与理解。
- 排除课程:CS1P;共修要求:无。
- 学科归属:按开课学院与内容归到计算机科学(编程与算法基础方向)(分析)。
上课时间(照实):第二学期安排在周三与周五中午十二点至一点(照实)——课时少而内容密度高(分析)。
骨架是「三步加两件工具」(分析):解题方法论(计划先行、顶层细化)→ 严格测试(用测试策略抓语义错)→ 算法分析(复杂度评估)(照实);两件进阶工具是递归等高级技法与自定义数据结构(照实)——九条学习成果串成一条解题流水线(分析)。
课程简介照学校官网口径:本课程假设已具备核心计算思维技能,是为决定继续学习计算科学者设计的 CS1CT 自然后续;课程发展学生对软件开发过程要素的推理能力,包括例如算法复杂度、严格测试技术与问题求解方法论。
课程目标照学校官网口径:发展学生所需的核心计算思维技能,以理解、推理并操纵我们周围自然与人工的计算系统。
「替代路线」不只是课程名(分析):它让非标准起步的学生有一条官方通道并回计算科学主流轨道(分析)——S2 修完本课,大二即可与标准路线同学同场选课(分析)——对转专业的国际生,这是省时间的选择(分析)。
与标准编程入门课有什么不同?
入口不同:标准路线从零教编程语法;本课假设你已有计算思维技能(照实)——它直接跳到「过程」层:怎么计划、怎么测、怎么评估(分析)。
第二个差异是复杂度前置。多数入门课不碰复杂度,本课把它写成正式成果(照实,ILO 4)——这是本课最陡的坡,也是后续算法课的入口(分析)。
第三个差异是测试被当成一等公民。严格测试技术写进目标(照实)——作业要交测试文档,过程留痕计分(分析)。
第四个差异是制度功能。排除标准路线课,防止双轨重复计分(照实)——走这条路线的学生最终汇入同一主流(分析)。
考核怎么算?
两项,合计 100%。
| 口径 | 形式 | 占比 | 对应学习成果 |
|---|---|---|---|
| 作业 | 个人;解题全流程留痕 | 40% | ILO 1–3、5–9 |
| 考试 | 线下;个人 | 60% | ILO 4、7、8 等关键判断 |
| 主考期 | 4-5 月(April/May) | — | 官网明写 |
| 学分授予最低要求 | 无例外(No exceptions) | — | 官网明写 |
| 补考与重修 | 学校官网未提及 | — | 以课程规范文档或学院通知为准 |
四条结构性判断:
第一,作业走完整解题流水线,过程留痕计分。(分析)计划到测试每一步都算(分析)——只交能跑的代码不留过程痕迹,四成里会持续失血(分析)。
第二,考试考关键判断。(分析)复杂度分析、测试设计、递归是卷面主战场(分析)——这些恰恰都是练出来的,不是背出来的(分析)。
第三,S2 开课、4-5 月即考,学期即考期。(分析)没有「轻松的春天」(分析)——第 8 周起每周都要有复习动作(分析)。
第四,国际生的英语规范是隐形分。(分析)测试文档与代码注释都有书写规范(分析)——第一次作业前就要备好模板(分析)。
一处照实说明:学校官网给出两项考核的权重,未列作业件数、测试文档格式与考试题型结构(照实)——开课后以课程规范文档与课程大纲为准(分析)。
先修要求是什么?
一条技能等效门槛、一门排除、一栏空(照实):
- 入学要求:学生应已修读 CS1CT 课程,或已通过其他路线发展出同等技能与理解。
- 排除课程:CS1P。
- 共修要求:无。
准入写的是「技能等效」而不是具体课号(分析):概念地图背景或等效自学都算合格(分析)——真正的自查点是「亲手写过完整程序吗」(分析)——只懂概念没写过码,第一次作业就会暴露(分析)。
要自查的三样:
- 一次完整程序:有没有独立写过一个能跑通的完整程序。
- 一次测试经历:有没有为程序设过用例、记录过预期结果。
- 一次递归接触:有没有见过、写过递归函数。
学完能做什么?
学完你有一台「解题流水线」:计划、编码、测试、分析、加固、数据、技法、沟通。
九条预期学习成果(照实):
- ILO1 顶层计划:做出带细化的顶层计划。
- ILO2 计划到程序:把结构良好的计划转成可运行程序。
- ILO3 测试策略:部署测试策略,识别并纠正语义错误。
- ILO4 复杂度:分析程序以评估复杂度。
- ILO5 错误与事件处理:为程序增配错误与事件处理能力。
- ILO6 自定义数据结构:开发自定义数据结构作为解法的一部分。
- ILO7 高级技术:在解题中融入高级技术(如递归)。
- ILO8 标准算法:识别标准算法(如排序与查找)并有效运用。
- ILO9 表达:清晰传达对问题及其解法的理解。
九条是一条流水线(分析):计划→编码→测试→分析→加固→数据→技法→沟通(分析)——作业走全流程,考试考关键判断(分析)。
无书单(照实):课程页仅提供阅读清单链接(分析)——算法入门的复杂度与排序查找章节可作参考(分析)——练习以课程题集为准(分析)。
直接能力(分析):过程完整、测试有设计、复杂度能估、递归能用——后续算法与软件工程课程的直接地基(分析)。
去向层面(分析):软件开发岗、算法与后端方向、测试与质量职能(分析)。
一条判断(分析):这门课最值钱的是「先想数据再想代码」的次序(分析)——从问题特征推出需要什么操作,再定结构(分析)——次序对了,代码自然短(分析)。
难点与常见挂因
课时少密度高,坑集中在四处抽象:复杂度要建模不能数循环、测试要设计不能靠跑一遍、递归要信任不能脑内展开、数据结构要先想后写。
一、复杂度分析的第一次抽象
机制:学校官网把「分析程序以评估复杂度」写成正式成果(照实,ILO 4)——数循环层数不是复杂度分析(分析)。
为什么卡:递归式的复杂度、隐藏在库调用里的成本(分析)——难点在从「数循环」过渡到「建模增长趋势」(分析)——国内大一课程几乎不碰复杂度(分析)。
卡了会怎样:答题只有符号没有解释(分析)——递归复杂度推导集体卡壳(分析)。
怎么补:每个复杂度级别备一句英语解释模板,先写解释再写符号(分析)——五级全备为准(分析)——会说不等于会算,能说才算懂(分析)。
二、测试的「穷举幻觉」
机制:严格测试不是多试几组数据(照实,ILO 3)——难点在设计能暴露错误的用例集:边界值、等价类、异常路径(分析)。
为什么卡:学生的直觉测试是「跑一遍顺利就交」(分析)——语义错恰恰藏在没试的路径里(分析)。
卡了会怎样:程序能跑但漏测,扣分点全部由此而来(分析)。
怎么补:每道题强制写三类用例:边界、等价类、异常(分析)——用例命名规范:功能、边界、序号(分析)——三次作业后成型为准(分析)。
三、递归的双脑切换
机制:递归要求同时相信「递归假设」(子问题会正确解决)与盯住「基准情形」(照实,ILO 7)——入门期容易产生「脑内展开」冲动(分析)。
为什么卡:想一步步模拟递归展开必然迷路(分析)——信任式思维要刻意练(分析)。
卡了会怎样:写得出简单递归,复杂一点就崩(分析)。
怎么补:每写一个递归先写两行:基准情形是什么、递归假设是什么(分析)——五个递归题成习为准(分析)——先立假设,再看展开(分析)。
四、自定义数据结构的取舍
机制:什么时候值得为问题造一个结构(照实,ILO 6)——难点在「先想数据、再想代码」的顺序反转(分析)。
为什么卡:学生习惯拿到题就写代码,数据组织是事后补的(分析)。
卡了会怎样:代码越写越长,最后推倒重来(分析)。
怎么补:动笔前先写「需要的操作清单」,再定结构(分析)——三个问题成习为准(分析)——先想数据,代码自然短(分析)。
五、作业的过程留痕
机制:作业占四成,走完整解题流水线,过程留痕计分(照实)——只交代码不留痕迹,分数会持续失血(分析)。
为什么卡:学生习惯「交能跑的就行」(分析)——计划与测试文档认为是形式主义(分析)。
卡了会怎样:每件作业都少拿一块过程分(分析)。
怎么补:固定四件套模板:计划、代码、测试文档、复盘(分析)——每件作业都按四件套交(分析)——三件成习为准(分析)。
六、复杂度术语的英语表述
机制:增长阶、最坏情况、增长率这套词要能写进考试答案(分析)——会算不会说,答题只有符号(分析)。
为什么卡:国内大一不教复杂度,术语体系空着(分析)。
卡了会怎样:答案有符号没解释,得分打折(分析)。
怎么补:每个级别一句英语解释模板,练时先写解释再写符号(分析)——五级全备为准(分析)——术语能说出来,才算掌握(分析)。
七、测试报告的英语写作
机制:作业要交测试文档:用例、预期、结果(分析)——用例描述容易写成口语,预期结果含糊(分析)。
为什么卡:国内作业不交测试文档(分析)——没有书写范式可依(分析)。
卡了会怎样:测试做了但看起来不专业(分析)。
怎么补:用固定句式:给定什么、当做什么、则怎样(分析)——用例命名规范统一(分析)——三次作业后成型为准(分析)。
八、代码注释与沟通
机制:「清晰传达」包括代码注释与书面说明(照实,ILO 9)——注释空白或中英夹杂是常见毛病(分析)。
为什么卡:国内课程不考注释质量(分析)——学生把它当形式(分析)。
卡了会怎样:表达分丢在细节上(分析)。
怎么补:每个函数头一句英语功能注释,说明输入输出(分析)——连续五次作业注释完整为准(分析)——注释是写给别人看的,也是写给自己看的(分析)。
九、课时少、信息密度高
机制:每周两次课,内容密度高:复杂度、测试、递归、结构四块(分析)——听得懂、课后跟不上(分析)。
为什么卡:知识留存率低(分析)——国内课时有冗余(分析)。
卡了会怎样:新课没消化就要复习(分析)。
怎么补:每次课后当天做「十分钟复述」:不看材料口述要点并录下来回听(分析)——每周至少五次为准(分析)——复述是最省时间的消化法(分析)。
十、替代路线的身份定位与 4-5 月收尾
机制:替代路线学生背景异质:从计算思维导论过来,或其他路线等效进来(分析)——S2 开课、4-5 月即考(照实)。
为什么卡:同班进度感不一,自学补差无参照(分析)——新课未消化完就要进入复习(分析)——国内有完整复习期(分析)。
卡了会怎样:第一次作业就根本性卡壳(分析)——考前还有讲次没消化(分析)。
怎么补:开课第一周自查三项:写过完整程序吗、用过测试吗、见过递归吗,缺哪项定向补两周(分析)——每讲当天消化:复述加一题(分析)——第 8 周起周末半日串讲(分析)——考前两周无未消化讲次为准(分析)。
留学生特别提醒
中国学生最容易在六处吃亏:复杂度只会数循环、测试靠跑一遍、递归脑内展开、数据结构事后补、作业不留过程痕迹、英语解释写不出。
- 每个复杂度级别备一句英语解释模板:五级全备,先写解释再写符号。
- 每题强制三类用例:边界、等价类、异常,用例命名统一。
- 每个递归先写基准情形与递归假设两行:以五个题成习为准。
- 动笔前写「需要的操作清单」再定数据结构:以三个问题成习为准。
- 作业固定四件套交:计划、代码、测试文档、复盘。
- 每讲当天做十分钟复述录音:以每周五次、考前无未消化讲次为准。
怎么准备?
准备的关键是三条:先把自查三项补齐、把过程留痕当习惯、把复杂度解释练成口头禅。
- 自查三项:完整程序、测试经历、递归接触。
- 缺项定向补两周:按课程材料。
- 备复杂度五级解释模板:每级一句。
- 备用例命名规范:功能、边界、序号。
- 备四件套作业模板:计划、代码、测试、复盘。
- 练三个递归题:先写基准与假设。
- 练三道数据结构选型题:先列操作再定结构。
- 开始十分钟复述习惯:当天消化。
- 第 8 周起周末串讲:半日。
- 练英语功能注释:每函数一句。
中英术语速查
- algorithm —— 算法。
- complexity —— 复杂度。
- time complexity —— 时间复杂度。
- space complexity —— 空间复杂度。
- big-O notation —— 大 O 记法。
- growth rate —— 增长率。
- worst case —— 最坏情况。
- average case —— 平均情况。
- recursion —— 递归。
- base case —— 基准情形。
- recursive case —— 递归情形。
- iteration —— 迭代。
- data structure —— 数据结构。
- list —— 列表。
- dictionary —— 字典(映射)。
- stack —— 栈。
- queue —— 队列。
- sorting —— 排序。
- searching —— 查找。
- linear search —— 线性查找。
- binary search —— 二分查找。
- test case —— 测试用例。
- boundary value —— 边界值。
- equivalence class —— 等价类。
- semantic error —— 语义错误。
- syntax error —— 语法错误。
- exception handling —— 异常处理。
- event handling —— 事件处理。
- top-level plan —— 顶层计划。
- refinement —— 细化。
- docstring / comment —— 文档字符串/注释。
- alternate route —— 替代路线。
关于我们
鱼之跃做在读留学生的学业支持,服务分两块,界限很清楚:
辅导=老师授课:由 QS 前 200 院校的硕博老师把课程的知识点、推导链、作业要求讲透,按对口专业配课;覆盖同步辅导、论文辅导、考前辅导、预习。
护航=你的学业管家:排计划、理材料、理流程这些杂事都替你打点好,该提前准备的他先想到;你只管学,有事随时找,需要时都在。同地区的留学学姐,熟悉你所在学校的节奏。
学术问题上的申诉,我们做材料梳理与流程陪跑,不代写、不代考、不碰学术诚信边界,也不承诺任何成绩。
课程官网与核对说明
课程官网(学校官网):https://www.gla.ac.uk/coursecatalogue/course/?code=COMPSCI1017
本文涉及学校、开课学院(计算科学学院)、模块代码、课程名称、学分(10 苏格兰 SCOTCAT 学分,半模块体量)、层级(Level 1/SCQF 7)、场次(Semester 2)、学术学年、访学生通道(接收)、课程简述原句要点(假设已具备核心计算思维技能/为决定继续学习计算科学者设计的 CS1CT 自然后续/发展对软件开发过程要素的推理能力,包括算法复杂度、严格测试技术与问题求解方法论)、课程目标(发展理解、推理并操纵自然与人工计算系统所需的核心计算思维技能)、九条预期学习成果、考核(作业 40%;考试 60%;主考期 4-5 月;学分授予最低要求「无例外」)、入学要求(应已修读 CS1CT 课程,或已通过其他路线发展出同等技能与理解;排除课程 CS1P;共修要求无)、教与学安排(第二学期安排在周三与周五中午十二点至一点)、书单与资源未提及(仅提供阅读清单链接)、补考与重修未提及(以课程规范文档或学院通知为准)、学习投入的具体数字属未采用口径等事实,均来自上述学校官网课程目录页;核对时间为 2026-11-01。文中标「(分析)」的句子为基于官网事实的推导或判断,不代表学校官方表述。