大一新生,熟悉並適應一切生活和學業上的改變應該是大家的首要目標。這篇文章我們將重點放在學科上面,作為雪梨大學最大的工科學術交流平臺,我們會詳細為大家分析每一門大一必修課,包括其教學內容,老師怎麼樣,整體難易度,以及學長學姐們的學習心聲。
FEIT小助手和多位學霸Tutor攜手整理了這份超詳細的Advanced Computing大一S2學業手冊,為的就是為各位同學打消疑慮。作為一篇純乾貨,2019年入學的新生們必讀必收藏!
此篇文章將詳細分析
IT&CS同學們在大一下學期會接觸的課程
解析主要內容包括一下幾點:
1.小編前言
2.課程簡介
3.老師介紹
4.Assessment內容
5.難度分析
6.學長/學姐建議
INFO1110: Introduction to Programming
INFO1113: Object-Oriented Programming
MATH1064: Discrete Mathematics for Computation
ELEC1601: Introduction to Computer Systems
1. INFO1110: Introduction to Programming
這門課的難易程度是絕對的因人而異:完全沒學過編程的人覺得非常難;入門過編程的人覺得一開始很簡單,但到後面突然難起來;只有有完整學過其他面向對象程式語言經歷的同學才說簡單。如果你對進入計算機這一行有興趣,而以前又沒有編程經驗,務必要好好學這門課。如果已經有一點點編程經驗但是沒有深入接觸,千萬不要被這門課「Introduction」的表象所迷惑。
這門課根據側重點可以分為兩大部分:
第一部分,python基本語法,面向過程編程的基礎(If else,while循環,desk check,看流程圖等等)這一部分如果有一定編程入門經歷的同學都會感到可以掌握,因為python的入門非常友好,而且在線的資源很多。
第二部分,文件,錯誤處理,面向對象的基本概念,for循環機制,遞歸。這一部分是大多數同學開始感到跟不上的一部分,因為在線的資源一般無法非常好的契合課程進度和考試類型。
John Stavrakakis 是一位讓大家愛恨交加的老師。眾所周知他的課基本都被稱作是殺手課,他的課對新手或者學習速度慢的人來說非常有挑戰性,幾乎都有殘酷的當堂編程考試,final的題也是出了名的又多又難。但是,深入了解這個老師之後,你會發現他還是非常注重教育理論的。他希望儘可能多的學生可以從課程中有所得,希望學生有120%的自主能動性來自學和實踐,而不傾向於:
「花太多時間去挽救必然要掛的學生」。
Tutorial Online Assesment (10%)
必須在自己的tutorial裡,在學校的Edstem網站上完成一個相對簡單的編程題。一般要求15分鐘內完成,tutor可能會適度放寬,看班級的整體完成情況。有不會的可以問tutor,儘量自己完成,相當於籤到分。需要注意的是,這門課有double pass!許多學生因為不知道這一點,tutorial不去,白白掛掉。
Assignment (0%)
你沒看錯,這門課的assignment佔比百分之0!這是出於John給我們「減負」的目的。然而,你以為你就可以不做assignment了嗎?的確可以不做,但是小編表示,幾乎所有掛掉的學生都沒有做assignment,而D以上的學生幾乎都做了。做還是不做,取決於你。
Computer Exam (15%)
一共有兩次computer exam,第一次百分之0,更傾向於讓你熟悉考場的感覺用。第二次則是百分之十五。考試的難度基本是大多數人只能拿到40%不到的分數,而低分的同學也幾乎都是第一次沒去的人。考試的評分規則是殘酷的:自動化打分,過了幾個test case,就拿到對應比例的分數,全過就是滿分;代碼無法運行,就是穩穩的0分。不會有手動改卷給你辛苦分的機制。
Quiz (15%)
兩次Quiz,一次5%,一次10%。紙筆編程,類似final的模式。平均分在pass左右,比較難,不可掉以輕心。
理論難度:
作業難度:
考試難度:
整體難度:
這門課畢竟是 introduction 那自然也不會很難,不過可能對剛入大一的頭幾個禮拜不太適應大學生活的新生來說可能會有那麼一些些掙扎,但是我相信只要你們掌握這門課的理論知識,那麼這些困難都會迎刃而解。
小編認為,在這門課上花多少時間都不為過。對於已經有一定編程經驗的同學來說,這門課題目深度和教師資質足夠你挑戰自己的知識極限,甚至預習到大二的數據結構和算法課程。
對於從沒有編程經驗的同學來說,請務必拋棄「用紙筆練習,看教科書,多看老師的視頻」的習慣,一定要上手寫代碼,一定要上手寫代碼。
哪怕學習速度慢,也要相信,這個學科裡笑到最後的人,並不一定是最早學編程的人,而一定是發自內心喜歡挑戰,不畏懼失敗和反覆練習的人。
2. INFO1113: Object-Oriented Programming
INFO1113可以被看作是INFO1110的升級版,也是更貼近現實工作的編程課程。和Python相比,Java的難度無疑上升了很多,但與此同時學生們會擁有更大的自由度去對自己的程序進行改動和學習,也能夠加深學生對編程概念的理解。
按照官網最新的syllabus:
INFO1113基本取消了assignment的概念而著重關注學生的上機考試能力,也就是更加關注學生對於語言的掌握程度以及心態調節能力。
Participation的分數一般來說多數時候是白送的,但是同時也要注意可能這些分數可能會通過完成task的方式來進行分發,所以一定不可大意。三個上機考試共計25分,兩次quiz共計15分再加上participation的10分,應該說沒有太大的難度,但是也不可大意。
這門課由於和1110並沒有前後置的關係,所以很多1110遇到困難的同學也需要就讀這門課程。這裡要注意的是和Python相比Java的難度要高不少,所以1110沒有打好底子的同學很有可能會度過一段艱難的時間。
相反,1110讀的相對認真的同學則會受益於自己打下的基礎,而在Java中除了語法以外只需要記得常用的function名就可以保證分數相對可以接受的下限了。
想要拔高的同學同樣需要付出額外的努力,尤其是Java的Debugging要相比較Python更加難以摸索的情況下,可能需要投入相對多的時間。
1. 如果在1110中沒有打下好的基礎,那在就讀1113之前的假期或是學期初期務必惡補編程的基本概念。
2. 同樣,請自我扼殺任何找代寫或是抄作業的想法,不僅浪費金錢,也會讓自己不學無術。
3. 上機考試時保持冷靜並且在前一天保持充足的休息,這樣才能保證大腦運轉的足夠流暢。
3. ELEC1601: Introduction to Computer Systems
這是一門計算機系統入門的課,有一定編程基礎的學生學起來會稍微輕鬆一些。這門課是Electrical Engineering和 Advance Computing第一年的必修課。它教給學生的內容非常有價值,也將會是學CS的同學和計算機硬體接觸最多的一門課。
ELEC1601 Introduction to Computer Systems這個unit上課的方式是每周兩小時的lecture和兩小時的tutorial,再外加三個小時的lab,課時相當比較繁忙。
課堂上主要學習的內容包括 2s complement(二補數),computer memory(計算機內存),logic gates(邏輯門),assembly language(彙編語言)等等。
這些內容都是計算機領域的常用基礎知識,同學們應該熟練掌握這門課所教的內容,這對未來的學習會很有幫助。
2019 第二學期這門課的講師換了,新的coordinator叫David Boland;換人的原因據說是因為去年的老師很不負責,遭到太多學生投訴就被撤了。
往屆的lecture上,老師都是帶學生直接做例題,所以強烈建議同學們課前把題目都嘗試完成一遍,帶著問題去聽課一定會事半功倍!但願下學期新老師能為同學們多多著想,給大家營造更好的學習氛圍啦!
這門課的assessment相當分散和雜亂:
Final佔40%,有20道選擇題和4道簡答題,各佔一半的分數。
Lab的內容一共有20%,其中5分是一個individual report,剩下15分是group project和report。
Midterm exam佔20%,是20道選擇題。
剩下20%有10分lecture前的online quiz 和 5分tutorial前的online quiz,這兩個差不多都是選擇題,記得每周都要做哦。還有最後5分是記tutorial attendance和活躍度噠,每次都去並且多多提問就好啦。
理論難度:
作業難度:
考試難度:
整體難度:
告訴大家一個好消息!!
雖然這門課的內容比較多也比較難,但是很好拿分的,這門課用心一點去學就不容易掛噠!其中lab和別的課堂內容基本上是獨立開的,所以我們接下來分開講。
先說Lab:一定要找好隊友,EE專業的強推,英語好的也至少有一個。Lab是一定要會編程的,每個組員都要熟悉代碼,不會寫沒關係,但至少要理解每一行的意思。寫report的技巧就是完全要按照老師給的rubric去完成,這樣基本上可以拿80%~90%左右。Rubric都可以在canvas上面找到噠。Project也不要等到最後第12周才開始做,越早想清楚做什麼並且著手開始完成越好。
平時課堂:就一定要同學們緊跟進度,一周沒跟上的話,那一周就要想方設法立刻補上,否則後面會非常吃力因為內容真的很多。tutorial的題目比較難,大家盡力完成就好,但是每周的online quiz的選擇題都很好,大家一定要吃透這些選擇題,他們可以無限次做,這樣子考試就能遊刃有餘啦。
最後final的小建議就是:13周的時候老師在canvas上給大家的sample simulation題目一定要用心做完,哪怕不會也把答案背下來,因為它和最終考試的題目極其相似,寫完了final也就不怕啦!
以上就是一些學習ELEC1601的小技巧,祝同學們下學期學習順利~
4. MATH1064: Discrete Mathematics for Computation
這是有關離散數學的概念及應用的課程。作為計算機專業的必修課,他更加強調計算。對比science那邊的Math1004, Math1064需要用到更多的Math object, 比如說sets (集合), functions (函數), relations (關係), orders and sequences(秩序和序列)。
Final Examination (60%)
Final Exam 兩小時,比Quiz難度大很多。有些題的難度與Assignment最大難度的題不相上下。
Assignment(10%)
是一個以pdf形式上交的作業,題目會比在Tutorial sheet上見到的難度翻倍。
Quiz(20%)
Quiz是在practice課上考的,題目類似於Tutorial sheet上遇到的稍容易的題目。每周Tutorial sheet都理解並做完會對Quiz有很大幫助。這個Quiz是有Better mark principle的。(Better mark principle是什麼可以參考學校網頁)
建議Quiz拿滿分
Online Quizzes(10%)
題目類型為單選以及多選題。題目比較Tricky,但不限次數做題也不更改題目類型。儘量多拿分。
理論難度:
作業難度:
考試難度:
整體難度:
Math1064為第二年的Comp2123打下很好的理論基礎。建議認真學,日後學其他課會輕鬆很多。
這門課在lecture上lecturer帶你解題的情況不多,大多是教理論,實踐要靠自己做題和每周一小時的practice課。理論知識量很大但難度可以接受,學起來還算比較輕鬆。是一個可以衝刺高分的課。
如果Practice sheet, tutorial sheet 都做完了還是覺得不夠題做,可以挑戰textbook的題。每個章節都有差不多50道練習題。textbook提供部分答案。