# 訪談問題 台師大資工 116 吳振榮 41247012S ## 問題 1.1 這堂課我表現的非常差,一部分是剛進大學我對大學課業掌握度很低,不知道怎麼準備考試和作業。另一部分,這堂課是全英文,我也還不太會去網路上搜尋中文相關資料,所以整個課程表現非常差,但我相信如果再修一次,我一定可以表現的更好,因為這堂課是非常好的課。此外當初想選修這堂課是因為大家都有修,學長姐也非常推薦修,加上我對於大學選課也不是很清楚,所以我就跟著去修了。 ## 問題 1.2 因為我非常喜歡作業系統,非常想要修作業系統相關的課程,所以毫不猶豫的選修「作業系統」這堂課程。然而「作業系統」只有 EMI 的課,所以只能選修這堂,但是我非常喜歡王超老師的授課方式,以及王超老師本人,所以這也是我會想要選修的原因之一。 ## 問題 1.3 如果王超老師有開中文的「作業系統」課程,我一定會選。 但如果是其他老師開中文的「作業系統」課程,我可能還要稍微考慮,畢竟王超老師是大家公認的好老師,人很好、教的也很好,只是我自己單純英文爛而已。 ## 問題 2 我覺得整個作業系統有一個非常重要的概念,這個概念貫穿了作業系統的本質,這個概念不只王超老師說過,其他教授也有跟我講過。那就是 policy 和 mechanism ,在真實世界會有數不盡的 case ,我們完全無法預知到所有使用者會怎麼操作,也沒辦法掌握所有的突發狀況,而這就是 policy 。因此我們要設計一個更好的系統,這個系統要做好 mechanism ,這個 mechanism 就是去應對真實世界的各種 policy ,如前面所說,我們無法預知所以的 policy ,因此我們要設計一個更加 general 的 mechanism 來去應對真實世界的各式各樣 policy 。所以設計一個好的 mechanism 主要就是要思考系統的靈活性、可配置性以及可擴展性,而這是作業系統中非常重要的概念,因為他作為計算機底層,如何面對使用者實際操作系統是一件至關重要的議題。 ## 問題 3.1 其實是不會到太擔心英文看不懂,並竟兵來將擋,水來土掩,聽不懂就問,看不懂就查,網路上也有大量中文翻譯的資料,所以不是太大的問題。 ## 問題 3.2 我覺得是有的,因為我很容易因為考不好而焦慮,這兩次考試沒有犯錯,以及剛好有準備到考點上,對我來說有幫助我對於課業沒那麼焦慮。 ## 問題 3.3 我覺得我期中考應該要表現的好一點,剛考完我以為我會是滿分(畢竟每一題都會寫),但是犯了兩個低級錯誤,所以就被扣掉一堆分數了。但是就我對於考卷的掌握度我反而覺得期中考是比較高的,反而期末考很多都寫的很茫然,表現我覺得比較差,只有比平均高了一些,但我覺得我是沒有真真切切的理解作業系統,所以期末我覺得相較於期中考,並沒有越來越能跟上老師的趨勢,以及也沒有覺得容易很多,我覺得其實都不簡單。 簡單來說,我覺得我在這堂課的成績並沒有和我的學習表現成正相關,只是考試有沒有粗心,以及考試有沒有準備到考點上而已,所以對於整堂課而言,我自己認為沒有學習效果越來越好的趨勢。 ## 問題 3.4 我覺得如果是中文授課,我應該會表現的更好,因為作業系統這種內容是有難度的,有時候會有點抽象和複雜,我腦袋要思考作業系統複雜的東西,同時還要自動把收到的英文內容轉成腦袋中的中文內容,這樣變得更加困難。而且有時候上課上到後面只要有一個地方英文聽不懂,很可能導致後面不知道在講什麼,所以我回去都要重新補影片。 如同前面所說,我覺得期末成績不一定和學習表現有成正比,因為有時候很看準備考試的 cover 率,可能我剛好有 cover 到那個內容,我就會寫。同時有沒有粗心也是影響我很大的因素。 因此我認為除了看期末成績,我覺得看學生在作業上的表現會是一個很重要的要點,因為作業是真的上手實作,同時也更加符合真實世界,我覺得作業也是衡量學生一個重要的標的。 ## 問題 4(a) 如前面所說,我並沒有覺得我期末成績不錯,所以自然也沒有覺得是什麼因素讓我在這門課表現的學習成績不錯。 所以我覺得與其說是什麼原因導致我的期末成績不錯(雖然我覺得我考得很差),或許可以討論關於作業的成績會更加有意義。 我覺得我在作業成績表現上也不錯,我覺得能讓我作業成績表現上不錯,有一大要點是我大部分都是自己寫,自己查資料以及和同學仔細的討論,這幾點都是讓我作業成績不錯的原因。 雖然現在生程式 AI 越來越好,用 GPT 的確能完成很多作業的規定,但大部分時間我都會靠自己去寫,而在使用 GPT 時我也會想知道他幫我做了什麼,而不是功能達到了,就直接交作業,我認為理解 GPT 幫助我們寫了什麼程式更加重要。 ## 問題 4(b) 我想應該是對於作業系統的熱忱吧,畢竟在計算機科學中,我最喜歡作業系統這個領域,所以除了老師上課教的內容,我還會額外去網路上找其他作業系統的資料,我覺得很有趣。 ## 問題 5.1 ### (a) 我對於王超老師講的這個例子沒有太大的映像,所以好像沒有特別察覺到他有換句話說,但是我知道老師在整學期的課都會有換句話說的上課模式,老師很常有這樣的教學模式,我都有感受到,我覺得這樣的方式非常喜歡,不管是「換句話說」、「簡單來說」、「簡而言之」都有幫助。 ### (b) 第一次和最後一次應該是分別為 CPU virtulization 和 loggging 的內容。 CPU virtulization 這裡是我覺得整學期相對比較簡單的部分,因為這部分老師沒有講很複雜的例子,都是比較單純的 case ,所以可能不用換句話說我就能聽的懂。 而 logging 的部分我覺得重點在於去看 xv6 source code 那比較重要,看懂這部分的 code 才比較能理解這一部分。 ### \(c) 在中間兩次的時候主要是 memory virtulization 以及 multi thread, concurrency, synchronization,那個部分我覺得是整學期最困難最複雜的地方,所以如果能在這個部分稍作停留,多花點時間做解釋,這樣會對我們非常有幫助。 我覺得最難懂的會是 multi-level page ,這個部分會有很多名詞,很多名詞 ,像是 PTE, PTBR, PDE, PDBR ,之類的內容,有些非常相似,功能也有可能類似,這時候如果有換句話說,我想會有所幫助。 ## 問題 5.2 ### (a) 當學生在台下聽課的時候,大部分都是老師講,我們聽,腦袋可能不是頻繁運作,因此當老師用反問的方式去詢問學生,此時學生在台下也能跟著思考,思考老師問的問題,不僅僅只是老師跟我們說他是怎麼運作的,而是可以針對比較有趣、特別的地方,讓學生可以跟著思考。 ### (b) 我覺得再講複雜一點的觀念時可以用這樣的策略,這樣可以帶領學生和老師一起思考。如果是比較簡單的部分,應該就不用用反問的方式,但當然能讓老師和學生一起思考,是一件非常好的事,讓學生不僅有參與感,同時對於複雜的觀念,可以讓學生好好思考這個問題,而不是馬上得到答案,這樣讓學生也能好好 go through 這些觀念。 ### \(c) 跟前面有提到的,memory virtualization 比較困難,這樣的主題如果讓同學一起跟著思考我覺得幫助會比較大。像是為什麼 PTE 的 bit 佔多少,或是 Virtual address, VPN, PPN 的 bit 為什麼是使用這些 bits 的數量,我覺得先用反問的方式讓學生一起思考,再帶著學生去推導這些內容,我想會非常有意義,因為這些 bits 數量的規劃大多都是有特別設計過的。 以及像是 concurrency 的部分,其實有很多巧思,包括 synchronization(mutex lock, conditional variable, semaphore) 那如果像是 CPU virtulization 這觀念比較沒有那麼複雜,反問的效益可能沒有 memory virtulization 那麼大,但也是一個不錯的策略。 ## 問題 5.3 4 分和 5 分都是非常好的策略,但有些策略可以對學生有極大的幫助,我可以給到 5 分,有些內容很有幫助,但如果沒有這樣的策略,其實還能理解。   即使我已經修完課,但我依然還是對 memory virtualization 非常印象深刻,因為老師上課有畫圖,用這樣圖表和插圖真的幫助我非常大,讓我對 memory virtualization 更加熟悉以及更加清楚,這真的是非常好的方式。   此外在 multithread 的部分使用圖表也能非常有效的幫助學生理解,包含 concurrency 和 synchronization 都是至關重要的。 格子背景的是我的作業,我自己也會畫圖出來理解他。 下面那張用紙筆寫的是助教寫的作業答案,那兩張圖片是同一題,只是一張是我寫的,一張是助教寫的答案。 但都能看出來用畫圖出來的方式更加清楚。 那至於第一次和最後一次我打 4 分,不是代表不好,只是可能沒有使用多媒體我依然還能理解,因為老師有在 CPU virtualization 開電腦給我們看課本的圖表,但如果沒看,我還是能理解,畢竟我覺得這地方比較容易。 簡而言之,我認為用多媒體是很有幫助的,針對大部分的主題都能幫助學生理解,至於 4 分和 5 分都表達出這是非常好的策略,我非常喜歡老師用插圖和表格來授課,可以有效的幫助學生。 ## 問題 5.4 我覺得上述的所有策略都超級有效,也是我很喜歡王超老師上課模式之一,因為這些策略,老師在我大一修類比數位運算元件的時候就有使用,我覺得都很有效的幫助學生。 7. 把冗長的講解拆分成小段落。 9. 在黑板先寫下當日教學主題的重點摘要。 11. 提供課堂錄影作為複習使用。 但這三個是我覺得非常重要的,像是 7 的話我也覺得非常重要,但是我目前沒有想到拗師上課實際用到的例子。 而 11 我覺得是非常非常有用的,他幫助我非常多,我可以在上課沒聽懂的時候依然可以回家重新看一次並複習。 ## 問題 6 我的或許可以搭配更多中文在課堂上,因為我覺得這是最簡單、直接的方式幫助學生理解英文課堂內的內容。 所以如果可以針對一段話、或是比較複雜的例子,用英文講完如果能再用中文重講一次(當然可以避免細節,可以大方向)。 ## 問題 7.1 我覺得大概有 5 成至 6 成是來自於在老師課堂以及回家再看老師的課堂錄影。剩下的內容大多是從課本以及網路上資料上學習到的。 ## 問題 7.2 除了上課聽講,我還會去網路上找一些文章,例如從中國大陸的 CSDN 、知乎或是一些人在網路上寫的部落格去做學習。此外對於不懂的內容,我也有搭配生成式 AI 來去學習,對於不懂的觀念我也會詢問 ChatGPT 相關的觀念。 再來作業系統在某方面他是一個很 practical 的領域,有時候會需要看一些實體例子會更加理解這部分。 所以我會詳細去閱讀 xv6 的 source code ,我會針對 xv6 source code 有趣的地方和同學去討論,最讓我印象深刻的是 xv6 是如何巧妙的運用 virtual memory ,用 C 語言優雅的處理 shell 讀取 command 。這個做法真的令我震驚,因為我從未想過可以這樣寫,我也和同學討論了這個知識點,而這也讓我對作業系統 practical 部分更加認識。 簡單來說,我會去讀課程中使用的 xv6 作業系統的 source code 來更認識這個領域。 而這些學習大概佔據了我 50% 的作業系統學習時間。 ## 問題 8.1 資工系的計算機圖學 ## 問題 8.2 可能還是因為作業系統是我喜歡的,之前修過的 EMI 是類比數位運算元件,但是當時還沒掌握大學課程,所以表現的不好。 那我修的另一堂 EMI 計算機圖學,雖然我是拿 A+ 但我自己覺得我的表現沒有到卓越,很多觀念也還是沒弄懂,而且上課基本上都沒聽懂,都是回家補老師提供的中文版影片才懂得。 我覺得作業系統這堂課主要是內容本來我就喜歡吧,才會覺得相較於其他課程,我的學習經驗比較好。 ## 問題 8.3 ### (a) 對,我修的所有 EMI 課程,老師上課講英文我都聽的蠻吃力的,同時我比較常與同學討論,幾乎沒有去找老師討論過。 雖然老師沒有說要用英文發問,但大部分人都是用英文,這讓我覺得不太好意思發問,因為我有很多英文文法和單字不熟悉,怕講出來丟臉。 ### (b) 如前面所說的,我覺得我期末沒有考的很好,所以對於聽懂英文授課的部分我是真的沒輒,畢竟大多都沒在課堂內聽懂,大多是在課後回家反覆看影片以及網路上查資料才有比較懂一點。 ## 問題 9 ### (a) 因為上一堂課往往都是連續性的,前面聽的懂,後面才比較容易聽得懂,如果前面有東西沒聽懂,這樣後面的東西也有可能聽不太懂。 所以當我在課堂上因為某一個地方而沒聽懂或是恍神沒聽到,可能會導致後面就聽不懂。所以當我發現我開始聽不懂時,我可能就會開始讀自己的,回家再補影片,所以很可能會沒辦法保持專注在老師的課堂內容。 並且有時候老師會講到一些我沒聽過的東西,我會想要馬上自己去查,自己去搞懂這些我沒聽過的東西,所以會導致上課無法玩圈專注在課堂上。 ### (b) 如前面所說,作業系統是我在計算機科學中最感興趣的領域,我非常喜歡這堂課,以及這堂課教授的內容,所以我在這堂課花了很多心思,並且會在課餘時間讀更多作業系統的相關知識,並且我也很喜歡跟同學一起討論作業系統相關的知識,以及我遇到一些沒看懂的內容,也會去和同學請教和討論。 如果有同學在課堂內容沒看懂或是作業不太了解,我也很願意和他分享我的想法和跟他一起討論細節。 畢竟我非常喜歡作業系統,我才會這麼投入這堂課。 ## 問題 10 每一項都具影響力。 英語能力大大影響我是否能聽懂課堂的內容,以及網路上有非常大量的文獻或是資料也都是英文的,同時教科書也是英文的,因此英文能力大大影響我是否能理解這些內容。 王老師上課的策略非常好,一路從上課先說今天內容的 overview ,到上課會用不同說法來解釋同一個觀念,以及利用圖畫帶領學生了解,還有實際帶我們看程式碼,一直到課堂最後有今天課程的 summary 。這些教學策略都幫助我的學習,讓我對於這門學科盡可能的有更大的學習效益。 我覺得我對於作業系統這門科目的任務我有足夠的信心,所以即使我期中考試失利,我依然沒有放棄或停修,反而更努力的想要在期末板回一城,並且課堂作業也非常努力的去完成,bonus 也盡力完成,小考我也很認真的準備。 對於課程的投入程度或許蠻明顯的會影響學好作業系統的學科知識,我是蠻投入在這堂課中的。 ## 問題 11 我想可以把期末專題納入這堂課,大概在期中的時候可以 release 期末專題的題目,讓大家可以個人或是分組的完成一份 OS 相關的期末專案。例如可以讓學生寫出自己的 scheduler ,然後可以做一些 task
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up