课程
有的学生单纯很难跟得上Software Development这门课的节奏,而且很难学到有用的知识。所以我将推荐一些CSDIY上总结的课程来加深对于部分知识的理解。此处会以导读的方式向你阐述课程内容,并在左侧对应的学年的文件夹处放入连接,内容不会太过于冗长。详细的内容请前往CSDIY处查看。
其中 学习时间 指的是推荐你在当下的学期进行学习。
当然这只是推荐:你不仅可以提前预习这些内容,只需要在你需要的时候,点开观看学习就可以了。如果你有充足的精力放在自学上,那我非常欢迎你按照自己的节奏或者CSDIY上给出的定制化地图来学习,不用太过于死板(即使是因为错过了课程学习时间,而回看这些所谓的“基础课”)
此外,你可以从油管,哔哩哔哩或者其他的视频平台找到对应的网课视频。一般B站会有大佬上传的熟肉视频,油管上也会有相对准确的机翻与字幕,这些都是免费的薯条🍟
还有一件事,请不要忘记在学习的时候顺便刷点题目(这些网课通常有配套的练习题目和参考答案)。尽管你可以边看视频边做笔记,但是 practice makes perfect
第一学年
对于刚刚入学的学生,你们的学习中心放在英语和高数上。
英语
普遍学校要求:
-
国内第一年学习语言,并在学年结束的时候达到/同等雅思分数4.5(用来注册SQA学籍)
-
申请国内院校前达到雅思6.0总分(小分不低于5.5)。
因此,最优解是——第一年把雅思考出来并达到申请要求。
高数
对于大部分国内院校而言,本学年学习的内容也就是微积分和线性代数。而由于课时的问题,往往同学们只能学到一点皮毛就结束了数学课程的学习,后续两年也不会再开展类似的课程,导致与真正的国内大学生差距甚远(大一主修微积分,大二开线代课程等等),同时也耽误了后续大二的课程。
目前我所感受到的高数知识,只对国内课程的数据结构有一定帮助,其余帮助不大
第二学年
对于跳过大一和刚刚结束第一年学习的学生来说(英国本科是三年制),你即将开始学习基础的编程知识。有一些课程非常的简单但是国内的大学很少开设,所以我会在下面一一列举出来:
ps:不能忽略的问题是,你在本学年面临着近14门校内课程,这也就意味着没有太多的时间分配到课外学习上,所以尽可能的学习以下内容吧
CS61A
大名鼎鼎的美国加州伯克利开展的学习基础的
python编程思想的课程
在BCL学生的课程大纲中这是一门起始课,与Developing Software Introduction-HP1R_47这门课十分的相似。但是也有不同之处:
- SQA课程使用的是C++,但是CS61A使用的是较为简单的python
- SQA课程只是一个先导课,毕竟课程叫做 Developing Software Introduction, 但却在编程思维和C++基础中偏向了后者,但又因为课程长度不够进而导致基础也没有讲完,十分矛盾
- 课程发给我的课本是C++ Primer, 这是一本Dictionary(字典),用来查找任何C++知识;而CS61A的reference是改编的SICP这本书(有兴趣可以去搜索),偏向于逻辑基础。这也恰恰说明了第二条。
总之我非常建议你优先学习这门课程,不仅帮助会了解到一些编程的基本思想,而且通过不断的练习、了解如何编程一个程序,这对以后的学习会非常有帮助。 ```
大部分国外的本科院校都会开设AI相关的课程,大概率使用的是python语言,因此提前为其打好基础也是很有必要的 -2025.9.26
CS50
来自哈佛的编程先导课
学习时间: 什么时候都可以!
这门课程非常的抽象,他不会过分的将一些编程知识(python等等),而是会把一些抽象的概念通过具象的内容让他更加容易理解。但很遗憾的是,截止在此处未修改前,我不会尝试看完它。由于主讲David J. Malan富有激情的语速和充实的内容,看了两集生肉后我就果断放弃了。(不要问为什么不看熟肉)
Missing Semester
来自麻省的独一无二的课程:计算机教育中缺失的一课
正如标题所说,本门课程意在为学生补充本应该学习的,但是由于种种原因并未出现的内容,vim、docker、linux命令和运用等等。越跟随着校内课程的学习,你会越发的体会到,这些内容我都在视频中看到过!
【计算机】离散数学
我的老师给我们上的离散数学的课程,命名直接复制的视频标题
这门课程是就是我当时的Mathematics for Computing 1-HP1H 47,但是从长远的眼光看问题,SQA对于这门课的理解也有点问题(流汗)。
但是课程内容和难易程度还是符合SQA学习和理解"what is the differences between Discrete or/and Math"
第三学年
即将和已经步入第三学年的学生而言,SQA课程的难度会进一步提高,所以你可能依旧没有太多的精力和时间放在学习上。好消息是,本学年的校内课程非常简单,因此你不太需要花太多时间进行巩固和复习,适当可以把重心放在以前知识的巩固和未来国外一年的预习上。
CMU 15-445
卡内基梅隆的数据库课程
学习时间:第三学年及以后
对于一所家喻户晓的学校来说,其课程质量尤其的高,CMU的数据库科学也十分的有意思。其对标的是国内的Database Design Fundamentals-HP2G 47和Relational Database Management Systems-HP2J 48这两门课程。但是,CMU这门课程非常、非常、非常 的困难:比Malan教授更快的语速,更加抽象的概念理解,与不知道哪里有准确的熟肉导致这门课程只能放在第三学年之后学习。
Computer Networking: A Top-Down Approach
马萨诸塞大学的计算机网络课程
此门课程以弥补Troubleshooting Computer Problems-HP1V 47中少量的网络知识,同时为未来的出国做准备。
此门课程内容非常简单,简短的视频内容充斥着大量的有效的信息,非常适合作为podcast学习。比如划水的时候
USTC Computer Networking:A Top-Down Approach
中国科学技术大学的计算机网络课程
此门课程相当于上面的“汉化”版本,但是更加贴合中国宝宝体质