[請益] 學習過程中遇到瓶頸該怎麼辦?

看板 Soft_Job
作者 volume7101 ()
時間 2016-09-21 21:14:50
留言 101則留言 (30推 1噓 70→)

小弟進資策會前從沒有碰觸過程式語言, 目前在資策會學習差不多過了一個多月, 緊湊的課程中,授課老師偶爾會出作業給我們練習(目前學了JAVA SE & JavaScript) 小弟遇到的問題是: 老師出的作業我幾乎都寫不出來...如果只有一題兩題不會就算了 是幾乎每個作業都沒辦法自己從無到有自行完成...都必須參考同學的才寫得出來... 我不清楚到底是自己學習方式出問題? 只要老師有出作業,挫折感就會好深好重, 每次都問自己,為什麼同學都寫得出來我卻不行?好幾次想放棄可是又不甘心... 再跟各位前輩補充一下我的學習方法... 老師上課時大概80%都聽得懂,回家也都會認真複習(課本範例都有至少練習三次直到自己很熟) 可是只要有變化或是需要應用的題目我就完全無法下手(ex:盒內塔問題、跑馬燈抽獎程式 、洗牌程式....) 到底是我還缺少了什麼?學習方法有那裡可以改變? 還是真的是我腦筋太笨邏輯太差.... 感謝各位前輩耐心看完我的問題...真的很需要各位前輩的經驗參考... -- 請問一下前輩怎麼解決這種問題呢? 目前是能做到把問題拆成一塊塊,可是沒辦法用程式語言的方法寫出來... 沒錯! 所以可以去嘗試看一些演算法的書嗎? 前輩的意思是先多看範例,而不要在意解不解的出來老師的作業嗎? 這似乎也是一種學習方法,不過test大後來能力有提升起來嗎? vi大 這樣到處咕狗以後出去工作沒問題嗎…? 目前真的是蠻急的...因為覺得自己好像跟其他同學有差距... 謝謝建議,我會去試試看leetcode網站 謝謝學長的建議QQ我會繼續努力撐下去的!!! 會在繼續認真focus在基礎java上!! 謝謝前輩的分析,真的有種當頭棒喝的感覺,小弟會照這前輩建議的方式繼續學習的!! 真的很謝謝前輩們的建議,我會好好消化這些建議,並努力學習下去!!
※ 批踢踢實業坊(ptt.cc), 來自: 36.231.171.96
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1474463693.A.CDF.html

VisualStudio: 較簡單的邏輯通常你能在紙上寫出做法的順序過程 09/21 21:25

testPtt: 沒天分阿 我以前也是一樣 09/21 21:25

VisualStudio: 要寫成程式就只是把做法過程改用語言去做 09/21 21:25

VisualStudio: 所以你至少要先能手寫或能理解講出解決那個問題的 09/21 21:26

VisualStudio: 步驟 你能講出作法步驟 要變成程式就不遠了 09/21 21:28

VisualStudio: 剩下的只是語言的功能有沒有支援你每一步的需求而已 09/21 21:28

saiuytre: 中壢java班嗎? 09/21 21:32

james732: 推樓上,先用紙筆解決問題 09/21 21:33

gpctv: 其實那些演算法,網路都找的到,但不能全抄,就算全抄,答案也 09/21 21:39

gpctv: 不見得一樣! 09/21 21:39

gpctv: 像日期問題,每次要轉格式我都一定要查一下,日期轉字串,字串 09/21 21:39

gpctv: 轉日期,我都要查,但如果今天日期要轉一串長整數怎麼辦?!所 09/21 21:39

gpctv: 以還是要有自己的想法 09/21 21:39

gpctv: 對了,畫出流程圖也是很好的方法 09/21 21:39

bcew: 推樓上,缺乏解題技巧,像可以重複用二分法分兩步驟 09/21 21:40

bcew: 像河內塔是全部從A搬到C,就是n-1搬到B,n搬到C, 09/21 21:44

abccbaandy: 原PO問題是演算法吧...工作大部分只要會google就夠了 09/21 21:45

bcew: 再用同樣方式處理n-1,看到這樣就會想到遞迴函式 09/21 21:46

