暑期的电脑课一般会比较少。学校一般考虑到很多学生夏天休假和co-op实习,所以电脑课比冬季学期和春季学期要少很多。不过通常夏天的课要容易一些。可能有些老师多希望学生能多感受夏天的天气所以通常作业和考试要轻松一点点。那我们就一起看看都有哪些课吧。
1. CSC225 - 作为软件工程和csc的必修课,csc225会讲一些基础的算法比如各种各样的sorting (e.g. Merge sort,quick sort),基础的data structure 例如(stacks,queues,和linked list)。除此之外,老师一般也会讲关于binary tree 和基础图算法(graph algorithm)。csc225将会从五月讲到七月底所以课的时长跟平时差不了太多。
a. 主讲老师分析:这门课的老师比较有耐心而且公认讲的比较清楚。比较推荐跟这个老师上这节课
i. 有趣程度:⅘
ii. 难度 5/5
iii. 重要性 5/5
iv. 综合 5/5
2. CSC226 - 作为csc225的升级版,自然内容也都跟csc225相似度非常高。不过,难度还是要比csc225高一些。主要内容是更复杂的algorithms (e.g. dynamic programming, backtracking)。会学到一些更复杂的data structure (e.g. Hashing)和graph algorithms (e.g.network flow, minimum spanning tree)。有的assignment写的题(非编程类)要比csc225多一些。
a. 主讲老师分析:考虑这节课的难度,任何一位老师讲这节课都不会太容易,不过夏天的老师还是蛮推荐的。老师比较有耐心而且教类似课有很多经验。
i. 有趣程度:⅘
ii. 难度 5/5
iii. 重要性 5/5
iv. 综合 5/5
3. CSC230 - 又是一节大二的必修课。跟大多数大二电脑课不一样,这节课主要讲关于电脑硬件的知识。同学们会学到一CPU,跟内存哪里不一样。硬件是如何分工的。而且,同学们会学一个全新的语言类型(assembly language)。这个语言会很接近机器语言,可以直接控制CPU里的寄存器。
a. 主讲老师分析:主讲老师讲的内容会比较丰富,不过讲课方式不一定所有同学都会习惯。归根结底,这节课的挑战应该不算特别大,内容是大二里面比较容易的。
i. 有趣程度:⅘
ii. 难度 4/5
iii. 重要性 4/5
iv. 综合 ⅘
4. SENG265 - seng265作为软件工程和csc的必修课,所有的大二学生都必须得上这节课。即便学期不一样,用的笔记和作业都差不了太多。一般会有一半的事件花在c语言上,另外一半事件花在python上面。c的内容通常包括pointers,struct,和dynamic memory allocation(malloc和realloc)。python方面一般包含regular expression,class,和读取提供的文件。整体来说,这几课讲的内容属于csc115和csc116的延伸。
a. 主讲老师分析:主讲老师讲的内容会比较丰富。虽然讲课方式不一定所有同学都会习惯。但是老师对这节课的内容那真的是熟悉的不能在熟悉了,况且这节课基本上每个学期都是一个老师教。
i. 有趣程度:⅘
ii. 难度 4/5
iii. 重要性 4/5
iv. 综合 ⅘
5. SENG275 - 这节课是一个比较新的课。对于软件工程同学来说是必修课。个人感觉还是比较推荐这节课。在工作时候,写test属于一个蛮常见的的一个工作,所以学习关于testing的内容比较有用。
a. 主讲老师分析 :主讲老师是新的老师所以教课风格还难以猜测。通常教这节课的老师是Jason。如果同学想等Jason教。。。可以考虑等一等。
i. 有趣程度:⅘
ii. 难度 4/5
iii. 重要性 4/5
iv. 综合 ⅘
6. CSC320 - 所有同学的大三必修课。通常被认为大三最难的课之一。内容主要包含电脑方面很理论的内容。全程基本上没有任何编程,而全部是各种证明。一般讲的内容包含finite automata,图灵机,context free languages,和p vs np, np complete. 整体来说,这节课的内容每个学期都差不了太多,难度系数不会改变太多。
a. 主讲老师分析:主讲老师很平易近人而且作业考试都比较公平。考虑到这节课的整体难度,非常推荐跟这位老师上这节课。
i. 有趣程度:⅘
ii. 难度 5/5
iii. 重要性 5/5
iv. 综合 ⅘
7. CSC360 - 所有同学大三第二个必修课。难度比较高,接近csc320的难度。内容主要讲操作系统和电脑的结构。里面的内容也会包括基础parallelism (如何同时使用好几个不同的thread),cpu scheduling,和操作一个简单的file system。编程作业会比较复杂而且费时间。不太建议同时上csc320和csc360.
a. 主讲老师分析:主讲老师讲的内容很扎实而且经验很丰富。不过有些同学不习惯考试方式和作业内容。如果不着急。。。也可以等一等。
i. 有趣程度:⅘
ii. 难度 5/5
iii. 重要性 5/5
iv. 综合 ⅘
8. CSC370 - 所有同学大三第三个必修课。通常被认为大三必修课里最轻松简单的课。不过内容还是蛮重要的。数据库对于大多数软件来说都是一个比较重要的部分。同学们会学到ER diagram, relational database,等一系列数据库的知识。一般情况下,会有一个project有关自己做一个database存一些数据。根据不同的老师,具体的relational database可能会不一样,通常会用mysql但是有的时候会用postgresql。
a. 主讲老师分析:主讲老师知识面很广而且有这方面充实的基础。不过以往面对面课里老师有一些独特的风格,比如迟到了不让进门。不知道改成网上之后有没有什么不一样。如果不着急。。。也可以等一等。
i. 有趣程度:4/5
ii. 难度 4.5/5
iii. 重要性 5/5
iv. 综合 5/5
9. SENG310 - 夏天少有的两个月的电脑课(五月-六月)。对于软件工程和csc (software option)的同学来说,这节课是必修课。不过还是很推荐大家这节课。第一,这节课的内容比较有意思,这个时代大家对UI还是比较看重的,所以这节课会提供基础的UI知识和练习。第二,这节课在大三课里属于比较容易的,课的作业和考试通常不会很刁难。
a. 主讲老师分析:主讲老师的研究领域就是HCI所以非常擅长将这节课而且有很多经验。
i. 有趣程度:5/5
ii. 难度 4/5
iii. 重要性 4/5
iv. 综合 4/5
10. SENG474 - 作为电脑方向最有热议的方向,seng474这几年报名人数非常高。虽然不是必修课,但是同学们基本上毕业前都要上一下这节课。内容一般包含不同的model。从简单的model 到复杂的(linear regression,logistic regression, random forest, clustering, bagging)。有的老师喜欢注重model的应用,有的老师注重model的数学证明。
a. 主讲老师分析:主讲老师在这个领域是很擅长的,不过好像这节课目前还没有教太多次。根据不同的老师,这节课呈现的方式会不一样。通常会有一个大的project,不知道现在网上授课会不会依然有project。这节课基本上每个学期都会开,所以不着急的同学也可以等。
i. 有趣程度:5/5
ii. 难度 5/5
iii. 重要性 5/5
iv. 综合 5/5