Sean(鄭宇軒) === **Intro:** - NCKU CSIE(2015~) **Work:** - Contest: - KDD Cup 2017: Highway Tollgates Traffic Flow Prediction **Other:** - Wake Lion(2016~) Contact: === - email: `wannaplay1304@gmail.com` System Embedded Spring 2017 === Homework: --- - Homework1 (phonebook): [GitHub](https://github.com/Sean1127/phonebook) / [HackMD](https://hackmd.io/s/rJ_AxziKg) - Homework1 (raytracing): [GitHub](https://github.com/Sean1127/raytracing) / [HackMD](https://hackmd.io/s/ry8Fbfstg) - Homework1 (compute-pi): [GitHub](https://github.com/Sean1127/compute-pi) / [HackMD](https://hackmd.io/s/BkcpbzoFg) - Homework3 (software-pipelining): [GitHub](https://github.com/Sean1127/prefetcher) / [HackMD](https://hackmd.io/s/ryQ_80njx) Project: --- - Toward Concurrency 2.0: [HackMD](https://hackmd.io/s/Sy1x0XiAe) - MapReduce: [GitHub](https://hackmd.io/s/HJNu64sJZ) / [HackMD](https://github.com/Sean1127/mapreduce) 心得 --- 如同老師開學所說,這是一堂頗有挑戰性的課,但照理來說,大學裡的每堂課也都應當如此。若要總結本學期最大的收穫,其一是認識到自己不足的地方,其二是了解如何去搜尋跟篩選資料,其三是認清做一個工程師的生活不會輕鬆。 事實上,收穫絕對不止這些。例如本堂課以"複習所有資訊系的必修科"自居,結果的確是達成了這個目標。要寫出一個合格的程式,必須熟練C語言、資料結構、演算法、硬體架構...。C 的部分有 bitwise operator ,在 strlen, clz(ctz) 一些最基本的操作,再來是更深入的了解 pointer,進而在 C 用上 OOP 的概念實作 encapsulation。資料結構和演算法雖然用的不多,但仍有許多東西必須回去翻書,像是 heap, tree, merge sort。硬體架構尤其重要,首先是最關乎電腦速度的記憶體架構,因而需要處理 cache。這裡又分成前處理(pre-fetching)跟後處理(cache friendly algorithm)。計算機組織上課的內容自然不在話下,還要知道使用 GPU 讓計算再加速的方法。如果直接操作 assembly,也需要套用很多最佳化的方法。最後,能夠達到"就算是 gcc -O0 也跟 -O3 一樣快"的程式才算大功告成。 當然,我也因為這堂課的需求而去裝了 win/ubuntu 雙系統,但對於一個 window 使用者(簡言之: 電腦白癡)而言實在是無法習慣,所以最辛苦的就是前 4 個星期了。現在回顧起來還能對以前的自己自嘲的說"身為資訊系學生,電腦裡居然沒有裝個 linux,還不趕快去裝"。 我會推薦所有人來修這堂課,希望這不會帶給老師困擾,我知道老師超級忙。但自認程度不錯的同學可以來這邊挫挫銳氣,程度不好的同學可以來這邊快速進步,此乃"資訊老少"皆宜的課程,何樂而不為?只能說,誠實面對自己永遠不嫌晚。 自我評量分數 (1 到 10 級分) --- 我給自己6分。我不認為自己夠認真投入,而且後半部的課程,除了兩次作小組作業以外,多半沒有每周花 25 小時在這堂課上。一部分原因是在參加了 KDD Cup 大數據競賽,雖然最後也沒有得名。另一部份是我在猶豫要不要繼續走資訊這一行。老師一再強調這一行的運作模式,強烈的競爭、技術時時刻刻都在更新等等,這些我還可以接受。而這堂課就像是模擬剛出社會開始工作的情境一般,充滿挑戰、而且看似沒有完成的一天。每天每天就是起床、工作、吃飯、工作、睡覺的循環。但人總是有彈性的疲乏,經過本學期的實驗後,我發現自己的疲乏期限是 1 個半月,這也算是額外的收穫之一。過了 1 個半月後,我很容易產生一種抗拒的心理,而會需要轉移注意力的對象,例如改準備通識的報告、或是讀科外書。我認為這是今後要面對的一大問題,比起其他什麼專業知識還來重要。如果能早一點發現,或許就能找老師商量來解決了,因為像我這種有奇怪理由偷懶的人,老師以前肯定治療過不少吧。 總之這個升大四的暑假開始進入專題的重要階段,希望可以趁機培養好自主學習的習慣。期待暑期間的 C 語言講座與下個學期的課再見。