CourseBench Logo

编译原理

CS131 | 4 学分 | 8 评论
开课单位:

信息科学与技术学院

Ratings & Reviews

3.3

/5
多半差评

8 人评分

5

4

4

3

3

2

1

1

课程质量

很好

作业用时

4-8h

考核难度

适中

给分情况

较好
排序和筛选

20142026

宋富 (7)

其他 (0)

陈浩贤 (1)

王雯婕, 陈浩贤 (0)

A

Astinita

2023 级本科生
2025/01/22 10:09
2025/01/22 10:04
你校最好的函数式编程课程,workload 较小的专业课

2024 年 秋学期

陈浩贤

课程质量
较好
作业用时
4-8h
考核难度
简单
给分情况
较好

没有别的课程用 FP 所以这就是最好的 FP 课,很合理。

TL; DR:

课程网站:https://faculty.sist.shanghaitech.edu.cn/cs131/index.html


H

HenryZ16

2022 级本科生
2024/07/10 14:45
2023/06/19 03:07
一分耕耘,一分收获

2023 年 春学期

宋富

课程质量
很好
作业用时
>8h
考核难度
偏易
给分情况
较好

20240710 更:

秋学期陈浩贤老师会接手编译原理,但是课程设计会与宋富老师的有很大差别。陈老师会采用宾大的课程设计。根据我的观察,它很有可能是:

  • bottom up 的学习路径:你将从一个 x86lite Assembler 开始,一直往上做,直到完成一个 OCaml 编译器

Y

Yewandou

2020 级
2022/12/17 11:54
2022/12/17 11:54
慎选chocopy的Proj

2022 年 春学期

宋富

课程质量
很好
作业用时
>8h
考核难度
适中
给分情况
较好

22 spring 的时候 Project 还是 cool 和 chocopy 二选一,chocopy 是你校换语言魔改的全新 Proj,可能是 22 年才有的 Proj,没有参考代码可查,做起来代码量极其巨大。本人计网 CG 和编译原理都修过了,感觉三者的代码量是旗鼓相当的(你校最累的课之一了)。

另一方面这门课是要听课的,宋老师上课会点人 quiz,如果不听课很难跟上,自学难度也极高。宋老师感觉人很 nice,但学不明白就是学不明白。

至于学这门课的收获大概就是能够知道编译器在干什么,虽然说其实也只是一个泛泛的入门,而且将来大概率也不会真的去做这些编译器在做的事情,但其实感觉学了这些东西才有一种在学计算机科学的感觉。


E

Ericoolen

2018 级本科生
2022/10/31 21:44
2022/10/31 21:44
U need a compiler course!

2018 年 春学期

宋富

课程质量
很好
作业用时
>8h
考核难度
偏易
给分情况
较好

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?


?

匿名用户

2022/10/25 02:21
2022/10/25 02:21
看龙书就行

2021 年 秋学期

宋富

课程质量
一般
作业用时
4-8h
考核难度
适中
给分情况
一般

得分:a- 期中成绩:高均分 20 期末成绩:未公布 总体给分情况:比较严格


s

sakria9

2021 级本科生
2022/10/02 08:58
2022/10/02 08:58
推荐有能力的大一同学修读

2021 年 春学期

宋富

课程质量
很好
作业用时
4-8h
考核难度
适中
给分情况
很好

2021 春学期。ChocoPy workload 约为两个人一万行代码,给的代码也有锅,比较折磨,期待未来助教改进。作业分四次,第一次是单人作业,写 Code->AST;之后三次作业都是两人组队,第二次是 Type Checking,第三次是 AST->LLVM IR,第四次是 LLVM IR->Assembly,有多的时间可以写点代码优化。给分大概不会 curve,写完所有好像就能 A,比较友好。还有四次 Writing Assignments,不是很困难。

大一下学期会获得第一次自由选课机会,这门课不会和大一推荐修读课程冲突,上课时间是下午,比较友好。做的工作大概就是字符串处理,对着文档和 godbolt 抄抄就行,除了需要熟悉基本算法,没啥前置知识要求,但是可能会牺牲一些学习数学分析的时间。

会讲正则表达式、自动机、文法、LL、LR、SLR、LALR,个人感觉 Parsing 比较无聊,但是可能本科生只有这门课会讲自动机相关内容。


C

Clarive

2021 级本科生
2022/10/01 23:38
2022/10/01 23:38
不错的一门课

2022 年 春学期

宋富

课程质量
很好
作业用时
4-8h
考核难度
较难
给分情况
较好

尽管课程难度很大,但如果认真跟下来的话能学到许多


Winlere

2021 级本科生
2022/10/01 05:04
2022/10/01 05:04
是男人就来修编译原理

2022 年 春学期

宋富

课程质量
较好
作业用时
>8h
考核难度
很难
给分情况
一般

授课内容主要是编译的原理 (废话),课程比较偏理论,先是讲自动机和形式语言 (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 时间到了。