排序和筛选
宋富 (7)
其他 (0)
陈浩贤 (1)
王雯婕, 陈浩贤 (0)
你校最好的函数式编程课程,workload 较小的专业课
2024 年 秋学期
陈浩贤
没有别的课程用 FP 所以这就是最好的 FP 课,很合理。
TL; DR:
课程网站:https://faculty.sist.shanghaitech.edu.cn/cs131/index.html
慎选chocopy的Proj
2022 年 春学期
宋富
22 spring 的时候 Project 还是 cool 和 chocopy 二选一,chocopy 是你校换语言魔改的全新 Proj,可能是 22 年才有的 Proj,没有参考代码可查,做起来代码量极其巨大。本人计网 CG 和编译原理都修过了,感觉三者的代码量是旗鼓相当的(你校最累的课之一了)。
另一方面这门课是要听课的,宋老师上课会点人 quiz,如果不听课很难跟上,自学难度也极高。宋老师感觉人很 nice,但学不明白就是学不明白。
至于学这门课的收获大概就是能够知道编译器在干什么,虽然说其实也只是一个泛泛的入门,而且将来大概率也不会真的去做这些编译器在做的事情,但其实感觉学了这些东西才有一种在学计算机科学的感觉。
U need a compiler course!
2018 年 春学期
宋富
The course project has migrated from cool to ChocoPy which is way better! Prof. Song is very strict in attendance and there is always an in-class quiz. But the compiler is interesting and TA. Yang is really pretty, isn't she?
匿名用户
看龙书就行
2021 年 秋学期
宋富
得分:a- 期中成绩:高均分 20 期末成绩:未公布 总体给分情况:比较严格
推荐有能力的大一同学修读
2021 年 春学期
宋富
2021 春学期。ChocoPy workload 约为两个人一万行代码,给的代码也有锅,比较折磨,期待未来助教改进。作业分四次,第一次是单人作业,写 Code->AST;之后三次作业都是两人组队,第二次是 Type Checking,第三次是 AST->LLVM IR,第四次是 LLVM IR->Assembly,有多的时间可以写点代码优化。给分大概不会 curve,写完所有好像就能 A,比较友好。还有四次 Writing Assignments,不是很困难。
大一下学期会获得第一次自由选课机会,这门课不会和大一推荐修读课程冲突,上课时间是下午,比较友好。做的工作大概就是字符串处理,对着文档和 godbolt 抄抄就行,除了需要熟悉基本算法,没啥前置知识要求,但是可能会牺牲一些学习数学分析的时间。
会讲正则表达式、自动机、文法、LL、LR、SLR、LALR,个人感觉 Parsing 比较无聊,但是可能本科生只有这门课会讲自动机相关内容。
是男人就来修编译原理
2022 年 春学期
宋富
授课内容主要是编译的原理 (废话),课程比较偏理论,先是讲自动机和形式语言 (LL LR LALR 等),然后讲一些关于中间表示形式的一些,最后是 stack model + 一些垃圾回收 + 一些优化的东西。 Project 是 Chocopy to Excutive,Flex + Bison -> syntax parser/symbol table/type checking -> llvm ir -> risc-v 四个部分,对一个大一的小萌新来说真的挺折磨的,啥都不会啥都现场学习,project 总量 1w + 行 (CPP),要不是碰上疫情取消了期末考试 & 助教拼了老命捞我,不然铁定挂科了。最后被送了个 A 给我,感动。 PA 的形式改成最后统一一个 DDL 交了。 这个课真的很肝,保守估计我的一个学期下来总投入时间超过 400h (144 + 2015 + 4*15 ),而且感觉只学到皮毛,那些听说的 optimization 技巧以及论文我都没有去读,就算这样期末周我其他科目可谓是一点也没复习因为 Project 时间到了。