作者yenru (戴菲娜)
看板Soft_Job
標題Re: [討論] 李家同 怪不得資工學生不會寫程式
時間Sun Feb 24 13:44:28 2019
※ 引述《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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1550987073.A.10C.html
1F:推 shter: 雖然我也不愛畫,但我覺得畫流程圖的學問不小 02/24 13:48
2F:→ shter: 一個專案如果你一口氣畫數百個菱形判斷式出來看的人也痛苦 02/24 13:49
3F:→ shter: 所以可能變成要畫幾十頁流程圖,但每一個判斷式都不多 02/24 13:49
4F:→ shter: 然後 input output 再以結構圖導到其他頁的流程圖去 02/24 13:49
5F:→ shter: 這時候就自然完成模組的拆分,反而是一種實踐架構的俱現化 02/24 13:50
6F:→ feeya: 話說流程圖有必要嗎 寫成表格我覺得還比較清楚 02/24 14:18
7F:推 shadow0326: case by case,不同任務適合不同的表現法 02/24 14:25
同意
8F:推 shter: TCP 跟 UDP 交握差異用流程圖和表格表現不知道哪種較清楚 02/24 14:38
9F:→ konkonchou: 最近幫忙改論文的感想,即使流程圖示定義在那邊 02/24 14:42
10F:→ konkonchou: 10個人去畫就是會出現10個不同的版本 02/24 14:43
11F:→ konkonchou: 畫流程圖跟寫程式沒有必然關係,但畫的好,表示做事也 02/24 14:45
12F:→ konkonchou: 相對嚴謹,會考慮到各種條件下因應方式 02/24 14:46
13F:→ konkonchou: 自己蠻常遇到資訊顧問或廠商,連個泳道圖都可以畫得很 02/24 14:53
14F:→ konkonchou: 糟糕,都說會寫程式 02/24 14:55
15F:→ konkonchou: 結果一句都寫不出來,因為只要出一張嘴叫外包作就好了 02/24 14:55
16F:推 frankchiboy: 在業界都是故意不做或亂做的啦。傻喔,documentation 02/24 23:06
17F:→ frankchiboy: 做這麼好讓自己隨時可以被幹掉嗎?不過李講的是學生 02/24 23:06
18F:→ frankchiboy: ,倒是沒錯,學生應該要會。 02/24 23:06
19F:推 senjor: 可以請教那些TODO課程嗎?小弟也想拿來參考精進一下。 02/25 07:05
找了一下,是 Introduction to Python Programming 的 Lesson 13
20F:→ robber1234: doc絕對不是故意做不好的,騙誰沒工作過嗎 02/25 09:59
我知道有些人認為工作要故意做差,
但我怕自己做久了就真的做不出好東西,所以不考慮
※ 編輯: yenru (61.216.147.98), 02/25/2019 11:38:28
21F:推 senjor: 謝謝分享 02/25 12:25
22F:推 frankchiboy: 好吧 那應該真的是太笨做不好 02/27 00:24
23F:推 zased: 我都跟老闆說,只要你流程邏輯說得通,程式就寫得出來。剩 02/27 09:25
24F:→ zased: 下真的就是在電腦前寫出來而已 02/27 09:25
25F:推 sunine6488: 我覺得流程圖就像外框 外框出來就剩下填空而已 這種概 02/28 10:53
26F:→ sunine6488: 念 02/28 10:53
27F:→ sayya2311: 流程圖是第一步,但也僅止於第一步而己 03/01 18:52
28F:→ sayya2311: 除非永遠只碰初階問題,不然太多問題用流程圖是不夠的.. 03/01 18:53