悉尼大学读IT的学生,面对选课要么一脸懵逼,
要么早就看透,门门都是坑,没有哪门课是容易的。
即便如此,还是想知道,坑深坑浅,摸一摸石头,再过河。
首先可以通过网站,然后找到 Information Technology/ Computer Science,再点击自己的egree就可以查看相关的课程安排。
计算机core课程一般是一周一节2hr lecture + 一节2hr tutorial, 另外要求自主学习时间是每门课4hr-8hr不等, 也有要求16hr的课程要额外注意了, 接下来也会提到。
身为程序猿,建议的是每天编程3-4hr,这样不仅学的更加牢固,对毕业升学都有很⼤的帮助。根据level1000,level2000,level3000,level4000依次增加难度并且是从大一到大四课程分布
特别注意一下计算机学院所有的课程都是ouble pass (平时分达到40%+期末达到40%, 总分达到50%),如果有一项没有过成绩就会是45分(Fail)。
不同的major在大二大三的课程会有些不不同,具体可以在cusp⽹站里面查询。
****首先我们先来看看关于IT&CS或是Avance Computing专业的同学们会接触到的几门重要COMP课程
COMP2017: Systems Programming
不仅仅是学C语言的悉大IT最难课程!
悉尼大学计算机系最难课程没有之一 !
以C语言为基础的system operating,虽然还是可以在网上查到类似的代码, 但注意一定要自己亲自上手写!要锻炼自己的能力,更重要的是John的查重系统, 非!常!先!进!
特点:Task非常多;难度大;老师的查重系统非常严;
这门课有两个主要内容分别是C语言和系统编程(System Programming)。
从第三周开始,你会明白我在说什么。。。
建议开学前复习一下这两个对于CS新生来说较难理解的知识点。
后半学期主要关于系统编程,其中着重介绍并行计算。
Assessment 内容
- Weekly Tasks (10%)
每周在estem上会有小tasks,这些tasks可以帮助学生熟悉C语言编程。要注意查重。
- Quiz (10%)
形式是选择题+编程题。
- Practical Exam (10%)
2017年后为了避免各种学术不端行为,需要在规定时间内完成数个programing task。
考试的时候精神压力和时间压力都会很大。所以写的时候一定要注意时间分配。
- Assignment (10%)
这个assignment的评分包含两部分: correctness an performance。
其中performance就是你的程序的运行速度。过往会根据学生排名给performance评分。但大家千万 ** 不!要!花** 费大量时间来研究怎么加速 。为了提高一丁点performance的分数而落掉别的科目的学习时间真的不值得。
- Final (60%)
如果你觉得前面的内容已经很困难了,Final会让你痛不欲生。
Final是这门课最具有挑战性的一部分,其难度是之前所有assignment和quiz都无法比拟的。
所以考好final需要大家在期末前一点一滴的积累。相比quiz和practical assessment,final的题量会更大,所以时间管理是一个特别需要注意的东西。
COMP2022: Programming Languages, Logic an Moels
这门课是好好学就可以拿到不错分数的一门课. 考试难度友好, 平时作业有趣. 对代码功底有一定的要求。 涉及到有限状态自动机,图灵机等一些被广泛运用的自动机,用编程来基本实现。
虽然平时的作业比较难,但是期末是比较简单的题目+几道很难的题目。
** 这门课Pass到Creit完全不难,而想要拿Distinction,需要跟紧练习,不懂得要及时搞懂。 想要拿HD,建议把Tutorial至少做三遍(Final前至少刷一遍)保障手速。**
内容简介
这门课分为三个比较独立的模块:
1. Lamba Calculus
2.Formal Language
3. logic
第一部分,Lamba Calculus介绍一种函数式编程的概念,但是更偏向数学一些。
第二部分,Formal Language会介绍各种状态机,同样会非常数学。 这一部分是课程中最重要也最难的部分,每一章会介绍一种不同的状态机,细节和技巧极多,需要多练Tutorial 。考试非常考验手速和套路,所以需要熟悉熟悉再熟悉知识点。
第三部分,Logic,相对最简单的一部分。有一个可以两人一组完成的证明作业,几乎人人可以拿到80%以上的分数。
Assessment 内容
- Tutorial Quiz (9%)
10-15分钟内完成,10选8,共占9分。每一周会考上一周的知识点,一般是两三道小题,不会是纯文字的概念题。
- Assignment (31%)
一共三个Assignment,对应三个Topic。在前两个作业中,理论报告的正确性占60-80%左右,编程实现占20%-30%左右, 对计算机语言的要求不限制,推荐python或者Java。 第三个作业则是证明题,几乎都可以拿到80%左右的分数。
第一部分,Lamba Calculus的这个Topic的Assignment占总分的百分之十。这 个比较考验你是否会用递归的思想来编程和设计数据结构,所以对Recursion感到苦手的同学需要稍微加强一些练习 。
第二部分,Formal Language有一个比重占16分的Assignment。 是一个相对有挑战性也很有趣的作业,需要有一定的编程能力,report也需要表达清晰 。
第三部分,Logic,相对最简单的一部分,有一个可以两人一组完成的证明作业,只占总分的5分。只要证明完成就可以拿到4分,所以几乎人人可以拿到80%以上的分数,而剩下的最后一分则在于证明长度——只有整门课证明最短的人才能拿满这一分。 小编建议大家练习到位了就可以,不必强求死磕这一分荣誉分。
- Final exam (60%)
Final的总难度不大COMP2123: Data Structures & Algorithms
在经过多年的学习之后,这门课是对各位同学所学基础知识的巩固与检验,同时也是一门对后想要从事开发&算法岗位同学来说至关重要的程。
这 门课主要是考察算法,考察一个程序的逻辑,怎么样用最快的时间得出结果。
期末考试考查对不同算法的理解,对课上出现过的算法一定要彻底弄弄清楚。
虽说整体难度3.5,但是这门课会消耗你大量的时间和精力,好在基本上对所有学生来说 这门课的投入和产出都是很成正比的,只要你认真学了,拿分很简单。
内容简介
这门课是由之前Data Structures 和 Algorithms两门课凝练⽽成, 更多的着重于编程语⾔中Interface 和 Inheritance的理解和各类ata structures的理解和运⽤ ,
总体来说,这是一门知识点非常充实的课,虽然其概念不难记忆,但是却对运⽤有很⾼的要求,所以作为门必修课来说还是比较硬核的。
Assessment 内容
鉴于这门课的知识点繁复,课程设置中居然有整整四个assignment---- 但其实每个assignment的难度都不低,只是数量上有点吓人。除此之外,这门课还有两个weekly assessment ---- 在lab上的当堂quiz(⼏个简单的概念性的选择题)以及课后关于知识点的在e上的练习(难度也并不⼤)。 总的来说这门课的常50%是很好拿分的。
最后50%的Final历届看来只要你在之前没有遗漏知识点并且能够很好的理解Assignment和Weekly Assessment的内容的话也是不成问题的。题型⼤概就是选择题+简答题,简答题中会有⼿写代码甚⾄是画图,一般来说的最后的题都是根据场景设计数据结构, 这种题比较看运气,想到了就会做,想不到就挠头。
COMP3027: Algorithm Design
这也许不会是你2019年花时间最多的一门课, 然而这可能是你毕业几年内 复习最多的一门课, 对找工作最有用的一门课 。
这门课Pass相对不难,因为就像以前的数据结构课一样,是有足够的简单题来保障Pass率的。
但是想要拿Distinction,至少需要比较好的理解力和保证吃透Tutorial的练习。
而想要拿HD,则需要运气, 智慧, 积累或者苦练。
内容简介
这门课介绍基本的算法与技巧.
主要分为六个章节:基本数据结构如图与树的复习,贪心算法,Swipeline算法(一种模拟的技巧), 动态规划,网络流算法和计算复杂度。
这些算法,尤其是涉及图(Graph),贪心 (Greey),Swipeline和动态规划 (Dynamic Programming),是各大厂算法面试的热门。
然而, 这门课的编程不是重点,思路才是重点 。面试题的第一步是讲清思路,而考试与Assignment的分数大头也是在论证自己的思路是否正确上,平时Assignment的编程实现只占20%左右。而考试则是不考代码。千万不要本末倒置。
这门课对语言没有要求,推荐使用Python,Java。
Assessment 内容
- Online Quiz (15%)
每周一次, 10次选8次最好成绩, 在Canvas上限时完成的单/多选题.
文字题,概念题居多,数学证明的很多,也有简单题。 满分有很大的难度, 但拿到一半不是问题。
Slies和教科书对Online Quiz很有帮助。
- Assignment (25%)
共5个独立的小作业, 对应五个算法专题, 每一个五分.
打分由文字证明与在线代码提交组成: 文字证明80%, 在线代码提交20%。
Assignment总体难度不难, 代码量很少。但对论证的严谨性要求很高,如果文字表达不力可以多画图。
- Final (60%)
一共6道题。第一道基础题, 为了确保大家拿Pass而设置。后面通常每一题对应一个Topic, 也可能某个Topic占两道题。一道题占卷面分比10-20%不等.
Final的总难度不大,但残酷之处在于,如果有一题没有思路,基本是一分都拿不到 ,因为第一步就是写出思路,之后几步在于论证,写伪代码或者分析复杂度如果思路不对,那就没有什么补救的余地了。
COMP3308: Introuction to Artificial Intelligence
这门课属于认真学就能拿到不错的分数的那种课。这是有关人工智能的一门课,同学们也知道AI这一领域算是一个热门近些年来发展很快,但也因此导致学校里教的可能有些跟不上步伐,相比之下网上很多教程甚至更Relevant一些。
内容简介
与其他Deep Learning 课不同,这门课重点在于Introuction。 冲着深度学习来的同学可能会对这个topic出现的频率感到失望。 1-5周讲搜索 (greey, A*, minimax,),第8,9周讲神经网络和深度学习。剩下的呢,就是machine learning里别的算法了。
Assessment 内容
- Homewors (3%)
如果做好本周的复习的话,homework可以说是没有任何难度了。这个homework的主要目的在于帮助大家赶上课程进度。
- Quiz (12%)
这个quiz主要考察大家对前几周AI搜索的知识掌握程度。熟悉好slies和tutorial一般就没有问题。
- Assignments (30%)
这门课的assignments基本上都在实现lecture上提到的各种AI算法, 语言不限,但是小编个人建议使用Python 。需要注意的是这门课的assignments需要写一份论文格式的report。
- Final (55%)
Irena出的考题的风格基本上万变不离其宗。Tutorial里的经典题型在final里一定会考到。Final里也会出现一些平时练习不到的题目,这时候就只能看大家对lecture里的知识点的掌握程度了。
除却comp课程的其他基础课程
NFO1111
以团队建设为主, final主要是概念题和一些平时tut上的活动反馈。team work较多, 建议多找local。
INFO1110
改⾰之后的新课,可以说是大一计算机课程里的top1,主要的学习Python,建议提前入门Python,考察出勤率,每周都有task一定要按时完成。
Math1002 & Math1021
主要针对线性代数和微积分,跟着lecture 和 tut走, 把题⽬都弄弄清楚,final就没什么大问题。
** Math1002 & Math1021**
主要是java,从编程⼊门的角度而言是比较容易上手的,平时的作业按时完成,多码代码,熟练掌握。课程前提要求是要学会python,两个学科都是基础⼊门,一些简单的算法是相通的只是需要不同的计算机语言编出来,最后会学到面向对象编程。
ISYS2120
基本语⾔为SQL,从数据库展开,设计他们之间的relation。三个assignment分别是根据关系图用SQL设计,根据⼀段文字设计关系图, 和创建一个数据库可操作。这三个都是team work, 找好组员非常关键。
总结