[心得] 那些年我們學不會的程式設計

作者: chilam22 (chilam)   2016-08-07 23:20:17
大家好,我最近寫了篇文章,
列出幾點那些年我們學不會程式設計的原因和大家分享,
歡迎大家指教,謝謝。
Blog 圖文版 https://blog.alphacamp.co/2016/08/04/why-do-you-fail-to-learn-coding
程式設計似乎真的很簡單,
不管是學校,補習班,參考書或教學影片,
個個都宣傳幾個月,幾星期甚至幾個小時就可以學會,
而且連小孩子也可以,不像談戀愛還要等到18歲。
坦白說,以彼得潘之前教 iOS App 程式設計和寫書的經驗,
並不是每個人都能學得好,還是有學不會學不好的例子。
所以到底是什麼原因造成的呢 ?
難道真的像 JJ 唱的,"總是學不會,再聰明一點。" 嗎 ?
其實真的跟聰明才智或傳說中的程式基因無關,
彼得潘自己整理分析後,列出以下幾點可能的原因和大家分享 :
1. 疏於練習和複習,中了遺忘曲線的詛咒。
我們都經歷過小時候學習數學英文時,
由於疏於練習和複習,愈來愈跟不上進度,
老師從一開始說人話的地球人變成說火星文的外星人。
然而當我們變成大人後,似乎就忘了這些慘痛的教訓,天真
的以為只要付出昂貴的學費,
準時地坐在教室椅子凝望帥帥的老師,
就能自然地吸收老師的功力,學會程式設計。
其實程式的學習就像爬山,是段由淺入深,愈來愈難的過程。
後面的課程要聽懂,往往需要理解前面教過的內容。
程式學不會從來不是因為聰明才智不夠,而是因為遺忘。
科學家早已做過實驗,發現所謂的遺忘曲線。
1小時後 56 % 被遺忘,一天後 74 %被遺忘。
而且程式一定要自己思考,從無到有親手打才能記住,
用看的或是複製貼上完全像相思一樣無用。
想要克服遺忘曲線的詛咒其實很簡單,
只要記得每天撥出一點時間複習練習實作,效果即可倍增。
2. 程式尚未學成,英文仍須努力。
學程式所需的英文真的不難,不用 TOEIC 900 分,
但是至少要有國中程度,了解基本的單字和文法。
剛開始學習時尚可依靠中文教材,
或者挑選像彼得潘這樣講中文的文青老師,
但是程式學習的過程時常會遭遇各式各樣的問題,
需要看懂英文才能解決,
比方幫助我們實現軟體功能的各種API (應用程式界面),
程式開發工具顯示的錯誤訊息,
Google 大神在網路上幫我們找到的解答和教學文章等,
總不能每次都找外文系的同學幫忙翻譯,
除非你想要追她,因為她是你的沈佳宜。
3. 不敢問老師,只能一顆心撲通撲通地狂跳。
學生在課堂上不敢發問,其實是非常嚴重的問題。
一般程式課程一堂都要兩三個小時,
如果前半段的內容不懂,後半段就像鴨子聽雷一樣,
很難接下去,除非你會神回應。
的確舉手發問就像表白一樣,需要勇氣,
有太多太多的害怕,害怕被同學老師笑,害怕拖慢上課進度,
但是就像書籍 “你所煩惱的事,有九成都不會發生。" 寫的,
你害怕的事彼得潘教課時從來沒遇過。
相反的,同學們會敬佩你問問題,覺得你很勇敢,
感謝你問了她不敢問的問題,解開她心底的疑惑,
甚至因此愛上你也不一定。
至於上課進度的問題,那是老師該煩惱的。
一個好的老師應該懂得適可而止,了解何時該停止解答繼續上課,
若有需要也會課後為你耐心解答,直到你開始懂了他才捨得離去。
問題就像腳掌上的一根刺,唯有拔出刺,解決了問題,
我們才能繼續往前走,學習進階的技術,
就好像不懂數字的加減,想學九九乘法表根本是癡心妄想一樣 !
倘若是報名上課的學生,請一定要勇敢地發問,
別讓學費丟到了水裡。
不管在課堂上,課前或課後,
都可以照三餐問候老師。
只要老師沒有被你問到流淚,你都可以放心發問,
因為 “不問你為何流眼淚 ~ “。
4. 自學遇到問題卡關。
現在有許多現成的程式教學書籍和影片,一輩子也學不完,
而且學程式的人都很孝順很有愛心,
大家都想省錢孝敬父母和男女朋友,
所以最近有愈來愈多人採用自學的方式學習。
雖然大家都自學不上課,彼得潘也許就要餓死在路邊,
不過說實話,自學真的好處多多,
諸如省錢,何時何地皆能學習,學習速度自己掌控等。
然而,遇到問題卡關可說是自學者學不會的最大阻礙。
因為他們沒有老師可以問,
所以卡關時如何破關就成了成功與否的關鍵。
以下彼得潘列出兩個可幫助你化身關羽,過五關斬六將的方法:
(1) 在網路上發問。
網路上有許多方便發問的平台,
像是 Stack Overflow,FB 社團和粉絲團,Slack 聊天室,PTT 等。
其實大部分的人都很願意回答問題,
因為可以享受英雄救美的感覺。
根據彼得潘研究,正妹照片發問的效果會更好,
大家下次卡關問問題時不妨換個大頭照試試。
(關於台灣程式設計相關的 FB 社團和粉絲團,
彼得潘整理了一份清單,歡迎大家參考。
( http://bit.ly/2aEmpzC )
(2) 參加技術社群和讀書會,多認識看得到摸得著的朋友,面對面交流發問。
雖然網路很方便,不過已讀不回其實還滿常發生的,
而且有些問題還是得面對面討論才能解決。
建議多參加一些技術社群和讀書會,
多認識一些看得到摸得著的朋友。
就像古人說的,"聽君一席話,勝讀萬卷書",
有時候短短十分鐘的面對面交流,
就能讓你豁然開朗,眼睛為之一亮。
5.沒有興趣。
很多人覺得程式很無聊,不有趣,提不起勁學習。
其實程式只是工具,
有趣的是學會程式後,我們可以做的事情。
以學習 iOS App 為例,大家可以想想你學會技術後,
想開發的有趣 App,想像 App 帶給你的金錢和成就感,
想像其他人用了你的 App 後得到的快樂和臉上的微笑。
古時候有句名言,"錢不是萬能,但是沒錢卻萬萬不能。"
程式真的是項偉大的發明,推翻了古人說的話。
只要學會寫程式,就算你沒有很多錢,
還是可以改變世界 !
如果能克服以上五點,
彼得潘相信你應該不太會再日日夜夜做著學不會程式設計的惡夢。
大家在學習程式設計的路上,
倘若遇到任何問題,
也歡迎隨時聯絡彼得潘。
( http://iosappanswer.strikingly.com )
當彼得潘回答大家的問題時,
其實也在找答案的過程中精進學習,
增長了自己的功力,和大家交了朋友,
獲得再多錢也買不到的回報和收獲。
最後送給大家一句網路界的名言,
「你不需要很厲害才能開始,但你需要開始,才會很厲害!」
作者: glory5566 (榮耀5566)   2016-08-07 23:28:00
帥帥的老師?
作者: ppppman (4pman)   2016-08-08 00:32:00
講話好油......
作者: ripple0129 (perry tsai)   2016-08-08 01:13:00
給初學者看的,個人覺得這種文章風格剛好適合
作者: Kennyq (舞光十射~*)   2016-08-08 01:15:00
遇問題過五關斬六將 <= 我只靠Google跟自己try耶剛初學有問過老手,但求人不如求己畢竟又不是老師收學費,沒義務教你
作者: Sidney0503 (Sidney0503)   2016-08-08 06:06:00
兩個原因 1.工程師特質+2.學習階段結案工程師特質看這篇 http://goo.gl/aI41Cw學習階段看這篇 http://goo.gl/2HfsKt請不要隨便推坑程式設計要推廣的是Computational Thinking 而不是軟體本身
作者: tennyleaz (tenny)   2016-08-08 09:28:00
Compiler一直學不好…
作者: noahleft (NoahLeft)   2016-08-08 10:36:00
還蠻中肯的啊。很多人被廣告洗腦以為人人都輕鬆學程式設計
作者: Sidney0503 (Sidney0503)   2016-08-08 10:45:00
這篇文章就像廣告台詞了..... 版上不少這種調調我不知道文中的要教到學到甚麼程度 但是據我所知一點一點針對說好了1.程式這種東西是邏輯 懂就是懂 不會就是不會跟遺忘曲線沒關係 懂"流程控制" 放四年還是懂2.中文資源已經相當豐富 一定要看英文的問題不是基本4.(a) 去問問題要做一定程度的基本功課不然不是被眼白就是被嗆4.(b)和5 會參加交流本身就是比較有興趣簡而言之就是最前面有人推文:"講話很油"
作者: glory5566 (榮耀5566)   2016-08-08 11:15:00
所以要怎麼看出一個人有沒有計算性思維? 照文章所說學生時期數理好也可能是有上補習班背很多題型公式而已
作者: Sidney0503 (Sidney0503)   2016-08-08 11:30:00
不是看有沒有 而是教 像是開根號除了一個一個檢驗 有沒有輔助其更快的方法?用奇數1.3.5去試 時間可以少一半之類的想法使用"現有的工具"去完成任務把問題切小 一一解決再組合
作者: johnny94 (32767)   2016-08-08 13:34:00
你這篇文在邊沒用,大家都是自學的,還要問老師或是會遇到問題的都不適合寫程式
作者: aa06697 (todo se andarà)   2016-08-08 13:58:00
個人覺得學得好不好跟有沒有興趣有完全正相關
作者: vn509942 (如履薄冰)   2016-08-08 20:07:00
做好提問的功課 才有真正了解問題 才能解決問題有時候定義問題的過程 自然就解出一大半的困擾了
作者: eva19452002 (^^)   2016-08-08 23:15:00
推樓上另外也推0503及94
作者: bndan (seed)   2016-08-11 16:56:00
興趣這種東西才是真真假假的~軟體工程師9成時間都是要扛責任的..任何一點BUG和做不出來的壓力 都可能光速摧毀所謂的"興趣"..看多了就知道 純有"興趣"的那種人99%都走不久 = =別說台灣 整個世界都沒有不用扛責/解BUG的軟體工程師 所以沒壓力寫程式這種事永遠不會出現在工作上...興趣?要夠M再談
作者: glory5566 (榮耀5566)   2016-08-11 17:53:00
樓上講的讓我想到煮咖啡 一堆人都說有興趣然後....
作者: moon2519 (~X~X~)   2016-08-12 01:39:00
最大的問題是沒有目標吧!

Links booklink

Contact Us: admin [ a t ] ucptt.com