程序设计语言基础(张昱) 2019春 2018春  课程号:01116701
2019春 2018春  课程号:01116701
7.0(2人评价)
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业选修   学分:3.5
课程主页:暂无(如果你知道,劳烦告诉我们!)
排序 学期

评分 评分 2条点评

Lotdhh 2019春
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

冯新宇老师去南大了,现在只有张昱老师在上,课程内容和boj的评价https://icourse.club/course/5163/ 有很大的差别。这学期的实验有三个:

  1. 使用Lua实现序列化和反序列化,然后在实现个RPC库。
  2. 完成Software Foundations中Lists那一章https://softwarefoundations.cis.upenn.edu/lf-current/Lists.html的所有练习。
  3. 使用Ocaml完成特定语法的类型检查和解释器。

实验是三人组队的,但是队员由助教随机安排。

教学内容可以在课程主页上看到http://staff.ustc.edu.cn/~yuzhang/fopl/。没有Haskell!!!

上课涉及到很多东西,但是基本都是浅尝辄止,个人感觉干货很少,因为讲的东西此前或多或少都有所了解了。感觉有时候是老师讲不了而不是故意只是稍微提一下,举个例子,再讲C++的week_ptr的用途的时候,老师提到了树,然后停顿了一下就没继续讲了,然后就说课上只是点一下课后还是需要同学们自己去了解之类的话。


同编译H一样,开学两周以各种劝退为主,一开始选课的人数有76人,两周过后只剩下27人,到了后面还有不少同学动用两次退课机会退课的。

感觉这学期在实验方面做得很差:

第一,这门课也跟上学期编译H一样弄所谓的科研探索,但是课题都是上学期编译H弄的那些课题,跟程序设计语言关系不大,有让学生给她打工的嫌疑。

第二,说是不想让课程实验占用太多时间,能够把时间放在科研探索以及不挤压其它课程的时间,所以实验采用小组合作的形式。但是在助教面对面检查的时候,他会问一个同学另一个同学负责的部分的问题,还说什么如果只了解自己负责的部分还不如不组队每个人单独写。这么搞组队的意义何在???所以后面我们组就决定每个人独立完成了,貌似很多组都是如此。

第三,实验仓库直接用去年的实验仓库,好懒啊。第三个实验参考程序没法跑助教和老师事先都不知道,后面很多人都反映后才重视起来,到了DDL前一天才通过Docker镜像来解决

 

2 1 复制链接
USTC学渣和fxy的课件相比,确实干货少不少,而且对概念的举例解释也少。
立即登录,说说你的看法
lwoo 2019春
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

我自学过 haskell 和 agda。然后对 plt 十分感兴趣,所以选了这课,但是比较失望。我看了陈意云老师和张昱老师写的书《程序设计语言理论》,但这门课所讲的内容相比那本书浅太多了,上课内容基本是科普。

几次编程作业也比较简单,第一次是用 lua 写 rpc,大概一两百行?第二次是用 coq 写证明,就是 logical foundation 的 Working with Structured Data,算是 coq 基础,第三次是用 ocaml 实现一个带多态和 adt 的 stlc,听起来似乎挺难,但其实程序框架都搭好了,所有的相继式都写在文档里了,照着抄就好,唯一麻烦的是 ocaml 配环境hhh。这课其实还教 rust,但讲课也很浅,作业也干脆没有布置。另外不得不说的是这门课的课设,课题有量子计算,权限管理,智能家居之类的,感觉和 pl 没有太大关系,但分数占比很大,也十分耗时间。

张老师有次上课吐槽她的一个研究生,不愿意做具体项目,只想搞理论,感觉她现在做的东西都很工科,想做 pl 还是去南大找冯老师吧,虽然我也不大清楚冯老师的情况hhh

0 2 复制链接
Lotdhh是software foundation
lwoo回复 @Lotdhh: emmm, software foundation 的第一卷是叫 logical foundation 呀。。
立即登录,说说你的看法

张昱

教师主页: 戳这里

其他老师的「程序设计语言基础」课

冯新宇, 张昱 10.0 (1) 2013春
冯新宇, 梁红瑾 10.0 (1) 2016春
冯新宇 8.0 (1) 2015春 2014春

张昱老师的其他课

程序设计语言基础 10.0 (1) 2013春
量子软件前沿 10.0 (1) 2023秋 2022秋...
编译原理和技术(H) 8.0 (36) 2023秋 2022秋...
量子软件前沿 9.0 (1) 2019秋
程序设计语言理论 8.0 (1) 2020春 2018秋...
程序语言设计与程序分析 6.0 (4) 2024春 2023春...
编译原理和技术 6.5 (11) 2021秋 2012春
编译原理(H) 5.2 (4) 2023秋
量子软件前沿 2020秋 2019秋
编译原理和技术 2010春 2009春...
数据结构 2009秋 2008秋...
数据结构与数据库 2007春 2005春...
编译原理 2017秋 2016秋...
“科学与社会”研讨课 2022春 2021秋...