> For the complete documentation index, see [llms.txt](https://yurensun.gitbook.io/blogs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yurensun.gitbook.io/blogs/hao-hao-xue-xi/ben-ke-ke-cheng-uw-madison/2020-spring.md).

# 2020 Spring

## Comp Sci 577 - Introduction To Algorithms

**Prof:** Shuchi Chawla 和 Christos Tzamos

**材料：**

书： Algorithm - Jeff Erickson， 是可以免费下载pdf的

讲义：Shuchi会把讲义的草稿在课前发到Canvas，把完整版的讲义在课后发。Christos会把PPT放在Canvas

视频：Shuchi课后会把这节课的录屏发到Canvas上。

**上课方式：**

这节课两个教授教的内容和进度是一样的，可以两个section换着听。我在的section是Shuchi的，她是使用课前发的草稿，用Notability投屏讲课。同时这节课另外一个教授，就是Christos，他是根据发到Canvas的PPT讲课。 这节课比别的课还多一些Study Groups可以选择去。就是有Peer Mentor，也有TA教的，就是每一个主题都有一些Review Questions然后大家一起去做题，听讲题这样。 在切换到网上授课之后，他们是先把本周的课程录屏然后发在Canvas，之后在周四会有一个一小时的Mini Lecture来稍微解释一下，接在这个之后有一个答疑时间。Discussion的话也是差不多的形式。所有的互动内容，包括Office Hour和Study Group都在Google Hangout上。 整节课不记出勤，但是Lecture还是得去或者视频还是得看，不然会有点懵。

**Workload:**

刚开始的时候觉得挺大的，毕竟算法很难，但是后来慢慢习惯就稍微好一些。我觉得占用的时间还是挺多的，就lecture，distuccion，study group加起来会有4个小时多。并且还有整理笔记或者再理解内容，做作业这样。 作业的话是每周一个，是纯的算法题，不用写代码（考试也是纯的算法题）需要花的时间不确定。是属于那种，想出来就可，想不出来就要好久好久的那种。到后来上网课之后有觉得题目变简单也不知道是不是真的这样还是因为切换到网课了老师稍微放了水。 考试的话设定是两个期中一个期末，都是两小时三道算法题，时间挺紧的。但是因为疫情的关系，第二个期中取消了，Final变成Take Home然后有五天可以做，但是觉得有题目很难，如果Final同样的难度，给我两小时的话我估计就没了。

**感受：** 这节课是挺难的，毕竟是算法。。。内容关于Divide & Conquer, Dynamic Programing, Graphs, Greedy, Randomized Algo, Network Flow, Reductions。 但是我会觉得能利用的资源很多，比如说shuchi上传的课程录屏和各种study groups，TA和Peer mentor还有一对一的教学（不过这个要抢，我也没去过，但是据说很有用）好好利用好好学的话就会觉得还可以苟过去。 而且它的A线不是很高，开学说85以上是A，然后最后说最多80分就有A，可能更低。 我觉得上网课之后这个课没有刚开学那么难了，一个是作业的占比大了，然后考试取消了一个，Final变成在家做5天。 教学的话我觉得Shuchi教得更好一些，讲得比较清楚，听朋友说别的学期Dieter教得也很好，但是听Christos的录屏课觉得讲得不是很清楚。

## Comp Sci 564 - Database Management Systems: Design And Implementation

**Prof:** Paris Koutris

**材料：** 书：Database management system by Ramakrishnan and Gerhke 网上有pdf版本的。 讲义：教授会把每节课的PPT和用到的Jupyter Notebook发在Canvas上。

**上课方式：** 周一周三的讲座是根据PPT上课，周五有时候是讲题目，有时候周一周三没讲完就接着讲，也有时候就没课。 改网课之后变成了在BB Collaborate上面上课，也用了它自带的recording所以可以回放

**Workload:**

感觉适中？因为这节课他平时的作业和Project不多，一个学期一共三个作业和三个Projects（有点温水煮青蛙的感觉）。作业的话前两个主要是SQL, Relational Algebra, 和Dependencies 这些，最后一个是关于Indexing，relational operators，和query optimization。题目都不太难。 然后Projects我记得第一个主要是ER Model Design然后是用python读json存数据（差不多就是设计数据库如何储存数据并且把数据存进去这样），后面一个是写一个buffer，最后写一个B+ Tree，最后一个比较麻烦一些。

Projects的话是组队做的，开学的时候就定小组，所以建议说找好小组再一起上，找不到的话是随机分，就很看运气了。 考试的话设定是一个期中，然后期末，其中是in class的，期末现在变成网上考了。考试的话是可以带一张两面都可以写的Cheat Sheet，所以就内容理解了，计算公式或者一些概念抄上去就不用背。Final在上网课之后是在Canvas考两小时10分钟的Quiz（给10分钟解决网络问题）我会觉得和带Cheat Sheet去考场考区别不大，不过不用抄好久Cheat Sheet也挺好。 会给前几年的考试卷来练习，Review也是讲那上面的题目或者学生问问题。

**感受:** 这节课对我来说，变成了平时正常上课，上完课不太管它，然后到了作业，project，或者考试前再来学了的那种，所以挺像温水煮青蛙，真的用起来要从头学ummmm。 难度的话会觉得前面很多都还行，到了最后一块的Relational Operators和Query Optimization这里计算不同情况下的I/Os 有点搞，上课也没有说得特别清楚。总体还可以。 我觉得这个教授没有想像中的好，看Rate My Professor上面说他改进了很多，但是还是会有点读PPT的感觉，有一些比较细节的内容没有说得很清楚。

## Econ 521 - Game Theory And Economic Analysis

**Prof:** David Hansen

**材料：** 书：Games of Strategy by Dixit, Skeath, and Riley 教授会把Handouts传到canvas

**上课方式：** 是在纸上写然后投影，大多是讲概念，举例子，根据概念解释怎么解例子。 改成网课之后是放到前年的上课录屏，内容一模一样lol。 Discussion是会发Handout然后也有例题，属于过一遍概念然后做题讲题这种。变网课之后在Zoom上。

**Workload:**

适中吧，但是作业要写很多。写出来大概在9页Notability左右的样子？ 我感觉Game Theory是属于那种知道incentives然后跟着这个就比较好解题。就是理解了之后做题就很直接，但是有时候也会遇到没有讲过的情况，但是可以慢慢推或者问TA或者教授。 这个课是每周一个作业，然后是题量不少，主要是因为要各种解释，所以要写很多，到后半段也有一些比较绕的题目会花一些时间。

有Discussion，但是不记出勤，我觉得Discussion好的是会帮你把概念过一遍，就会理解地更加清楚。 考试的话是两个期中，一个期末。然后设定是两个期中都是inclass然后闭卷的，第二个的话，在网课了之后就是在Canvas，到点发卷子，开卷考，然后多一刻钟给上传和网络问题这种。Final是给了一天可以做，也是差不多Canvas到点发卷子，然后上传。（有趣的是，第二个考试的时候，一开始教授忘记把卷子传上去了，然后大家一脸蒙逼）会觉得第二个考试的题目稍微比去年的难了一点（虽然教授说这门课开卷闭卷没区别），final也是。但是总体还行

**感受：**

教授讲得是不错的，挺有条理，而且课程挺有趣，有时候也会给一些小视频或者网上的有趣的资料。有一点不好是有些点会过得很快，比较模糊，这一点在后半段上网课的时候还是有点让人头疼的。但是去看看书或者讲义理解一下就好了，问题不大。 我会觉得总体上来说博弈论没有CS的课让人头大，而且很有趣。就我上到现在会觉得很多经济的课就是知道怎么推导，理解内容之后就比较直接了当。

## Math 421 - The Theory Of Single Variable Calculus

**Prof:** Matthew Schrecker

**材料：** Calculus by Michael Spivak, 4th edition.

**上课方式：** 常规是写黑板，然后上网课了之后用Notability写然后录屏。

**Workload:** 感觉还行。 作业是一周一个，大概7道左右的证明题，后半学期会难一些，大概写2-3个小时？写出来长度大概在8页Notability这样。 设定是两个一小时的期中一个期末，都是闭卷的。设定的考试是有大概百分之20是概念题，就是默概念或者证明上课时候讲的对理论的证明，剩下的就是证明题，毕竟421就是讲数学证明，只不过每个学期的主题不太一样。 改网课之后第二个期中和期末改成开卷的了，但是其实区别不大（因为要会证明还是得知道概念和理论），然后概念题没有了，全程证明，期中多给了10分钟，期末多给了45分钟。会觉得时间依然是挺赶的，毕竟是证明题，而且要比较注意细节。考前会给练习题，但是不给答案。有review lecture会过一遍概念，然后说一下题目但是大部分都不讲。挺好的是Review的时候说的和考试都很相关。

**感受：**

我会觉得这个课难度还行，但是我有同学觉得这节课很难，一个是可能和我上学期上了525这学期再421有关系？而且这节课证明会比较扣细节，所以可能就很容易被扣分。还有一个是我觉得这个教授的课可能比别的教授简单一些？比如我有同学上学期上的，他们的主题是实分析，会比我们这个难，而且他们那学期的教授A线也高一些。 我觉得这个教授讲得挺清楚的，条理也很清晰，就是会和书上的顺序有一点不一样。他是个英国人所以口音听起来也很舒服，不好的就是字真的是有点难辨认，但是看久了还好，而且说得清楚所以听写也不错。

## Art 107 - Introduction To Digital Forms

**Prof:** Meg Mitchell

**材料：** 如果有PPT的话就会发在Canvas上面，还有一些软件教程之类的都会发

**上课方式：** 讲座是根据PPT上课，或者做软件用法Demo。 Lab的话，在交了作业的后面一个礼拜是Critique，就互相介绍做平然后评论这样，其他时间可以用来做作业然后不会的问TA，也可以直接走。

**Workload:**

我觉得看本身会的软件如何？这节课开始会讲一些历史，概念，然后用Ps，Pr， J5（是个写代码画画的，不过代码逻辑很简单，要求也很低）还有Rhinoceros（是个用来3d建模的软件），作业和这一些软件相关，所以之前就会的话，直接用就会觉得比较简单，如果不会的话可能需要花点时间学一学。最后建模花了挺多时间的，一个是这个软件我不会用，还有就是建模本来就是个很烦的过程ummm，而且因为上网课之后学校的设备没办法用了，所以自己的笔电跑就很慢。 考试是Canvas的Online Quiz，一个期中一个期末，都是给一整天，不难。因为疫情的关系，Final变成Optional的了。 这节课设定是要记出勤率的，允许3次缺勤，3次以上是会降letter grade，然后9次以上就直接F，Lab在Critique的那一周是要记出勤的，不过上网课之后就没要求了。

**感受：** 我是为了想拿Art的certificate上的这节课。 总体来说这节课难度不大，投入的时间不多，也挺有趣的。一个是因为我本来就会Ps和Pr，然后J5的coding对我来说也比较简单。虽然3d建模花了挺多时间，但是总体上来说还是挺轻松的。 我会觉得这个教授教得不是很好，概念和历史那一块其实还可以，但是后来用软件的时候，我觉得她在尝试去展示具体怎么操作，但是效果不太好。不如b站或者油管翻教程。
