作者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/cn.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