bcew: 也許你可以先不練解題,而是多看範例知道各種做法 09/21 21:48

testPtt: 我就是一直抄 一直菇狗 看的程式碼多 久了就習慣了 09/21 22:05

vi000246: 正常啊 你同學也是google來的 別擔心 09/21 22:18

Sunal: google也不是隨便餵關鍵字就有的 基本的還是要懂 09/21 22:55

abc0922001: 學習本來就有快有慢,多思考 09/21 22:55

pttworld: 感覺好像很急,養成需要時間。 09/21 22:57

Sunal: 也可以先看看 資料結構 09/21 22:57

drajan: 把google廢掉 一半以上的工程師也廢掉了 09/21 23:21

drajan: 演算法不是用看的 要自己implement 玩玩leetcode吧 09/21 23:21

ppppman: 剛開始這情況很正常 更多的是基礎要打穩 我是上別班的 大 09/21 23:28

ppppman: 概最後兩個月做專題才覺得自己進步很多 因為後面比較懂 09/21 23:28

ppppman: 基礎熟練了 實作出來成長會快很多 你還是陣痛期 加油啦 09/21 23:28

ppppman: ~ 09/21 23:28

viper9709: 基礎不夠扎實 09/21 23:29

GoalBased: 多花時間慢慢想 09/21 23:58

femlro: 紅的明顯 勿妄自菲薄 同學也是google來的 09/22 00:03

femlro: 那些演算法問題很多都是很多年做出來的論文 09/22 00:03

femlro: 有些人是因為比你早學過或者本科早就摸過背起來了 09/22 00:03

femlro: 並不是因為比你厲害 你需要的先直接照抄不要問為什麼 09/22 00:04

femlro: 當你越學越多 然後往後複習 你對資料結構和演算法 09/22 00:04

femlro: 就會有越來越多靈感 或者多請教一些高手給你一些提示 09/22 00:04

femlro: 再來出社會上班比較多機會是架構問題 演算法都有現成 09/22 00:05

femlro: 你只要知道有哪些排序方式和哪些著名的演算法 09/22 00:05

femlro: google都能google得到 重點是要熟 不是要你發明 09/22 00:05

femlro: 不否認很多高手可以很直覺地寫出好用的演算法 09/22 00:06

femlro: 但我想以台灣基礎工程師還不太能做出這塊 09/22 00:06

femlro: 都要到資深或者有很強數學基礎的人才能設計演算法 09/22 00:06

laputaflutin: 老師出的大多都是經典題目,而經典之所以是經典, 09/22 00:06

laputaflutin: 就是需要你花時間思考練習,如果真的卡死無法,goo 09/22 00:07

laputaflutin: gle,看別人的解法,然 09/22 00:07

laputaflutin: 後自己重新從頭寫,大部分人都是這樣學的 09/22 00:07

femlro: 一開始要以語法和簡單的物件導向架構為學習目標 09/22 00:07

femlro: 以java來說算是這世界上生態系與資料最好找的語言了 09/22 00:07

goths5958: 覺得你的問題不是學演算法 是不習慣邏輯思考分析推演 09/22 00:19

goths5958: 找個看得懂的範例程式 試著去說明程式的來龍去脈 運作 09/22 00:24

goths5958: 流程 這行在做什麼 為何要這樣寫。確認自己夠清楚 能夠 09/22 00:26

goths5958: 將這些說明得讓不懂這隻程式邏輯的人也能聽懂 09/22 00:27

goths5958: 經過這些演練 對於程運作式的邏輯思考流程會比較有感覺 09/22 00:29

goths5958: 面對新問題時 可用紙筆及圖像輔助 一步一步釐清問題 09/22 00:31

goths5958: 如果你清楚範例 遇到A問題 因為是B狀況 所以用C解法 09/22 00:38

goths5958: 新題目也是A問題 但是是b狀況 所以不能用C 試改用c 09/22 00:40

goths5958: 類似這種推演 就比"遇到A就用C 然後不懂為何掛掉"還好 09/22 00:41

goths5958: 另外 學習"拆解問題"也是重點 整合包裝後的題目 其實 09/22 00:51

