为了冰墩墩摸鱼的时候来写一写。熟悉我的人应该知道我是 System Track 所以下面评价有非常鲜明的个人倾向,另外下面这些课我基本都没有去过线下(甚至recording可能都没看过多少),所以有些细节问题我也不清楚。
我会从内容、难度、给分三个角度来说。
Information Security Lab
内容上主要是写代码解决一些问题,HS21是Elliptic Curve、TLS、Cryptographic Reductions、TEE、Software Security、DDoS这几个部分。具体来说
- Elliptic Curve:我倒数喜欢的crypto,主要是实现基础椭圆曲线,意外的很友好,看PPT完事。
- TLS实现:我前几喜欢的Network,但是最垃圾的Lab之一,要求实现一个简易TLS协议,示例代码不仅出了很多纰漏,描述也不清不楚,工作量大,性价比最低。
- Cryptographic Reductions:倒数喜欢的crypto+1,说白了就是做数学题,很多题具有脑筋急转弯的性质。
- TEE:个人觉得非常无聊的Lab,我不知道这些东西和TEE有什么联系,如果TEE就是做这些事情的话也太简单了,但是比较简单划水的一期。
- Software Security:简单来说就是打CTF Pwn,如果打过比赛的话难度基本为0,不然的话会很吃力。
- DDoS:出于个人时间原因我跳过了,所以不评价,但是我简单扫了一眼pdf感觉还凑活,相比前5个Lab最大的优势是有即时反馈,并且保证分数不低于反馈分数。简单来说是ACM和OI的区别,大大降低了心理压力。
整体难度中等,但是非常消耗时间,每两周一个DDL。给分的话我觉得只要时间花到了及格问题不大。
Hardware Security
噔 噔 咚!
内容上介绍了近些年来CPU和Memory相关的攻击实现,比如RowHammer,Meltdown这些。教授本身就是做这个方面的前沿所以讲起来非常ok,是我这学期lecture出勤次数最多的课,也是我目前最喜欢的课。
难度上比较高,形式是前半个学期每周一次DDL实现attack,后半个学期两周一次Project,最后两周做开放式Research,和ISL一起选的下场就是每周都有至少一个大DDL,如果System比较吃力的同学不要像我一样作死。
给分总评全班最低分是5.0,根据某个同学的说法,可能是过于Push自动筛选掉了不能拿5.0的学生(笑)。
附图是代码量
Concepts of Object Oriented Programming
这门课是纯网课,比较羞愧的是我一学期没有学过一分钟,考试前几天速通,但是非常非常意外的是这是一门非常优秀的课!一方面教授很好的把复杂的概念用非常清楚的逻辑还有适当的例子讲了出来,另一方面这门课很好的阐释了OOP的Why,比如我写了很多C++,这是我第一次思考我在做inheritance的时候是在干什么。
难度我觉得适中,比较偏理论,如果对C++、Java、Python、Scala、C#中至少三门熟悉的话上起来会比较轻松,不然的话会浪费很多时间复习语言特性。
原来有期中考试加分,现在疫情只有一次期末考试了,考题有点难,出分了可能回来更新。
Advanced Topics in Communication Networks
主要是讲 MPLS 和 Traffic Engineering,搞 homelab 的垃圾佬应该会喜欢听,是我去过好几节线下的课。Project 主要是写 P4 搞 SDN,简单来说就是给交换机编程实现课程上讲的网络协议,去年的课程是 FRR + P4 + OSPF 明显有趣一些,不知道为什么把 FRR 和 OSPF 砍了。
难度的话需要对 network 有一定基础才能比较快乐,比如如果连 OSPF 和 BGP 的区别都反应不过来那我不建议选这门。
给分的话 Project 给分最低分是 5.25,但是期末考试一言难尽,出分了可能回来更新。
Reliable and Trustworthy Artificial Intelligence
是我更讨厌的 AI ,为了混学分选的。内容主要是讲Adversary attack和对应的Verification,全都是这个教授自己的研究成果,其实还是挺有趣的,但是我个人觉得讲的过于简略,想完全搞懂需要去读他的论文。另外有部分分数来自Project,主要是实现他课上的算法,比较有趣。
难度的话我觉得主要来源于老师讲的不太清晰,可能有基础的同学会更加轻松,至少我非常吃力。
给分是30%的Project和70%的期末,考试实在太痛苦了sad,出分可能回来更新。
都看到这里的点个赞呗。:)