作者hsnuonly (資工原眼科)
看板SENIORHIGH
標題Re: [問題] 去巨匠電腦上課是否必要?
時間Sun Apr 24 20:57:20 2016
※ 引述《johnnykao530 (littlejohnny)》之銘言:
: 大家好,小弟申請上資工系
: 但因本身對程式語言方面沒什麼基礎
: 因此想事先學習
: 但剛剛去巨匠電腦問了課程
: 一年課程要3萬接近4萬(一次都要一年)
: 是會學習到很多啦
: 但這也太貴了==
: 想問各位學長姐同學們
: 這樣子有必要先修嗎?
先推別人的文 免得誤人子弟
http://blog.turn.tw/?p=1283 這種坊間資訊方面的補習班 最好都不要去
詳細的原因就不談了 可以自己去soft_job爬爬看
課程一般只會推資策會 只是那種是給半路出家的人學的
一般來說大學程式設計都是教C/C++
當然C/C++是功能很強大的語言
只是很多特性一開始很難理解 比較沒有按部就班的學習感
加上對語法的規範極度嚴格 很多新手一直遇到compile error就直接放棄抄答案了
所以對新手入門 一般會推動態語言 JavaScript Python Ruby
或甚至是潮到出水的Swift
這些的語法比起C/C++ Java這些靜態語言更接近口語 更平易近人
同時 靠一些現成的package也能夠輕鬆完成更複雜的工作
http://buzzorange.com/techorange/wp-content/uploads/2015/01/prog4-11.jpg 如果不知道要學什麼就用這個挑 不過蠻容易跑進python
[基礎]
我高三的時候是在codecademy學JavaScript
https://www.codecademy.com/ (英文)
這個網站會一步一步教你怎麼做出一個收銀機,待辦事項,通訊錄,甚至是一個小遊戲
對於基本的程式設計幫助很大
我上大學之前就寫這個而已,程設上學期A+,下學期目前也還算蠻高分的
不過對於觀念的建立比較弱,有點像扶在後面教你騎腳踏車
可以參考
http://openhome.cc/Gossip/index.html (中文) 裡面的一些文件
同時建立觀念和實作的基礎
書的部分,會推薦歐萊禮出版社的深入淺出系列
圖書館借得到的話就不要買了,熟了之後不會用到他XD
codecademy是比較偏互動性高的資源,適合我這種坐不住的人
如果靜得下心的話,可以去coursera或udacity上免費線上課程
國內外大學的開放式課程,主要還是以C/C++為主,前面那兩種比較多樣
[進階]
不過資工系更深究的是演算法和資料結構
簡單來說就是如何用更少的步驟(時間複雜度)或更少的資源(空間複雜度)完成程式
演算法,舉個例子,比方說質數的檢驗
電腦不像人類思考可以概念式連結跳來跳去
以一般的迴圈執行的話,要從1開始試試看能不能被整除,至多需要√n次
但是利用輾轉相除法,至多只需要ln x次就可以解決
數字很大的時候,輾轉相除法的效率遠大於迴圈執行
這種檢驗法你每天都會使用到 普遍用於數位加密 (詳細我就不講了 上大學自己翻離散)
資料結構 恩 不想講了
簡單來說也是用特殊的型態(最常用就是樹狀結構)來提升程式演算的效率
可以去看陳鍾誠的10分鐘系列
然而動態語言處理有些資料結構和演算法的時候並不是那麼適合
加上動態語言的本質是靜態語言的巨集處理,要求高效能的時候常常不是選項*1
所以資工系才會安排C/C++作為程式設計的基本語言,即使並不適合初學
建議C/C++可以在熟悉一種動態語言之後再開始學習
我本身也是從
http://openhome.cc/Gossip/index.html開始學習C/C++的
http://pydoing.blogspot.tw/2014/06/cpp-guide.html 這個也可以看一下
練習題可以找
http://zerojudge.tw/ 大名鼎鼎的zerojudge 從簡單到難都有
演算法跟資料結構 可以參考演算法筆記
http://www.csie.ntnu.edu.tw/~u91029/ 看書的話 劉汝佳的《程式設計與演算法競賽入門聖經》蠻多人推 我買了還沒看QQ
還有一種更好的 就是去找你的國手同學 不過最好有點基礎 不要讓人家抓狂
寫這樣應該夠了 吧
註1:
Not always, 現在有些動態語言會編譯成機器碼來執行,像是Google的V8 JS引擎
--
推 gn0481914:做錢幣的大都是銅鋅鎳08/24 18:23
→ gn0481914:花錢買淫成本太高 還是同性戀比較合乎經濟效益08/24 18:24
→ gn0481914:花錢買銀成本太高 還是銅鋅鎳比較合乎經濟效益 更正08/24 18:24
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.197.56
※ 文章網址: https://www.ptt.cc/bbs/SENIORHIGH/M.1461502643.A.F83.html
推 bsw555 : 推推 謝謝板主 04/24 21:01
推 tomedc14 : 推 04/24 21:01
推 Zhhh : 推 04/24 21:08
推 johnnykao530: 推 謝謝回文解答~ 04/24 21:13
推 s567101 : 正在想要把114EE還是CS填前面…… 04/24 21:19
推 aa0917954358: 給推! 04/24 21:25
推 yqkqknct : 推 Codeforces 簡單到難都有題目質量也更好 04/24 21:45
推zerojudge是因為基本練習比較多,而且是中文
Codeforces算是偏競賽的OJ,不過常常被說難度很飄,國內還有很多小的OJ也不差
同類型的還有元老級UVa
噓 pengshaofu : 巨匠聯成都是一個鳥樣還記得當初我直接拍桌掉頭走人 04/24 21:48
推 ks110159 : 推 04/24 21:50
噓 petingo : C java 都算高階語言吧 等等人家計概考說何者不為高 04/24 21:54
→ petingo : 階語言 你也會誤人子弟R 04/24 21:54
恩 好問題 只是我沒上過計概 不知道怎麼回答你
推 petingo : 補推 04/24 21:58
推 splitline : C++入門的路過,覺得C++比VB、js簡單多了,當初先學 04/24 21:59
→ splitline : vb、js都學不太會XD 04/24 21:59
什麼是命名空間 什麼是表頭檔 什麼是int main() 什麼是return 0
跟沒基礎的人講不了這些啊 叫人家背起來 不如去學高階語言
推 jimmy12282 : 推 04/24 22:04
→ petingo : 雖然我也不是很懂 但基本上乍看之下都是英文的基本 04/24 22:12
→ petingo : 上都是高階語言,也就是越接近自然語言的程式語言 04/24 22:12
→ petingo : 中階的組合語言、低階的機器語言 基本上閱讀性極低 04/24 22:13
→ petingo : 大概是這樣,所以頂多說C是比較麻煩,對初學者不友 04/24 22:13
→ petingo : 善的語言,但這並不是因為他是低階語言 04/24 22:14
噓 energyy1104 : 高低階不是這樣區分的吧 04/24 22:22
→ energyy1104 : 低階是像組合語言或是機械語言那種難讀的 04/24 22:23
→ energyy1104 : C剛好介於兩者中間,因為他有高階語言好讀好寫的特 04/24 22:24
→ energyy1104 : 性又有低階語言的特性,所以有人甚至稱它為中階語 04/24 22:24
→ energyy1104 : 言 04/24 22:24
→ energyy1104 : 但一般應該不會把他們稱作低階語言 04/24 22:25
噓 HYH84 : 高低階分成這樣 你要不要先補計概 04/24 22:26
對不起 QQ 台清交都不學計概的 我一直以來看人家文章也都是這樣寫XD
不過階級是真的有差啦 只是低不夠低而已 改成動態跟靜態好惹
→ HYH84 : 台清交不學因為教授認為這些是常識應該自學 就像OSI 04/24 22:45
→ HYH84 : 沒搞懂跑去摸router 04/24 22:45
→ HYH84 : 不得不推swift 非常口語化的程式語言 以後一定是主 04/24 22:46
→ HYH84 : 流 04/24 22:46
推 cauliluac : 推推 04/24 23:12
→ aa0917954358: 我只能說我入門之一是逆向的組合閱讀能力,我可以 04/24 23:15
→ aa0917954358: 說沒想像中的難閱讀嗎 (?) 04/24 23:15
推 sdd5426 : 我覺得js比C++好學多了 04/24 23:20
推 jellyfishuan: 感謝版主QQ 04/24 23:38
噓 LeeMY : 噓 誰跟你台清交不學計概 04/25 02:31
噓 LeeMY : 112CSIE 112EE 都有計概好嗎 04/25 02:32
噓 LeeMY : 114不懂112就別亂講 04/25 02:35
沒列必修 上廢課有比較驕傲ㄇ
※ 編輯: hsnuonly (140.114.197.56), 04/25/2016 03:21:51
→ energyy1104 : 建議補一下概論吧,那種東西本來就自己讀就好 04/25 06:43
噓 LeeMY : 比把C認為是高階語言驕傲... 04/25 09:40
噓 LeeMY : 別自己說錯就一直牽拖 很多事也不是要修過課才會 04/25 09:41
噓 LeeMY : 但提到「台清交都不學計概的」絕對跟事實不符 04/25 09:43
→ LeeMY : 抱歉打錯 *把C認為是「低階」語言 04/25 09:44
→ energyy1104 : 樓上大大別激動 04/25 12:58
噓 HYH84 : 計概是廢課?多了喔 沒學HTML跑去玩DW還沾沾自喜 04/25 14:28
推 qwsxc78523 : 推十分鐘系列 04/25 22:55
推 s990827ccp : 推推 04/26 01:37
推 me356500 : 高一初學c很上手 結果python學很慢 04/26 19:11
推 ted21019 : 推,不過我自己有買《演算法入門經典》,他主張從頭 04/26 22:43
→ ted21019 : 開始學,但我覺得那本也太進階== 04/26 22:43
推 shownlin : 抱歉,雖然這篇文有點久了,但我想說的是 12/09 13:03
→ shownlin : 輾轉相除不能檢驗質數= = 12/09 13:03
→ shownlin : 最近幾年才有AKS檢驗法降到polynomial time而已 12/09 13:11