看板 C_and_CPP 關於我們 聯絡資訊
因為某位學妹(其實不只她一個) 對老師的上課風格不適應 目前有在教某位學妹和學弟 教語法和用法是沒問題 但是如何要實現一個程式要如何教學呢 好比如他們之前有個程式 十進位轉成n進位 (n為輸入值) 我一看到這題目想了幾分鐘 應該會用到哪些語法就大概有個譜了 問題是 我如何將這種思維的過程教給他人 我大一程式也都是聽不懂 是抄寫網路+老師放水才過的 其實那時候根本連回圈都不懂 = =||||| 是後來確定要走什麼領域 在某次寒假或暑假買書自學的 重點是...我用的書(洪維恩)也沒教編程的思維過程 然後我自己是怎麼會的我也不清楚 = =a -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.115.26 ※ 編輯: Martial 來自: 163.25.115.26 (12/15 14:16)
dp2:愛和信念最重要了 XD 還是讓他們看例子然後動手吧。 12/15 14:27
sosokill:多看多想多嘗試 久了就會了 12/15 14:27
ledia:的確不容易, 可能需要玩點推理益智遊戲 XD 12/15 14:27
wa120:不停的寫 就跟算數學一樣 12/15 14:41
YCK:不停的寫 不停的看 12/15 14:51
netio:多寫多練習 12/15 14:52
twotwoone:你舉的例子,很大部份不是靠什麼思維,而是實實在在的 12/15 14:58
twotwoone:知識,那是因為你腦子裡裝的東西夠多了,拿出來用而已 12/15 14:59
twotwoone:很多知識、概念都沒有的人,你要他用思考、推理去解 12/15 15:00
twotwoone:也是強人所難 12/15 15:00
sosokill:ps:可以申學妹的MSN嗎? XD 12/15 15:00
crazybad:多寫多看,沒有其它法門~ 12/15 15:02
dp2:快去Programming版看神仙顯靈 XD 12/15 15:10
stonehomelaa:十進位轉成n進位 看你用手算怎麼算 12/15 15:20
stonehomelaa:寫程式只是把你用手算的過程變成loop 12/15 15:20
sunneo:不過計概以及計算機程式課程 有部份算是在把這觀念帶上 12/15 15:24
netsphere:學妹圖勒? 12/15 16:19
VictorTom:推stonehomelaa, 程式的實作前, 是先想人怎麼算, 然後才 12/15 16:50
VictorTom:轉換成程式碼, 並同時搞清楚需要用到什麼語法.... 12/15 16:51
VictorTom:可能也有例外啦XD 也推221大說的, 要靠知識經驗累積:) 12/15 16:52
pizza0117:程式只是實作你的演算法 演算法可大可小 12/15 17:19
pizza0117:影像處理需要 十進位轉二進位的小問題 也需要演算法 12/15 17:20
pizza0117:你可條列式的寫出需要的演算步驟 再一步步教他怎麼實現 12/15 17:21
pizza0117:例把手算的方法 詳細列出步驟 也算是一種演算法的開發 12/15 17:21
pizza0117:演算法包含一些相關知識 10轉2 需要知道int是怎麼存的 12/15 17:23
pizza0117:連0000~1111等於0~15都不懂的話 就真的連頭緒都沒有 12/15 17:24
pizza0117:懂關係後還要會說明 110=1*4+1*2+0*1=6 12/15 17:27
pizza0117:有了這些觀念後 再來是對語言的熟悉 + - * / % 12/15 17:28
pizza0117: 或是 << >> 熟練度也很重要 12/15 17:31
pizza0117:熟練才知道每個動作做完的效果 12/15 17:32
pizza0117:知道 %可以得到餘數 /可以得到商數 基本上就算不用迴圈 12/15 17:33
pizza0117:也可以完成二轉十的半成品 12/15 17:33
pizza0117:最後再補上"什麼樣的條件可停止" 的概念 去完成迴圈 12/15 17:36
liujh:我看過有些人看到 i = i + 1 腦袋就打結了 12/15 19:10
liujh:他搞不懂i為什麼會等於 i+1... 12/15 19:10
liujh:更不用說變數在執行迴圈時的變化 12/15 19:11
stonehomelaa:i = i + 1 從組語來看就清楚了 12/15 19:13
mantour:i = i+1 的 “=” 是assign而不是等於 12/15 19:17
yauhh:我認為要先解釋問題的結構,明白問題結構,程式結構自然浮現. 12/15 19:35
ledia:i = i+1 是一種美麗的錯誤, 如果寫成 i <- i+1 會好懂得多 12/15 20:56
shieldsky:個人認為mantour網友解釋得不錯,這樣子確實比較好理解 12/16 00:06
yauhh:比較好理解是什麼意思? =在C++中從來不會是別的意思. 12/16 02:52
ledia:但是在數學上是別的意思呀, 你先學數學還是先學 C 呢? XD 12/16 09:13
yauhh:但可沒人都把C跟數學全當一回事,基本keyword要不要記住而已. 12/16 09:25
yauhh:把=搞錯,在程式的討論範圍之內不是一回事. 理由只有一句話: 12/16 09:32
yauhh:"你記錯了". 不管怎麼搞錯,指導他只要這麼一句話就夠了. 12/16 09:33
yauhh:我意思是,不要忙著做很多比喻,否則,你還要分神維護這些比喻 12/16 09:42
yauhh:與被比喻物之間的一致. 對被教導者來說也是更多的記憶詞. 12/16 09:43
ledia:一種符號多種意思本來就會搞錯嘛, 學過當然知道跟數學不一樣 12/16 14:44
ledia:跟他說你記錯了也沒用, 你還是要讓他懂等號變成什麼樣的意思 12/16 14:44
ledia:學過東西之後就忘了怎麼學會它的, 很多事就變得很自然 12/16 14:45
ledia:但是當你要面對完全沒有背景的人時, 請站在他的立場幫他想 12/16 14:46
ledia:比喻本來就是學習很重要的一種手段 12/16 14:47
ledia:就好像學 Java 時你就會去想, 像是 fopen 的東西不知道在 12/16 14:47
ledia:Java 裡是要用什麼 API 呢? 這就是一種比喻了 12/16 14:48
sunneo:比喻跟聯想能力確實再學習過程頗重要的 12/17 02:04
walker2009:未看先猜有人伸圖 12/17 04:06
truesword:唯一有效的教法就是訓練他們練習寫程式 12/18 19:56