Week 6
Project 1 (Haskell)
15%
函数式编程项目 (如纸牌游戏逻辑)
COMP30020
课程定位 COMP30020(Declarative Programming)是墨尔本大学计算机科学方向的研究生课程,定位在理论框架、方法工具与真实场景应用的结合。课程面向希望进入研究、咨询、产品、分析或管理岗位的学习者,强调把课堂知识转化为可解释、可落地的决策支持。它通常可衔接后续 capstone、研究项目或行业实践。 技术栈与学习内容 学习内容通常覆盖该学科的核心理论、分析方法、案例推演与实务沟通能力。你需要在作业与项目中完成问题定义、方法选择、证据组织、结论表达与风险边界说明,重点是建立完整论证链路,而不是只追求单点结论。对于计算机科学方向课程,老师通常更重视你如何把模型或框架解释清楚,并将其与具体场景建立一一对应关系。 课程结构 一般按 12-13 周推进:前段搭建基础框架,中段进入高密度作业与案例分析,后段进行综合整合与期末评估。常见考核由 Quiz/Workshop、2 次作业或项目、期末评估组成。即便没有明确 Hurdle,评分也会关注关键能力是否稳定达标。课程后半段通常会出现多任务并行,提前拆解任务与里程碑是稳定发挥的关键。 适合人群 适合希望在计算机科学方向深入发展的硕士同学。建议每周投入 10-14 小时,按“预习-实践-复盘”节奏推进。课程难点在于多任务并行与高质量表达;能稳定执行周计划并及时复盘的人,后期表现通常更稳。若你目标是 HD,建议从学期初就维护“错因与改进清单”,把反馈转化为下一轮可执行动作。
Course decision
先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。
考核总权重
100%
3 项考核
最高单项
70%
Final Exam
期末考试
有
以官方 outline 为准
Hurdle
1 项
需要单独满足
Deadline map
按截止周排列作业节点;持续考核会保留在下方完整考核结构中。
Week 6
15%
函数式编程项目 (如纸牌游戏逻辑)
Week 11
15%
逻辑编程项目 (如解谜求解器)
Week 13
70%
手写代码与理论分析
Syllabus
默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。
基本语法,列表操作,函数定义
静态类型系统,Typeclasses
Map, Filter, Fold, 柯里化 (Currying)
自定义类型,模式匹配,Maybe/Either
事实,规则,查询,合一 (Unification)
递归规则,列表处理,剪枝 (Cut)
在 Prolog 中实现状态空间搜索
Monads (IO, Maybe), 函子 (Functors)
无限列表,Thunks,性能分析
解析器组合子 (Parsec), 约束求解
Assessment
Project 1 (Haskell)
函数式编程项目 (如纸牌游戏逻辑)
Week 6
Project 2 (Prolog)
逻辑编程项目 (如解谜求解器)
Week 11
Final ExamHurdle
手写代码与理论分析
项目需及格 (15/30),考试需及格 (35/70)
Week 13
Assignments
使用 Haskell 实现一个复杂逻辑的游戏状态机,要求代码极致简洁,大量使用高阶函数
重点: 函数式思维, 递归
要求:禁止使用可变状态,代码需通过自动测试套件
⏱ 预计 25 小时
From Seniors
基础信息谁都查得到,真正值钱的是过来人的经验。
比你早一年的学长留下的真实经验 —— ChatGPT 给不了。
这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。
这门课暂无往年考点记录。
下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。
统计自 317 份脱敏校友证言
岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer
岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer
岗位:Full-stack Developer · Data Engineer · Consultant
关于这块数据,我们说实话
雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。