悉大干货 :Advanced Computing 大一S2课程指南(组图)
作为2023届的大一新生,就这样度过了大学的第一个的半年,你是否好奇接下来的大学生活是什么样的呢?
这篇文章小编会详细为大家分析悉尼大学大一下半年(Semester 2)与IT/CS相关的重要课程。课程解析包括其教学内容,老师怎么样,考试技巧,整体难易程度,以及学长学姐门的学习心声。
作为一篇纯干货
2023年步入第二学期的大一IT童鞋们必读必收藏!
1
干货课程目录
正常入学,S2必修:
INFO1112: Computing 1B OS & Network Platforms
INFO1113: Object-Oriented Programming
ELEC1601: Introduction to Computer Systems
MATH1064: Discrete Mathematics of Computation
年中入学,S2必修:
INFO1110: Introduction to Programming
DATA1001: Foundations of Data Science
2
干货内容简述
对于上述涵盖科目,
所解析内容包括以下几点:
1. 小编前言
2. 课程简介
3. 老师介绍
4. Assessment内容 & 得分技巧
5. 难度分析
6. 学长/学姐建议
因内容较多篇幅较长,建议需要的同学们收藏并合理安排阅读
(注:每学期课程存在变动,仅供参考)
3
课程全面解析
INFO1112
1
小编前言
INFO1112是一门偏理论性质、主要介绍计算机本身和计算机操作系统底层理论的课程。课程涵盖的内容非常广泛,从bits开始,覆盖了内存、CPU、操作系统以及各种语言的医用,乃至各种application,甚至对一些硬件设施也有涉及。
2
内容简介
该课程旨在为学生提供对计算机系统的general overview,我们每天使用的应用都是如何从底层构建出来的,从而使学生更好地理解计算机工作的原理,能够更流畅地使用linux操作系统,方便学生创作自己的应用,并且使学生熟悉shell。
课程的理论性很强,因此要求学生拥有良好的理解能力。同时,学生在课后需要自主地寻找相关资料从而补全课上难以理解的部分。
3
老师简介
Nazanin Borhan是这门课程的lecturer,这门课程Teaching team的tutors很多水平都不错,讲解也比较到位。Borhan在讲课的时候语速适中,节奏很适合初次接触这个课程的学生。但由于课程本身偏理论的知识点较多,又很少有live demo,只听lecture会由于枯燥而难以专注。
建议在lecture前后阅读巩固lecture slides上面的知识点。Lecture和Lab的时长都是两小时,lecture中间会有10分钟的休息时间,可以在休息时间向老师对不理解的地方进行提问。
4
Assessment内容
Homework (30%):
Homework本身就是在ed上会放出代码题,每两周一次去完成。以及,每两周tutorial上会进行Homework的review类似INFO1110的VIVA,但是除了考Homework本身,还会对知识点进行一些提问,并不局限于自身写代码。因此建议每周在tutorial上课之前对这一周的lecture slides进行深入阅读,里面看起来比较不起眼的知识点说不定就会出现在Viva考题里。
Assignment 1 (10%):
每一届的Assignment都有所不同。Assignment 1的难度通常不会很大,也有可能作为Assignment 2的前置任务布置。对于这个assignment来说,一般会要求学生根据给出的specification完成一个程序,程序接受不同input的时候需要output出对应的output或执行对应的指令。由于是INFO1110的后置课, 这项assignment要求的编程语言基本会是python。相较于INFO1110来说,这门课程的assignment对编程能力的要求不会很高,难度也比INFO1110的assignment轻松许多,因此只要稍微巩固一下python相关知识。
Mid-sem Quiz (10%):
时间设定在week 9,检测前8周所学内容的期中小测,大概率是由选择题组成,题目与weekly quiz测试的内容相似,难度不大。基本所有题目都是概念题,需要背诵的内容比较多,但考点基本与Homework的考核内容重复,所以复习的时候可以按照Homework的测试内容复习,以及加上lecture slides的复习(当然,每年的考题都可能更改,难度也可能提高,这篇文章只是给出一项参考,不一定与今年考核内容百分百一致)。
Assignment 2 (20%):
与Assignment 1类似,难度会稍微高一些,涉及的范围也更广泛一些。同样需要根据给出的specification写出python程序(难度通常不大)。这个assignment可能要求用python去完成Linux里terminal的基本操作,也就是用python实现shell的部分功能。这门课程的assignment对课程内容的考核并不是很多,基本每一个assignment考核的都是前一两周的内容,而非学期开始直到assignment发布时的所有内容,因此集中复习前两周的知识点基本就可以搞清楚assignment该怎么写了。Assignment 2对于编程能力的要求比assignment 1要稍微高一些,但总体难度上不会有太大的差异。
Assignment 3 (20%):
与Assignment 2一样也会是利用上课学到的东西来用python实现,但是难度会稍微高一些,涉及的范围也更广泛一些。同样需要根据给出的specification写出python程序(难度通常不大)。这个assignment可能要求写一篇report,并且实现一些关于网络方面的东西。类似使用SMTP-CRAM协实现邮件客户端,服务端等。对于对python不是特别熟悉的同学们可能会难度比较大,但是跟assignment2一样,基本每一个assignment考核的都是前一两周的内容,而非学期开始直到assignment发布时的所有内容,因此集中复习前两周的知识点基本就可以搞清楚assignment该怎么写了。Assignment 3对于编程能力的要求比assignment 2要稍微高一些,但总体难度上不会有太大的差异。
End-sem Quiz (10%):
时间设定在week 13,检测所学内容的期末小测,大概率是由选择题组成,也会有少部分代码题。会跟Mid-sem quiz 题型比较类似,好好复习的话问题也不会很大(当然,每年的考题都可能更改,难度也可能提高,这篇文章只是给出一项参考,不一定与今年考核内容百分百一致)。
5
难度分析
理论难度:
作业难度:
考试难度:
整体难度:
INFO1112本身难度不算很大,作为first year的课程,与其他IT课程比起来简直是天使。但由于是overview的课程,涉及的知识点范围非常广泛,尽管大多数知识点只讲解了表面,依然需要较多时间消化(尤其是对于从未接触过OS底层理论的学生来说)。
作业本身难度并不大,且assignment基本不需要涉及太多与本课程相关的知识点,只要掌握重点并能够熟练运用python即可。并且是计算机课中为数不多没有FInal的课程,只要好好学习,基本问题不大。
6
学长/学姐分析
INFO1112是一门非常重要的基础课。这门课涉猎的知识点较为广泛,尽管对于每个范围的知识点并没有特别深入的讲解,对于学IT相关的学生来说,完全掌握这些知识点还是很有必要的。
这门课程所包含的内容在未来2到3年的本科生涯里会有各种进阶课程进行更加深入的讲解,尤其对于学习CS的学生来说,理解并掌握INFO1112课程的知识点会帮助你在未来的课程中更加迅速地消化新内容。课程本身想要pass、甚至是想要拿高分都不是难事(与其他很多科目不同,即使你没有完全理解这门课所讲述的内容,依然可以拿D甚至HD),但如果只是为了拿高分而不去注重课程本身所讲述的知识点,将来在深入学习其他课程时可能会感到吃力(尤其是CS的学生)。
因此希望大家能够不止把目光放在分数上面,而是更多关注这门课的知识点本身。
INFO1113
1
小编前言
这是在INFO1110 introduction to programming后续的课程。在先前的科目中,已经累计了一定编程基础的同学学起这门课程应该相对轻松一些。
此课程主要建立在INFO1110讲解过的“面向对象”的基础之上,对这个概念进行了更加深刻的学习。
2
内容简介
INFO1113的主要Topic在于面向对象的概念。Java是典型的面向对象语言,该课程重点讲解了这类编程概念的架构和形式,其本质是通过创建对象从而反应不同类型之间的交互和联系。
课程本身难度并不大,尤其对于已经掌握一定编程基础的同学来说,Object Oriented的概念会更容易掌握一点。但课程中包含了许多隐晦的难点,因此要熟练而透彻地掌握还是有一定难度的。
3
老师简介
这门课的老师是Mohammad Polash,但是位很负责且认真的老师,但是是有点口音的,有些刚来悉尼的小伙伴可能得认真的听Lecture,但是Lecture上讲解逻辑非常清晰到位,同时live coding也非常流畅,能够从中学习到很多东西。
4
Assessment内容
Online task (16%)
每周会有一个ed上的代码习题去完成,每个占比4%,基本花费一些时间都没问题。Coding的难度对于初学者来说比选择题背诵基础概念要困难些,因此需要在课下专门进行Coding的练习。
Quiz (16%)
绝大多数题目非常简单,只要好好复习lecture slides,加上平时对于coding的联系没什么问题,但是也有稍难的题目,需要掌握基础概念以及Coding的逻辑,写代码时注意语法错误。
Assignment (18%)
这个Assignment的难度对于不同学生来说可能有所不同。一般情况下需要学生自学一个新的库的内容,一旦掌握学习方法,Assignment会显得简单一些。通常会是一个比较好玩的(需要做GUI)的游戏。需要进行简单的Testing。
Final (50%)
Final exam 有难有易,对于简单的题目来说,全部掌握就能够至少保证及格。在此基础上做一些中等难度的题以至于可以更加推进成绩。最难的题目通常出在Coding的recursion上,以及一些需要奇思妙想的题目。这些题目对于编程的思路以及面向对象语言概念的掌握都有着较高要求。
5
难度分析
理论难度:
作业难度:
考试难度:
整体难度:
总体上,该门课程掌握的理论难点并不多(前提是熟练掌握INFO1110的知识),但仍需要多加练习从而进行进一步的深入学习。
6
学长/学姐分析
编程科目在掌握概念的基础下一定要多加练习,在各大网站上反复琢磨你的编程技巧。学会阅读报错信息,当你看熟了一条报错之后,以后再遇到相似的问题就会有一些头绪,从而帮助加快Debug的速度。
同时,如果Quiz/assignment上有不会的/不懂的内容,尽量先自己查询资料,谷歌是个好用的东西。直接询问他人虽然能够拿到答案,但并不保证你就掌握了这个知识点。毕竟Java这门语言里奇奇怪怪的东西还是挺多的。
ELEC1601
1
小编前言
这是一门计算机系统入门的课,有一定编程基础的学生学起来会稍微轻松一些。这门课是Electrical Engineering和Advance Computing第一年的必修课。它教给学生的内容非常有价值,也将会是学CS的同学和计算机硬件接触最多的一门课。
2
内容简介
ELEC1601是一门对计算机底层逻辑进行简单介绍的课程。为了帮助学生更好地了解计算机系统以及它们的运作逻辑,课程对信息加密、电路设计(或与非门)、计算机指令、基础的汇编语言以及C语言进行了简单的讲解。该课程包含Lecture,Tutorial和Lab三个部分。与大多数课程不同,这门课程没有提供lecture slides,在lecture上的讲解大多是分发worksheet然后让学生跟着填写,是一门实验性较强的课程。Tutorial是对lecture上讲解的内容的巩固(做题),Lab比较独特,学生需要组队,对单板单片机进行编程,使其能够完成简单的任务。
3
老师简介
学校这门课程tutorial的tutor大多时间就是分发worksheet让学生自己写,基本不会进行讲解——除非你单独提问。Lab的内容基本一致,你要先清楚自己正在做什么和自己想要做什么,当遇到困难的时候再去找tutor才能获得解答,否则tutor不会告诉你需要做什么。
关于这门课程的lecturer,David还是挺有意思的,lecture上会组织一些有趣的操作,或者放一些video以免学生失去兴趣。但大多数情况下,课程对自学能力的要求比较高,去听lecture之前通常需要学生自主观看30分钟左右的视频提前了解这周的内容,在lecture上基本就是直接回答worksheet上面的题目了。
4
Assessment内容
Tutorial Participation (10%):
之前这10分是记tutorial attendance和活跃度哒,每次都去并且多多提问就好啦。
Mid-term Exam (20%):
IT课程中不多见的有midterm的科目,会抽出一个lecture的时间专门用来考试,考试范围是1-5周所学的内容,难度适中,其中包括选择题、计算题和简答题。选择题可能考核相关的概念,而计算题主要就是关于2,8,10,16进制之间的转换或encoding相关的内容,简答题考核的主要内容与 理论题目相关,但也可能出现需要写过程的计算题。
Lab Report (5%):
多周进行,每周的lab都会给学生布置任务,通常是有一些需要学习的函数或指令,通过简单的编程实现lab要求达到的功能。这项任务需要以组为单位完成(由于疫情原因可能对这项assignment进行更改),需求的功能实现后每组提交一份report即可,需要简述小组是如何实现的这项功能、使用了什么函数、为什么这么做,以及学到了什么。
Project (25%):
8% report + 17% presentation, lab需要通过单板单片机完成一个project并进行presentation、demo,然后根据小组进行的project思路、过程,写出一份report。一整个学期的lab基本都在为这一项assignment做准备。这一项assignment自由度较高,你的小组可以构思各种能够用单板单片机实现的robot,实现难度越高、创意越新颖(贴近生活)最终获得的分数越高。往期作品可以参考ELEC1601的Hall of Fame展板,一些比较新颖的想法可以运用到你的设计上。Demo和presentation都在13周的lab进行,demo是只给tutor展示单板单片机能够正常运作,presentation则是通过slides向其他同学展示你们对robot的构思,以及robot能够实现的功能。这是一项很有趣的assignment,尽管final不会涉及单板单片机和电路相关的知识点,这个assignment也能帮助你更好地了解编程和计算机的逻辑。然而由于疫情影响,这项assignment可能有一些更改,practical的内容可能会相对减少,而更注重于理论。
Final Exam (40%):
1-12周lecture和tutorial范围的考核,不包括lab构建robot的内容。考试形式主要是大型问答题,不包括选择题。Final考试的难度与期中考试比会有质的提升,只有当你完全掌握了考点范围的知识点之后才能获得高分。Final主要的难点在于电路设计(或与非门组装电路,给出的电路图比较复杂)、汇编的简单指令(课上基本没有什么例题,对于从未接触过汇编的学生来说会比较困难,因此需要自己在课余时间进行练习)以及大量的理论知识。总之还是多练可破,可以多阅读textbook巩固理论知识,然后通过反复做题来确保答题的速度和准确率。
5
难度分析
理论难度:
作业难度:
考试难度:
整体难度:
这门科目对于从未接触过计算机底层和电路的学生来说,理论上可能有较大难度,但一旦入门,这些概念还是比较make sense的。对于作业,大部分assignment都能够独立完成,然而单板单片机对于未接触的学生来说,如果没有大佬组员,很难获得高分。因此推荐是如果需要组队的话,尽量和有经验的同学组队,或者跟看起来比较靠谱的本地人组队(report,presentation和demo分数占比相对来说还是挺高的)。
其中考试难度并不是很大,只要掌握了基础理论就可以拿高分,然而final想要冲刺HD还是需要下一番功夫的。这门课程需要掌握的汇编指令不多,只要明白了基础逻辑,题目基本就可以回答出来,但前提是逻辑要清晰,考试之前多多刷题。每周最好都进行一下复习巩固,很多前期的内容会在后面反复出现,因此掌握前期基础知识还是很重要的。
6
学长/学姐分析
对于这一门课程来说,如果第二学期能够返校,那么单板单片机的group project在组队时要尽量与有相关经验的人组队,然后再加上语言组织能力较强的同学(最好是本地人)完成report。汇编语言本身是一项难度很大的内容,但这门课程涉及不深,要求掌握的指令也不多,因此需要学生对汇编的逻辑和运用的机制非常熟悉。关于课程的理论知识,尽量按照课程建议,每周去lecture之前就先进行预习,简单了解一下这周的内容,lecture上跟随lecturer完成worksheet,如果有比较困难的题目,可以留下来询问tutor。如果想要进一步提升解题的速度,可以多在平时时间阅读textbook并完成书上的习题。同时,textbook上面通常会有很多补充知识,可以更加便于学生理解该门课程的知识点。
MATH1064
1
小编前言
MATH1064作为一门关于离散数学的入门级课程,虽然它包含了一系列数学概念和应用,但是它的重心放在了Computation上,也就是说这门课更加贴近计算机科学中的运用。因此,它也是Advanced Computing专业大一学生的必修课程之一。在学习了这一门MATH1064后,你会发现计算机科学里许多复杂的知识点都和这门课中的内容息息相关。可以说,MATH1064的知识点可能是同学们之后许多大二大三计算机课的基础。
2
内容简介
MATH1064中知识的范围比较广,几乎每一周的内容都相对独立。主要有以下几个方面:
1. 逻辑,推导,集合,函数以及序列:
这些内容是前三周的知识,可能有许多同学在高中就已经接触到过。比如:什么是命题,真命题和假命题,从一个真命题怎样推导出另一个真命题,集合如何定义,函数的定义域和值域,Surjection,Injection & Bijection之间的关系,序列的特点(e.g.斐波那契数列)等等。这一方面的知识点还是比较友好,容易上手的。
2. 渐进增长&数学归纳法:
渐进增长是一个全新的知识点,它的概念虽然比较简洁,但是对于第一次学习这个概念的同学的确比较难以理解。它主要是用来判断一个算法的效率,也就是这个算法的复杂程度,还有了解一个函数是如何增长的。数学归纳法是一个强有力的命题证明方法,通过前一项命题的成立推出后一项也成立,从而产生连锁反应证出所有命题都成立。这是一个考试中老师最喜欢考的一种题。
3. 排列组合&离散概率:
这块知识点在MATH1064中是最最重要的,也是老师最喜欢出题的内容(记得去年的final exam里占了接近一半)。因为对于排列组合和离散概率,要么通过读题套用正确的公式,从而得到正解,要么得出的答案就是错误的。同学们很容易产生了错误的思路,使用了错误的公式,以为自己的答案是正确的但是实际上很难发现自己其实一分也拿不了。
4. 图论&语言:
图论和语言在计算机科学中属于两种抽象概念,在之后的学习中会有更加深层次的学习,在这门课中只是做一个introduction。虽然在考试中的分值不高,但是学习难度还是不小的,尤其是包含了大量的“极其不友善”的专有名词和概念,需要花费一点时间好好消化。
从课程时间分布来说,MATH1064分为3种不同类型的课:
1. Lecture:每周有3个Lecture,每个时长1hr。由lecturer上大课;
2. Tutorial:每周有1个Tutorial,每个时长1hr。由tutor上小课,做题为主;
3. Practice class:每周有1个Practice class,每个时长1hr。相比于其他课程,这门课多了一种Practice class。它主要是tutor带领一个班(每个班30人左右)做一些练习题,并且是2个quiz的考试时间。比起tutorial是自己做题,tutor解答的模式,Practice class是学生跟着tutor一起做题。
3
老师简介
这门课的Lecturer是Dr Jonathan Spreer,年轻有为而且帅气的一个数学系老师。上课非常积极耐心,讲解的时候会给很多例子说明对应的概念。尤其是MATH1064中许多知识点比较抽象,Jonathan作为一名年轻教师会非常在意学生的理解情况,所以他讲的例子易懂,很容易让同学们理解。还是推荐大家去听他的lecture的。
4
Assessment内容
Quiz (20%):
总共两个quiz,每个占10%。Quiz基本都在线上进行! 时长不会超过45分钟。和其他Math的课程一样,quiz的题量是比较多的,时间把握很重要。
Online Quiz (10%):
每周都会有一个分值1%的online quiz会在网上平台上出现(就是那个几乎所有数学课都会用到的做题平台)。其中有Practice的题可以刷无数遍,但是正式算分的题是有限次数的。通常情况下,老师上课只会讲述一些概念性的知识点,很少会讲解实际上的应用题。因此online quiz里的题可能会有点难度。
Assignment (10%):
总共两个assignment, 每一个值5%。每个assignment的难度并不是很大,题量也很小(一般都是3个小题)。
Final Exam (60%):
Final的结构是前20道选择题,后面会有5,6道简答题(Extended Questions)。Final也是侧重考察基础(毕竟这门课的基础里有太多的概念),同时在最后的一两道大题里会夹杂着几道有点难度的小题(通常是排列组合题,毕竟这种题需要思考很久)。
5
难度分析
理论难度:
作业难度:
考试难度:
整体难度:
总体上MATH1064还是一门“一旦你每周花时间学习,你就能过”的课。作为一门入门课,虽然它的知识点又多又广,但是并没有深挖,难度并不大。只要每周都能学习理解该周讲的内容,问题并不大。
6
学长/学姐分析
MATH1064中的知识内容其实并不算多,但是它也会让一些同学头疼,因为这门课知识点所涉及到的范围实在太广,几乎每一周的内容都是一个全新的板块,可能会让刚刚接触的同学们猝不及防。不过好在这门课是一门入门课程,主要起到过渡的作用,所以难度不是太大,并且有一部分内容大家在高中应该遇到过。更重要的是想要学好这门课,一定要控制好学习的时间和节奏。建议大家每周要及时看lecture,认真去刷每周的online quiz。个人认为online quiz还是非常重要的,可以帮助你理解如何实际做与概念有关的题,毕竟lecture上时间有限,只能吸收基本的概念而不是一道道题。一开始的时候可能会无法下手,可以多用practice的题练几遍就能上手。
对于课堂上的quiz,首先要记住考试时间(不是在tutorial上),另外quiz的题量不少,时间一定要掌握好。Quiz中的题不会有太多难题,基本上可以参考Practice class和tutorial课上题的难度。
INFO1110
1
小编前言
这门课的难易程度是绝对的因人而异:完全没学过编程的人觉得非常难;入门过编程的人觉得一开始很简单,但到后面突然难起来;只有有完整学过其他面向对象编程语言经历的同学才说简单。如果你对进入计算机这一行有兴趣,而以前又没有编程经验,务必要好好学这门课。
如果已经有一点点编程经验但是没有深入接触,千万不要被这门课“Introduction”的表象所迷惑。
2
内容简介
这门课根据侧重点可以分为两大部分:第一部分,python基本语法,面向过程编程的基础(If else,while循环,desk check,看流程图等等)这一部分如果有一定编程入门经历的同学都会感到可以掌握,因为python的入门非常友好,而且在线的资源很多。
第二部分,文件,错误处理,面向对象的基本概念, 递归。这一部分是大多数同学开始感到跟不上的一部分,因为在线的资源一般无法非常好的契合课程进度和考试类型。
3
老师简介
John Stavrakakis 是一位让大家爱恨交加的老师。众所周知他的课基本都被称作是杀手课,他的课对新手或者学习速度慢的人来说非常有挑战性,几乎都有残酷的当堂编程考试,Final的题也是出了名的又多又难。
但是,深入了解这个老师之后,你会发现他还是非常注重教育理论的。他希望尽可能多的学生可以从课程中有所得,希望学生有120%的自主能动性来自学和实践,而不倾向于“花太多时间去挽救必然要挂的学生”。
4
Assessment 内容(存在变动,仅供参考)
这门课每学期的Assessment都在变动,而且变化不小,据说John 是在实践中出真知,目前他的教学团队还处在探索最优教学方案的过程。我们就在这里来分析一下往届比较经典一届 的assessment。但首先要说的是,assessment 在每个学期中间都会做出一定程度改变变动,所以这里同学们看的时候要以你们当时的 Outline 为准哟。
Problem Set (5%):
原本整学期的计划是有5个problem sets但是在第一个作业做完之后,John就对作业的安排做出了调整。所以这唯一的Problem set还是比较简单的,题目也不长,新手花几个小时应该是可以完成的,内容就是简单的考察前几周的基础知识和编程水平。
Assignment (35%):
原本剩余的几个Problem sets被一个大的Assignment所替换掉了,这个Assignment相比往年的难度有所下降,只要平时上课有认真做题,就不会有太大的问题。但是Assignment的题量还是比较大的,可能需要花3-4整天的时间才能完成。
这项作业涉及到多个class之间的互动,也需要你自行写testcase去测试你的代码。做完了对Computer exam将会是巨大的帮助,这些Assessment都是相辅相成的。这个作业manual marking占的比重很大,所以即使过不了test case也一定要尽量多写代码,这样分数一定不会低。同学们一定要尽早开始,遇到困难也要及时寻求帮助,相信自己一定能完成的!
Online Task (10%):
类似签到,需要参与每个Tutorial就能拿分。所以这是为数不多能白拿分的时候,走过路过千万不要错过!
Fina (50%):
Final分为两个部分,第一个部分是机考。类似assignment的题目,然后给三天时间去完成。但是不同于assignment,final的题目没有test case,所以不能知道自己的代码是否是完全正确的,然后代码会由老师进行手判。
Final的第二部分是Oral,也就是口试。在这个环节,John会跟每一个同学进行一个1对1的提问和回答。这个环节所问的问题分为两类,第一类是跟学期中做的assignment有关,老师会用你自己写的代码进行提问,看看你是否知道自己作业里写了什么,以确保作业是你自己做的。第二个环节老师会问一些概念性的问题,着重点是第八周之后的内容,相关问题的难度可能相对较高,但老师也没有期待学生能100%的回答出来,主要是要确认你至少知道你学了什么。
值得注意的是,近几个学期的 Oral 貌似不是每个学期都有,所以大家一定在新学期的 Outline出了之后第一时间去看看哟~
5
难度分析
理论难度:
作业难度:
考试难度:
整体难度:
这门课毕竟是 Introduction 那自然也不会很难,不过可能对刚入大一的头几个礼拜不太适应大学生活的新生来说可能会有那么一些些挣扎,但是我相信只要你们掌握这门课的理论知识,那么这些困难都会迎刃而解。
6
学长/学姐分析
小编认为,在这门课上花多少时间都不为过。对于已经有一定编程经验的同学来说,这门课题目深度和教师资质足够你挑战自己的知识极限,甚至预习到大二的数据结构和算法课程。对于从没有编程经验的同学来说,请务必抛弃“用纸笔练习,看教科书,多看老师的视频”的习惯,一定要上手写代码,一定要上手写代码。
哪怕学习速度慢,也要相信,这个学科里笑到最后的人,并不一定是最早学编程的人,而一定是发自内心喜欢挑战,不畏惧失败和反复练习的人。
DATA1001
1
小编前言
DATA1001作为一门入门级别的数据科学课程,包含了必要的统计学知识。许多商科,经济,IT等等学生都需要学过这门课后,才能进一步学习高阶的数据分析课。
2
内容简介
DATA1001虽然属于data science范畴,但同时也是Bachelor of Advanced Computing的必选科目。作为大一的课程,其主要内容是对从未接触过数据统计学的学生进行大致的引导,对使用R进行数据分析和处理进行入门讲解。
该课程的主要目的是帮助学生发展数据统计思维,并使学生熟悉合理收集、观测、分析数据并得出结论的流程。通过这门课程的学习,学生能够对Data Science方面产生一个系统的理解。
3
老师简介
学校中这门课程分配的tutor比较看脸,根据tutor分配的不同,在打分上面也会有所不同。今年由于疫情影响缘故,大概率所有教学以及阅卷都在线上进行,无法进行面对面的presentation,因此在这方面的打分不会有太大影响。在tutor中,最值得单独详细讲解的一位(同时也是lecturer本人)名叫Diana Warren。
Diana是一名逻辑思维非常清晰,讲课水准很高,但语速也非常快的lecturer。她对每一个知识点的介绍都很明确,并且在slides上做的总结也能让没去lecture的同学能够比较轻松地理解。这位Lecturer同时兼任Tutor,如果运气好的话分到她的班里,她差不多是给分最松的一位tutor,正常情况下一个project基本在85%以上。同时,由于她本身是final的出题人,在上课的时候可以多问她一些重点,她本人也会偶尔透露一些final可能出现的相对重要的知识点。
4
Assessment内容
Participation (2%) :
只要参加lab就基本都会有分数,宝子们也最好多多提问~
Weekly Quiz(8%):
这个基本上好好看lecture slides的宝子们都不会有什么问题,都是一些比较基础的问题呢~
Project 1 (0%):
project (单人),project内容是寻找一个dataset或课程给出一个dataset,根据dataset提出有意义的statistical questions并进行简单的数据清理和数据分析。这些question需要围绕着module 1学习的主题提出。往期课程中,这里会有一个以组为单位进行5分钟的presentation。由于疫情影响无法到校,presentation大概会被取消(如果可以返校的话,presentation应该会恢复正常)。
Project 2 (15%):
Group project ),project开始之前会对所有学习DATA1001的学生开放survey,survey并非强制参加,但最终project使用的dataset来自于这个survey的结果。根据这个dataset,提出有意义的statistical questions并进行简单的数据清理和分析,最终得出答案。Question需要围绕module 2的学习内容提出(linear model)。如果能够返校,project assessment内容大概还会包括5分钟的presentation。
Project 3 (15%):
Group project ,最后的project会由学校提供一个dataset。根据这个dataset,提出有意义的statistical questions并进行简单的数据清理和分析。Question需要围绕module 3或module 4和先前所学的内容综合提出(hypothesis testing)。同时,以组为单位进行5分钟的presentation。
Final Exam (60%):
关于整个课程的考核。课程一共包括四个module,分别为exploring data、modelling data、sampling data以及decision with data,final出题的范围相对来说比较平均。对于大部分学生来说,前两个module的难度相对较低,pass到credit的题目基本都在这两个模块当中,后两个模块的出题模式大多为简答题,通常是给出一组数据或事例,要求学生根据数据对某些问题进行分析。对于这门课程来说,掌握对数据进行总结分析的能力是必要的。根据给出的可视化数据,需要懂得如何判断它对应的模型,计算相关的模型数据,并根据要求代入新的数据对未知结果进行预测。或者根据给出的数据,判断某个数据假设是否成立。对于这门课程来说,只要你掌握了对应问题的答题“公式”,大多数题目都能迎刃而解,因而final的难度通常不大。然而今年由于疫情影响,final的题量可能会有所提升。
5
难度分析
理论难度:
作业难度:
考试难度:
整体难度:
作为大一第一学期的入门课程,DATA1001本身的概念理解起来难度并不是很大,而且有很多内容是学生在高中就接触过的数学知识。只是该课程覆盖范围较广泛,需要掌握的知识虽然并不深入,但难点在于记忆量较大,因此理论难度给出4/5。
而对于作业难度来说,对于给出的数据的分析本身难度并不大,只要你制作出一张清晰的可视化数据图,基本就能够轻松地从图像上获得想要的信息。而作业的难点主要难点在于对R语言的运用,对于没有接触过计算机编程的同学来说,这门语言在一开始会显得非常复杂。这个时候不要因为它的复杂度和令人费解的报错信息而退却,学会运用谷歌,StackOverflow可以帮助你解决很多入门的r语言问题。同时,这门课程只要掌握了部分常用的函数就能够保证轻松完成三个project,因此平时的lab不要缺席也不要划水,遇到问题就向善良的tutor们提问,r语言一旦入门,用起来还是很便捷的。
通常情况下,该课程final考试难度相对简单,大多是lecture上面的知识点以及简单的计算内容,同时也会包含一些理论分析题。然而由于疫情影响,如果始终无法返校,final以canvas quiz形式进行的话题量和难度可能会有所提升。以防万一,建议final复习之前用textbook上面给出的例题进行复习,对于学校给出的sample exam,写的时候推荐大家按照exam mode进行计时。对于大多数科目来说,刷题是提高答题效率最直接的方法。
6
学长/学姐分析
总言之,该门科目是一项入门课程,知识点的难度并不是非常大,但也有需要注意的问题。在学习过程中,绝对不要因为入门简单就不听lecture,全都挤到考前最后一周恶补。课程中间穿插的概念有一些甚至会延伸到大二大三,突击复习很难在短短一周把所有内容吃透。这门课程主要需求是把概念弄熟,不要害怕写代码,R code都是练出来的。
本身R语言并不是特别难,而且这门课需要掌握的基本只有几个常见操作,了解基础工作原理和简单的函数就能保证完成project和rquiz。当然,想要拿高分还是要下一点功夫的。对于project,如果开学可以返校,强烈建议与看起来靠谱的老外组队,尽量不要一组大量中国人抱团,presentation还是本地人有巨大优势,而且project不仅仅只写代码,还要有良好的语言组织能力对分析数据得出的结论进行评价和总结。
4
干货结言
好啦!关于大一第二学期 IT&CS 的同学们会接触到的每门课的分析小编就暂时跟大家分享到这里,希望能为所有看过的同学们提供帮助,同学们对于上面有疑问可以扫码小助手私信进各科学科群获取更多学习咨询哟!
接下来还会陆续推出各种理工福利文。敬请期待