goths5958: 進一步看 可能就是幾個子問題子區塊 要學會攤開檢視 09/22 00:57

dnabossking: 好想分享一些心得,但好怕被噓爆 09/22 02:30

johnny94: 看你舉的例子,河內塔真的不簡單啊 09/22 03:03

blackcan: 估狗是正常的,有時不需要重新發明輪子 09/22 04:50

keyut2433: 推goths5958 09/22 05:47

kniver999: 我java班結訓到現在也還不會河內塔那些演算法的題目QQ 09/22 06:39

loveu8: 推樓上XD。不過學習程式一開始不是領悟力這麼高 09/22 06:51

loveu8: 像以前用C寫九九乘法表,花了一天去想,跟紙筆幫助才 09/22 06:52

loveu8: 順利寫出來。之後逐漸會思考怎樣拆解問題,切分出 09/22 06:53

loveu8: 自己可以處理,與尚無法處理的部份 09/22 06:53

loveu8: 從問題中,不管是用程式驗證你想的邏輯,還是寫下來思考 09/22 06:54

loveu8: 都有助於去釐清程式的運作,與理解問題可行的步驟與邏輯 09/22 06:55

loveu8: 嘗試驗證,嘗試再驗證,出現卡關,老是想不懂,可以尋找 09/22 06:57

loveu8: 同學給予幫助,或者Google參閱程式碼,從他們程式碼 09/22 06:57

loveu8: 理解程式的運作。建議可以學習Eclipse debug,可以更進一 09/22 06:58

loveu8: 步知道,程式運行的流程。會給予你一定的幫助 09/22 06:58

bab7171: 這是剛開始學程式撞牆期,一直學不要放棄 09/22 07:12

aaaming: 越撞牆越好玩 撞破就強化勒 09/22 08:48

weizhong: 將大問題切成小問題,例如跑馬燈抽獎,你可以先拆成如何 09/22 09:41

weizhong: 亂數抽獎與跑馬燈顯示兩個問題,再來先想亂數如何產生, 09/22 09:41

weizhong: 先用簡單方式顯示,然後跑馬燈怎麼做出來,理想的話你最 09/22 09:41

weizhong: 後可以把這兩個功能模組化,以後還可以拿出來用,不過大 09/22 09:41

weizhong: 前提是你語法要先弄熟,再來才是去實現這些東西 09/22 09:41

rupcj8: 不懂就多抄幾次 還是不懂就跳過 哪天你回頭一看突然就會 09/22 12:42

rupcj8: 我記得我當初學一些遞迴的演算法也是很無法接受 09/22 12:42

rupcj8: 但是某天突然就覺得很簡單 人腦真神奇 09/22 12:43

kenwufederer: 不是程式語言問題,是無法了解題目 09/22 12:49

descent: 河內塔本來就很難, 寫不出來多的是 09/22 12:52

descent: 你能可需要從簡單的題目開始, 老師的題目可能太難 09/22 12:52

descent: ex: 99乘法表之類的, 遞迴就先不要練了, 難度太高 09/22 12:53

qrtt1: 《高考灰姑娘》《考試之神》《龍櫻》先看個日劇,有些學習 09/22 13:04

qrtt1: 技巧。你得做點什麼,自己想不出來也沒關係,最終結果要有 09/22 13:04

qrtt1: 出來,符合需求就行了。 09/22 13:04

lovez04wj06: 理解問題,分析可能性,畫出流程圖,動手嘗試照流程 09/22 16:40

lovez04wj06: 製作。然後就是工程師最長做的事情,估狗+打掉重來。 09/22 16:40

lovez04wj06: 久了就沒問題了。 09/22 16:40

dragoncfe168: 看來資策會沒想像美好 還是得有一定基礎底子才靠譜! 09/22 18:19

jyunwei: 我什麼基礎進都沒有進去,現在也是在工作了 09/22 19:39

wesley234: 學純C練一點底氣吧!瓶頸才容易突破 09/22 23:07

rpdef9969: 推! 不是程式語言問題,是無法了解題目 09/23 00:30

您可能感興趣