看板 Soft_Job 關於我們 聯絡資訊
※ 引述《Hertzfeld (Google+)》之銘言: : https://www.facebook.com/profile.php?id=100007748738834 : 我們成天說我們的中學生要會寫程式, : 可是教育界顯然不知道很多資訊相關科系的大學生是不會寫程式的。 : 這種現象已經很久了,很多這一類科系的大學生因為不會寫程式而找不到工作, : 實在非常可惜。 : 很多明星大學的數學系畢業生也不會寫程式。 : 我最近和十幾位這一類的學生聊天,他們都告訴我一件事, : 他們的老師從來不教他們如何畫流程圖。 : 對這些老師而言,寫程式最重要的是要熟悉電腦語言,而不是利用邏輯思考。 : 其結果是,學生搞不清楚程式是如何產生的。 : 我實在不懂,為什麼現在的老師們不重視邏輯思考, : 也不教學生如何畫流程圖?畫流程圖其實是寫程式的第一步, : 如果你不會畫流程圖,就表示你不知道程式是如何寫出來的, : 也表示你根本不會設計程式。 : 很多學生寫程式的時候是亂寫一陣,其中的來龍去脈根本搞不清處, : 寫完以後,如果程式有問題,你也不會偵錯。 : 我強調流程圖的重要性已經很久了,可是顯然沒有什麼效用, : 因為這幾天我碰到的學生都是才從大學畢業的, : 他們雖然畢業於資訊相關科系,卻都不會寫程式。 : 但是我還是要再呼籲一次,學生如果不會畫流程圖, : 就表示他沒有邏輯思考的能力,不可能會寫程式的。 : PS: : 剛才查了一下台清交的資工系的軟體工程/系統分析不是必修 : 名校的資管系大約是在大二或大三以後才教系統分析/軟體工程 分享一下自己的看法… 有人拿問題來問怎麼寫出程式,我會先理解對方的需求,然後簡單寫個步驟… 你必須先完成一、再做二、再做三…全部都完成的時候程式也寫完了。 連流程圖、虛擬碼都稱不上,只是步驟而已, 可是初學者連這件事都不見得能完成。 這就類似Udacity課程裡的TODO項目,裡面也有課程教你如何思考有那些TODO要做。 這對我來說不過幾分幾秒的事情,所以自己寫程式根本不會寫下來,在腦袋裡想就好。 不過有一種情況例外--沒有電腦的時候。 沒有電腦但是想寫程式的時候,會在筆記本上寫些虛擬碼, 回到電腦桌前只要把它轉成code就好,可以大大地節省時間。 我很懶得畫流程圖,所以寫虛擬碼比較多,但兩者本來就是能互相轉換的。 個人認為畫流程圖需要的是耐心,因為修改會比虛擬碼麻煩很多。 不過自從當了PM之後,就不得不畫流程圖了,畢竟UI/UX相關的控制流程我並不清楚, 要寫虛擬碼也寫不出來。 這部份就交給工程師發揮吧。 流程圖可以分成很多種,介面/操作流程、資料流程、控制流程… 像其他人講的,就是一種邏輯的表現而已。 不管那種形式,不表達出來,誰知道老師腦袋裡在想啥,學生要怎麼吸收? 難道要學程式的人,還要會通靈不成? 我是不會通靈啦,所以雖然不清楚現在學校怎麼教的,但也不會否認流程圖的重要性。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.216.150 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1550987073.A.10C.html
shter: 雖然我也不愛畫,但我覺得畫流程圖的學問不小 02/24 13:48
shter: 一個專案如果你一口氣畫數百個菱形判斷式出來看的人也痛苦 02/24 13:49
shter: 所以可能變成要畫幾十頁流程圖,但每一個判斷式都不多 02/24 13:49
shter: 然後 input output 再以結構圖導到其他頁的流程圖去 02/24 13:49
shter: 這時候就自然完成模組的拆分,反而是一種實踐架構的俱現化 02/24 13:50
feeya: 話說流程圖有必要嗎 寫成表格我覺得還比較清楚 02/24 14:18
shadow0326: case by case,不同任務適合不同的表現法 02/24 14:25
同意
shter: TCP 跟 UDP 交握差異用流程圖和表格表現不知道哪種較清楚 02/24 14:38
konkonchou: 最近幫忙改論文的感想,即使流程圖示定義在那邊 02/24 14:42
konkonchou: 10個人去畫就是會出現10個不同的版本 02/24 14:43
konkonchou: 畫流程圖跟寫程式沒有必然關係,但畫的好,表示做事也 02/24 14:45
konkonchou: 相對嚴謹,會考慮到各種條件下因應方式 02/24 14:46
konkonchou: 自己蠻常遇到資訊顧問或廠商,連個泳道圖都可以畫得很 02/24 14:53
konkonchou: 糟糕,都說會寫程式 02/24 14:55
konkonchou: 結果一句都寫不出來,因為只要出一張嘴叫外包作就好了 02/24 14:55
frankchiboy: 在業界都是故意不做或亂做的啦。傻喔,documentation 02/24 23:06
frankchiboy: 做這麼好讓自己隨時可以被幹掉嗎?不過李講的是學生 02/24 23:06
frankchiboy: ,倒是沒錯,學生應該要會。 02/24 23:06
senjor: 可以請教那些TODO課程嗎?小弟也想拿來參考精進一下。 02/25 07:05
找了一下,是 Introduction to Python Programming 的 Lesson 13
robber1234: doc絕對不是故意做不好的,騙誰沒工作過嗎 02/25 09:59
我知道有些人認為工作要故意做差, 但我怕自己做久了就真的做不出好東西,所以不考慮 ※ 編輯: yenru (61.216.147.98), 02/25/2019 11:38:28
senjor: 謝謝分享 02/25 12:25
frankchiboy: 好吧 那應該真的是太笨做不好 02/27 00:24
zased: 我都跟老闆說,只要你流程邏輯說得通,程式就寫得出來。剩 02/27 09:25
zased: 下真的就是在電腦前寫出來而已 02/27 09:25
sunine6488: 我覺得流程圖就像外框 外框出來就剩下填空而已 這種概 02/28 10:53
sunine6488: 念 02/28 10:53
sayya2311: 流程圖是第一步,但也僅止於第一步而己 03/01 18:52
sayya2311: 除非永遠只碰初階問題,不然太多問題用流程圖是不夠的.. 03/01 18:53