ICS Y2S2 Review I

 

2022/06/01 Update:

由于课程调整,很多内容已经大改,对于现在看到这篇文章的你可能并没有多大的帮助,当作消遣即可。

写在前面

In three words I can sum up everything I’ve learned about life: it goes on. – Robert Frost

考试终于结束了,也有心思写一写这学期的总结与体会,毕竟这可能是唯一一学期的纯线上教学,教学和测试都显得有些准备不足;再者能力不同,学习方式也都有所不同,体验也自然不一致,所以读者也只需当作图一乐即可。

注意:从2020/21学年开始,由于院系调整课程代码会有所变化,这里我会贴上新旧两个代码,有兴趣了解的可以登录modules.xjtlu.edu.cn自行查阅。

1. CSE102/INT102

这门课的标题是Algorithmic Foundations and Problem Solving,即算法基础和问题解决,主要讲了一些经典排序算法,图论,字符串比较以及P=NP?这类问题。

任课老师按道理是有两位:Muhammad和Lv Wenjin,但是前者我只在ppt里看到过名字,而发邮件和布置作业的都是后者。

这门课按道理是一周各有一次lecture和tutorial,但可能由于各种原因导致了呈现给我的只有ppt和录播。在前几周我兴许还能听着录播翻翻ppt学习,到了后面用到的只有ppt了。这里要提醒一下我到期中以后才发现这学期的ppt和上一届在某些位置上有一定的区别,到了assignment的时候如果发现有东西没讲到,多半是由于老师增改了部分内容。

这学期的考核内容有这么三项:两次作业各10%,在期中之后紧接着布置,分别考察上下半个学期的知识;期末80%,40道选择题。

这里我附上今年的期末考试试题:https://wws.lanzous.com/ix8Ujdtvfeh

2. CSE104/CPT102

这门课的标题是Data Structure,数据结构,也是只有ICS学生会学到的一门课。

我很疑惑的一点是,学校为什么会把数据结构和算法分开教学:在我看来,数据结构和算法是相辅相成的,为了解决一类问题,计算机科学家们往往会创造出各种各样的模型来解决他们。算法好比你的菜谱,而数据结构则是各种各样的器皿——如果你只有其中之一,那么可能只能做成普通的家常菜,而稍微困难一些的可能就无从下手了。

不过这波有可能也是学校在第五层:总所周知西浦是一所自学要求极高的大学,为了让学生不过于依赖课堂,课上内容只会提及许多内容而不会具体讲述。想掌握知识,还得靠课外自学。如果真是如此,那我便认为是绝活。

鼓励自学确实好,但是当你开始尝试刷Leetcode的时候就会发现如果教过完全有更好的方式处理。比如当我做Problem648的时候,在没看答案之前我就从来没想起有HashSet这个东西。学海无涯,同志们任需努力。

这门课的老师也有两位:Steven Guan和Jianjun Chen。只要你在上学期上过计算机系统这门课(CSE101/CPT101),那么你一定会对老关有极深的印象:

guan

总之教学还是内味,4月10号前录播是没有的,tutorial也是没有的,内容大致就是介绍Java里一些常见的数据结构,比如ArrayList,Stack,Queue,HashMap等,然后再次炒了一下102的冷饭,复读一遍了排序算法和图论。

今年的考察模式就比较硬核了:两个有关联的大作业,各50%。

第一个作业主要是用贪心算法读取文件解决旅行商问题(TSP),然后再打印出路径和距离并完成一份报告,难度不大;但是我们毕竟不是隔壁EEE,不怎么擅长写报告。好在现在看起来给分还算仁慈:

104 Feedback

第二个作业就稍显挑战性,主要思想是通过作业引导你完成的两个算子和自定义算子利用自己的算法来缩短cw1里面的路径然后打印完成。题目是不错的,开放性比较强,而且大家有不同的思路,虽然主要的算法还是那么几个。

评分的一部分则是优化程度的排位赛,只有第一名才能满分。为此有些同学甚至考虑了另辟蹊径,记录如下:

Group Chat

说到这里我觉得Jianjun人还是很nice的,群里有问题看到都会回答,甚至在考前还在群里发了个不算小的红包:

Money

只是我实在是没有发现作业和课程的关联性在哪里。作业里我好像只用到了ArrayList存放路径,而且还是cw1里本就提供的,别的比如栈和队列也是一个都用不上。最有关联的还是报告里的一个问题:如果将ArrayList换成LinkedList效率会怎样,除此之外没了。

课件我这里就不给了,毕竟几年不变,也并不有趣,有兴趣的可以研究一下今年的两个作业,链接如下:https://wws.lanzous.com/ifjWPdtx21i

结尾

只是写了两门学科就发现有这么多字数,确实没有意料到,也有了拖更的理由

总的来说,如果有机会进行课程调整,我一定会建议把这两门课合到一起:分开不仅和目前的书本相悖,而且造成了知识的断层,导致我两门都需要大量的自学来完善知识储备。而剩下的两门的优缺点也很明显,不过也是后话了。操作系统和人工智能,我们明天再见~

(卑微地求一波关注和在看)