作者Hertzfeld (Google+)
看板Soft_Job
標題[討論] 李家同 怪不得資工學生不會寫程式
時間Wed Feb 20 17:45:45 2019
https://www.facebook.com/profile.php?id=100007748738834 我們成天說我們的中學生要會寫程式,
可是教育界顯然不知道很多資訊相關科系的大學生是不會寫程式的。
這種現象已經很久了,很多這一類科系的大學生因為不會寫程式而找不到工作,
實在非常可惜。
很多明星大學的數學系畢業生也不會寫程式。
我最近和十幾位這一類的學生聊天,他們都告訴我一件事,
他們的老師從來不教他們如何畫流程圖。
對這些老師而言,寫程式最重要的是要熟悉電腦語言,而不是利用邏輯思考。
其結果是,學生搞不清楚程式是如何產生的。
我實在不懂,為什麼現在的老師們不重視邏輯思考,
也不教學生如何畫流程圖?畫流程圖其實是寫程式的第一步,
如果你不會畫流程圖,就表示你不知道程式是如何寫出來的,
也表示你根本不會設計程式。
很多學生寫程式的時候是亂寫一陣,其中的來龍去脈根本搞不清處,
寫完以後,如果程式有問題,你也不會偵錯。
我強調流程圖的重要性已經很久了,可是顯然沒有什麼效用,
因為這幾天我碰到的學生都是才從大學畢業的,
他們雖然畢業於資訊相關科系,卻都不會寫程式。
但是我還是要再呼籲一次,學生如果不會畫流程圖,
就表示他沒有邏輯思考的能力,不可能會寫程式的。
PS:
剛才查了一下台清交的資工系的軟體工程/系統分析不是必修
名校的資管系大約是在大二或大三以後才教系統分析/軟體工程
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 18.222.219.186
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1550655948.A.AB1.html
※ 編輯: Hertzfeld (18.222.219.186), 02/20/2019 17:48:50
推 i1239a8e: 系統分析不是資訊工程的基本嗎 不然是修程式設計系嗎 02/20 17:52
噓 wjguo: 有人不會流程圖程式也寫很好 02/20 18:02
噓 cia1099: 我沒畫流程圖也是寫得好好的阿 02/20 18:07
噓 cia1099: 畫流程圖只有在報告,寫papper嘴砲時才畫 02/20 18:08
推 jknm0510a: 樓上不畫個流程圖,怎麼知道要怎麼架構整個主體? 02/20 18:13
推 wjguo: 當一個命題是錯的 細節就不值得討論了 02/20 18:20
→ Ekmund: 標題是..? 02/20 18:22
→ new122851: SD文件一堆流程圖 不畫流程圖客戶看得懂? 02/20 18:26
推 geroge0820: 他指的流程就像是演算法的步驟吧 02/20 18:30
→ ChungLi5566: 有學校沒教ERD跟UML嗎 02/20 18:33
噓 dogalan: 你先把標題打對好不好? 02/20 18:35
→ dogalan: "怪不得很多資訊相關科系的學生不會寫程式" 02/20 18:35
→ MOONY135: 離散就有教了吧 02/20 18:39
→ testPtt: 畫了只會更亂 還是來trace code吧 02/20 18:45
推 vincentman: 不是必修,是因為跟其他科目比較取捨後的結果。況且這 02/20 18:53
→ vincentman: 門課比較容易自修 02/20 18:53
推 Rocker5566: 不會寫的人就是不會寫 跟讀什麼科系無關啊 02/20 19:07
→ dreamnook: 台灣的教育本來就很少強調邏輯 02/20 19:30
→ chuegou: 計算機概論有教流程圖 數位邏輯也有教狀態機 02/20 19:47
→ chuegou: 程式語言也有教各個邏輯運算子的流程圖 是那間學校沒教 02/20 19:47
推 samblow2000: 學生如果先教他們流程圖會崩潰的... 02/20 19:49
→ chuegou: 阿 還是他強調的是"數學系"? 02/20 19:49
噓 NCTUFAIWEN: 啊學校作業都是寫小程式畫狗屁流程圖啊? 02/20 20:07
噓 bill0205: 流程圖都馬工作後才自學 學校有教喔 02/20 20:08
推 senjor: 系統分析與設計、軟體工程 之類的課程還是有教啦 02/20 20:31
→ dreamnook: 有教 不過各個學校也許不太一樣 02/20 20:36
推 senjor: 理解 畢竟每個教授都不同了 何況學校 XD 02/20 20:40
推 Junneo: 說個笑話:台灣人有邏輯 02/20 20:58
噓 eva19452002: 教流程圖是35年前的事了,教流程圖根本沒屁用 02/20 20:59
→ eva19452002: 不如教如何使用debug tools還比較有用 02/20 20:59
→ p62448: 與本版無關但很想講N年前看到他批評玩具總動員後就認為這 02/20 21:41
→ p62448: 人沒救了 02/20 21:41
→ loadingN: 如果你不會畫流程圖,就表示你不知道程式是如何寫出來的 02/20 22:05
→ loadingN: 那怎麼不學編譯器?? 講什麼幹話 02/20 22:05
→ cool9203: 離散翻一翻,自動狀態機寫起來就對了 02/20 22:42
→ lnmlee: 因為連資工老師都不太會寫程式 又要如何教學生寫 產學落差 02/20 22:49
→ lnmlee: 也不是什麼奇怪的事了 02/20 22:49
→ alan3100: 教流程圖不會看不會畫比不會coding還雷耶.. 02/20 23:02
推 xam: 連流程圖都學不起來是要怎麼學編譯器?? 講什麼幹話 02/20 23:22
推 TAKADO: 工程師不會UML有點神奇? 至少要可以手畫或白板R,不然怎麼 02/20 23:26
→ TAKADO: 跟其他人溝通 02/20 23:26
推 atpx: 看做什麼吧, 寫應用系統最好要會. 其他不一定吧 02/21 00:19
推 rexcool: 李家同現在還能寫業界的code嗎? 02/21 00:20
推 senjor: 流程圖不會沒用,想想clean code的宗旨,跟人溝通更重要 02/21 00:32
→ viper9709: 某方面來說還挺中肯的 02/21 00:50
推 lightyen: 流程圖我不會 但是鬼畫幅我還挺有心得的 02/21 00:56
推 hidog: 流程圖不是必要的吧 雖然我覺得能畫是好事 02/21 01:04
推 BoXeX: 比起流程圖 架構圖比較常畫就是惹 02/21 01:39
推 wei115: 高中時看過他的書,他說的流程圖畫的太細了,畫起來和看 02/21 04:56
→ wei115: 起來都很麻煩,我在寫程式時也會先在紙上做大致的架構, 02/21 04:56
→ wei115: 但都點到為止 02/21 04:56
→ bisconect: 用 Pseudo code 打草稿不會比較有效率嗎 02/21 05:12
→ bisconect: 程式相關課本中也很少看到什麼流程圖的,通常都 pseudo 02/21 05:13
→ bisconect: code 不是嗎 02/21 05:13
→ eva19452002: 我猜他講的流程圖不是UML,是計概課本講的那種流程圖 02/21 05:44
→ ChungLi5566: 可見本版真的很多非本科的人 02/21 07:27
推 O187: 他指的應該是要懂流程,而不是標準規格流程圖 02/21 08:25
推 stupid0319: 資工學生會寫程式不正常嗎? 02/21 09:23
※ 編輯: Hertzfeld (18.222.219.186), 02/21/2019 09:30:52
推 WunoW: 明明白板能畫出流程是基本再基本的啊 02/21 09:33
→ WunoW: 畫不出來,說自己code寫得多好…呷賽啦 02/21 09:34
噓 robler: 官大學問大又來了 02/21 09:35
推 ureikaze: (START)-->(CALL API)-->(END) 這樣會有幫助嗎? 02/21 09:36
→ WunoW: 你有沒有想過其實別人都覺得你專產廢code只是沒跟你講 02/21 09:42
推 legendmtg: 有流程圖的廢code不會比較好啊.... 02/21 09:44
→ legendmtg: 會畫是會畫啦 不過我也覺得常常code本身或pseudo code 02/21 09:45
→ legendmtg: 比流程圖更好理解 02/21 09:45
噓 overhead: 李自己這幾年有沒有寫code啊 02/21 09:48
推 TAKADO: 如果是獨立開發或同事、上下游工程師那pseudo code或API列 02/21 10:22
→ TAKADO: 表可能就夠了。但通常會要留文件給後人、外圍廠商或是開會 02/21 10:22
→ TAKADO: 時跟高層、高高層、金主解釋的時候,還是要拿出flow chart 02/21 10:22
→ TAKADO: DFD UFD等各種精美的圖比較有用 02/21 10:22
→ mike0327: 不畫流程圖跟公司報告的時候不被盯翻天才有鬼 02/21 10:24
→ mike0327: 大公司這些東西會很要求 02/21 10:25
推 Argos: 重點在知不知道「邏輯」這個概念啦 流程圖也只是表達工具 02/21 10:52
→ Argos: 邏輯概念也沒什麼 就是演算法步驟而已 絕大多數學生是搞不 02/21 10:52
→ Argos: 清楚步驟 所以老師上課 第一個就是要先讓學生弄懂程式的步 02/21 10:53
→ Argos: 驟 第一步會先做什麼 再下去會做什麼 為什麼這一行寫在上面 02/21 10:53
→ Argos: 卻是之後才執行 一行一行展示程式的執行順序 久了就會啦 02/21 10:54
推 MonkeyCL: 本科系不會寫就讓非本科系來啊 02/21 11:07
→ shooter555: 怎麼辦 寫快十年了都沒畫過流程圖 02/21 11:25
→ shooter555: 雖然以前在學有畫過 但實際寫扣都沒用到阿 02/21 11:33
推 Luos: 流程圖是PM開會時唬爛客戶用的 02/21 11:37
→ y3k: 我覺得流程圖是基本討論需要的能力 但是跟程式本身無關 02/21 11:49
推 marc47: 流程圖等於邏輯,功能分工圖,新的專案如果都沒畫,做出來 02/21 12:11
→ marc47: 的成品真的有可能是災難,通常有可能是打掉重做 02/21 12:11
推 cplusplus426: 教授不帶 當然不會 而且適合的人沒那麼多 02/21 12:44
推 Rocker5566: 大概懂他的想法了 寫程式跟積木一樣 不會寫程式的人連 02/21 13:02
→ Rocker5566: 積木要做出什麼都不知道 是他所謂的不知道程式如何產 02/21 13:02
→ Rocker5566: 生 一開始不會 後面更放棄了。 畫流程圖就像節目的說 02/21 13:02
→ Rocker5566: 明書 對於天生邏輯想像力不強的學生 是有幫助的 02/21 13:02
推 airtsubasa: 不畫怎麼切工作包? 邊寫邊規劃? 02/21 15:04
推 Murasaki0110: 還有gdb也教一下啊 02/21 18:54
推 lukelove: 本科系 20歲實習練軟工, 25準備轉管理職 02/21 21:03
→ xdraculax: 畫流程圖跟思考程式邏輯根本兩回事,用的是不同腦域, 02/21 22:46
→ xdraculax: 圖是好讀好查跟給別人看溝通用的 02/21 22:46
推 hanshsu: 寫程式不畫圖很難討論吧 除非能推導成公式... 02/22 10:57
噓 danny0108: 李家同的幹話聽聽就好, 02/22 11:46
→ danny0108: 蕭老ㄍㄠˊ 02/22 11:46
推 f124: 那些東西都是你要自己會的 不會寫怪誰? 02/22 12:02
→ bill0205: 我之前是自己獨力開發系統 畫不畫流程圖無所謂 02/22 12:53
→ bill0205: 心裡早就有圖了 反而這是跟同事協同開發才是一個重點 02/22 12:53
→ robber1234: "獨立;不需要圖;唬爛;" 沒想到一堆同行甘願當碼農 02/22 14:00
→ bill0205: ...........我又沒說流程圖不重要 02/22 15:36
→ shooter555: 獨立作業, 然後不畫圖, 不給source code, 全部做成一 02/23 10:11
→ shooter555: 個黑盒子share object/API 02/23 10:11
→ shooter555: 這樣好像也不錯, 越神祕越不會被看透 02/23 10:15
→ shooter555: 協同作業就是這樣然後給一份API的文件就好 02/23 10:16
→ bill0205: 其實我還是覺得以前我那樣做不好 02/23 11:16
→ bill0205: 後來我跟同事開發都會畫流程圖 02/23 11:17
推 arshuan: 一條線到底的程式不畫架構圖就算了 有multitasking或是韌 02/23 21:47
→ arshuan: 體一堆interrupt時還不畫 真的會想掐死人 02/23 21:47
推 lesterc: 應該要開一條路讓只會程式的直升好學校 02/24 02:12
→ lesterc: 一堆很會考試的站資工缺很可惜 02/24 02:13
→ s89162504: 一個流程圖 各自表述 02/24 15:14
→ s89162504: 說到底軟工實務上 說到底就是需要一堆文件跟圖 02/24 15:15
推 frankchiboy: 要先熟悉工具才有辦法畫啊。不然從和畫起?從組合語 02/24 23:18
→ frankchiboy: 言開始一路畫到ai嗎 02/24 23:18
→ frankchiboy: 如果是call api就是開始和結束而已啊,畫完了 02/24 23:19
→ superpandal: 畫不畫圖其實還好 想出好架構其實圖就有眉目了 至於 02/25 03:33
→ superpandal: 能不能讓其他人看得懂是另外一回事 02/25 03:34
→ superpandal: 會講究畫圖的 肯定是比較分明的人 邏輯好不好其實是 02/25 03:34
→ superpandal: 另外一回事 有時候語言本身的特徵、坑比想像中的多 02/25 03:35
→ superpandal: 一體成形才是最難得的 有時候沒有時間給你畫圖... 02/25 03:37
推 frankchiboy: 會講究畫圖的應該是沒有時間壓力 可以慢慢做的人 02/27 00:31
推 aimjvc: 推個 02/27 00:40
推 soto2080: 資工一堆老師都不會寫程式了 03/05 21:17
推 as885212: 不畫圖的都直接看幾千行程式碼嗎XD 03/25 10:45