Computer Science Dissertation和很多同学想象中的“长一点的essay”其实不是一回事。


尤其是Software Engineering、AI、Data Science、Cyber Security或者其他Computing方向,最后交上去的往往不只是文字。你可能还需要Software Prototype、Model、Dataset、Experiment、Testing结果甚至完整Repository。
我见过不少计算机同学前几个月一直埋头写代码,到了最后才突然发现:程序跑得起来,不等于Dissertation就一定拿高分。
因为Marker真正想看的通常是:你解决了什么问题、为什么采用这个Approach、具体实现了什么、怎么证明它有效,以及你能不能批判性评价自己的结果。
Computer Science Dissertation最关键的一条:
“能运行”只是Implementation的一部分;高质量Dissertation还要说明为什么这样设计、怎样Evaluation,以及Evidence是否真正支持你的Claims。
Computer Science的Topic很容易写得特别宽。
比如:
Artificial Intelligence for Healthcare
听起来很厉害,但真正开始做Project以后会马上遇到几个问题:
到底是Classification还是Prediction?用什么Dataset?和什么Baseline比较?Success Criteria是什么?
更合适的research Question可能是:
Can a machine-learning model improve classification accuracy for X dataset compared with a logistic regression baseline?
| 需要明确 | Computer Science Project里意味着什么 |
|---|---|
| Problem | 到底解决哪个Technical或Research Problem? |
| Deliverable | Software、Model、System、Experiment还是Formal Analysis? |
| Baseline | 和什么Existing Method比较? |
| Success Criteria | 怎样证明Project成功? |
计算机Dissertation的Literature Review很容易写成技术百科:
Python是什么、Machine Learning是什么、CNN是什么、Cloud Computing是什么……
这些内容不是完全没用,但真正应该回答的是:
别人已经怎样解决这个Problem?用了什么Method?效果怎样?还有什么Limitations?为什么你的Project仍然值得做?
也就是说,Literature Review最后应该自然走向:
Existing approaches
↓
Strengths and weaknesses
↓
Unresolved problem / limitation
↓
Your proposed approach
如果删掉所有作者名字以后,Literature Review只剩一堆Technology定义,通常还不够。
Computer Science Dissertation里Implementation通常非常重要。
但Implementation Chapter不是把GitHub代码复制二十页进去。
真正应该解释:
System Architecture怎么设计?为什么选择这个Framework?Data Pipeline怎么处理?为什么使用这个Algorithm?遇到了哪些Technical Problem?最后怎么解决?
Cambridge当前Computer Science项目指导也明确强调Implementation要说明实际产出的Program、Hardware或Theory,并解释Design Strategy和Software Engineering Approach。
| 弱写法 | 更好的写法 |
|---|---|
| “I used Python.” | 解释为什么Python及相关library适合当前任务 |
| 大量贴Code | 用Architecture Diagram、Pseudo-code和关键片段解释设计 |
| 只展示最终版本 | 解释关键Design Decision、Failure和Iteration |
我觉得Computer Science Dissertation最容易被低估的一章就是Evaluation。
很多同学花三个月做系统,最后Evaluation只写:
“The system worked successfully.”
这句话基本不能证明什么。
评价必须回到Success Criteria。
Cambridge项目指导特别强调,Evaluation的任务就是提供Evidence说明Project达到原始目标的程度;可以使用Performance Measurement、Correctness Testing、Human-subject Experiment、Baseline Comparison等不同方式。
| Project类型 | Evaluation可以看什么 |
|---|---|
| Machine Learning | Accuracy、F1、ROC、Baseline Comparison |
| Software System | Functional Testing、Performance、Usability |
| Algorithm | Runtime、Complexity、Correctness、Comparison |
| Security Project | Attack Scenario、Detection Rate、False Positive |
| HCI | User Study、Task Success、Usability Feedback |
CS论文很容易有很多漂亮Chart:
Accuracy图、Loss Curve、Latency Chart、Confusion Matrix、Benchmark Table。
但图本身不会替你做Analysis。
Results之后要继续追问:
为什么Method A比Method B好?
这个差异有多大?
不同Dataset下结果稳定吗?
有没有Trade-off?
有没有Unexpected Result?
如果结果没有达到预期,也不要硬说成功。
好的Dissertation反而会诚实解释Limitations、失败原因和下一步怎么改。Cambridge的高分Evaluation标准也强调Critical Interpretation和Future Work,而不是只展示成功结果。
Computer Science Project的Originality不一定意味着你必须发明全世界从未出现过的算法。
Master’s Project的Contribution可能是:
实现并比较多个Existing Methods;
将某方法应用到新的Dataset或Problem;
设计一个更完整的System;
改进Performance或Usability;
通过Experiment得到新的Evidence;
复现并批判性评估已有工作。
St Andrews也明确说明,本科或Master’s CS项目并不要求达到PhD那种推动State of the Art的程度,但仍然应该足够有挑战性,并展示学生把Computing Skills用于复杂问题的能力。
所以Conclusion里最好明确说:
What exactly did this project contribute?
语言当然重要,但如果Project Evaluation很薄,单纯把英文润色得非常漂亮也救不了Technical Content。
提交前我更建议按下面顺序检查:
<td style="padding:10px;border:1px
| 优先级 | 检查重点 |
|---|---|
| 1 | Problem、Aim、Success Criteria是否一致 |
| 2 |