最近對「演算法設計與實作」這門課的想法
上禮拜上課的時候,不知為何我突然覺得這門課很像中學時代上的數學補習班,老師教你一套針對某類問題的通用解法,你就根據這套解法去練習解題目,只是現在不是用數學語言描述,而是一套解決流程,然後再把解決流程轉成code 可能是因為預設學生有修過資料結構、演算法概論,一些正確性的說明和細節就不談,這讓我有時候對於題材難以接受,或是不知道怎麼轉成code 助教常常問我們懂不懂,我心想所謂「懂」,可以分好幾個層次和方面,知道整個解決流程在說什麼、怎麼轉成程式碼、這方法可以解決什麼條件下的問題、理解正確性的證明...,有時候我知道了解決流程、也能轉成code、但我不知道為什麼這解決流程對,這似乎導致,我知道課堂上教的方法可以解決某些條件下的問題,但是當碰到有變化的題目時,我常常就想不太出來了 也許真的進入的時間早晚、累積的努力、和天資有差異吧,這讓我回想之前學習數學的一些經驗,我認為自己對數學的sense滿普通的,只是國中的時候,補習班老師給我們寫了一些AMC題目,這是一個契機,讓我覺得思考這些不同於教科書上的死板題目還算有趣,升高中後,我就想去報名一些考試,嘗試看看,我在考AMC、AIME前花一點時間做些歷屆題目,有時想一下學校公布的兩週問題、跟同學討論課內或課外數學問題,不知不覺間好像我就有一點點數學水平了,就至少能運用所學內容,思考一些大部分人眼裡「比較靈活」的題目 程設、資料結構和演算法,我進來的時間太晚、累積的努力太少、可能也沒什麼天資,嚴格說起來大約是去年九月、十月開始學(高中有堂課教程式語言但我早忘光,大一的計概上完我還不知道編譯是什麼...),然後這學期上「演算法設計與實作」這門課,我感受到跟一些同學有不小差距,我覺得我很難跟他們在這方面競爭,可是資工並不是只有在搞演算法和資料結構而已,不同子領域偏重的地方不一樣,應該不是完全沒路可走