作者EricTCartman (阿ㄆㄧㄚˇ)
看板Soft_Job
标题Re: [讨论] 李家同 怪不得资工学生不会写程式
时间Thu Feb 21 20:40:43 2019
※ 引述《Hertzfeld (Google+)》之铭言:
: 我最近和十几位这一类的学生聊天,他们都告诉我一件事,
: 他们的老师从来不教他们如何画流程图。
: 对这些老师而言,写程式最重要的是要熟悉电脑语言,而不是利用逻辑思考。
: 其结果是,学生搞不清楚程式是如何产生的。
: 我实在不懂,为什麽现在的老师们不重视逻辑思考,
: 也不教学生如何画流程图?画流程图其实是写程式的第一步,
: 如果你不会画流程图,就表示你不知道程式是如何写出来的,
: 也表示你根本不会设计程式。
不知道人是不是越老越固执,李家同十几年来一直在强调流程图,但是
以我的观察国内学生最大的门槛是在不熟悉电脑语言。
写程式最重要的第一步当然是熟悉电脑语言,因为画流程图只是厘清做
事的顺序会做事的人可以用一堆方法不管是图表还是文字还是程式呈现
,对脑袋清楚的人这种呈现方式根本无关紧要,问题是在於受众能不能
接受。
李家同的书我看过,其实根本就不能解决学生的问题,举例来说 Flow
Chart里有一个方格写:
「从资料库Query学生总成绩」
连我阿嬷都知道总成绩可以从资料库查出来,学生会不知道?
问题是,从资料库取出学生总成绩 这个概念学生无法兑换成程式码;
你连SQL要怎麽下都不知道,你连Network Byte Order是什麽都不知道
你连Call API 时 buffer都会配置错 画流程图谁不会画?资管图表还
比你多还比你炫咧!
懒惰的学生根本不了解一个程式语言可以控制什麽,很多学生就是不把
语法书K好,成天以为自己是天才,简报吹得天花乱坠图画得又屌又美
,结果坐在电脑桌前面连编译都过不了,大学只会贴团跑社群毕业後
幸运的凭三寸不烂之舌嘴进公司里,
不幸运的只好回家帮爸爸在台北收房租。
已羡慕。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.103.20
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1550752846.A.B31.html
1F:→ lukelove: 能够帮爸爸收房租应该是比出来嘴炮幸运 02/21 21:04
2F:推 RealLoser: 帮爸爸收房租应该屌打我们 02/21 21:06
3F:推 maxima: 说得好 02/21 21:50
4F:推 ab4daa: 推 02/21 21:53
5F:推 marc47: 如果你有碰过大型的软体系统应该就不会这样说了,你每天面 02/21 22:22
6F:→ marc47: 对的问题都是流程跟逻辑 02/21 22:22
7F:推 odahawk: 大型系统,每次出状况都是从流程图找到问题的 02/21 22:23
8F:→ marc47: 大部分都是当初流程不对,或是实务面变更,像是财务系统常 02/21 22:24
9F:→ marc47: 常要面对的是法规上面的修改,如果系统一开始没考虑清楚, 02/21 22:24
10F:→ marc47: 有可能整套系统都得打掉重练 02/21 22:24
11F:→ EricTCartman: 流程图只是呈现方法 又刚好是受众最多的 02/21 22:27
12F:→ EricTCartman: 你要怎麽呈现思绪 跟你要会不会实践的关系在哪? 02/21 22:34
13F:嘘 hegemon: 语言这种东西真的只是基础,用过最多的问题都是沟通或是 02/21 22:34
14F:→ hegemon: 需求不明 02/21 22:34
15F:→ hegemon: 只有真的非常差的学生才是你说的这种状况 02/21 22:35
16F:→ EricTCartman: hegemon 原文在讲是学生学习 结果搬业界实务来讨论 02/21 22:36
17F:→ EricTCartman: 如果是到这个层次的问题 还要讨论为什麽学不会程式? 02/21 22:36
18F:推 easton7: Level低的看语法,level高的看流程图,因为基本功早就滚 02/21 23:04
19F:→ easton7: 瓜烂熟了 02/21 23:04
20F:嘘 hegemon: 如果只是单纯的语法问题,为啥还是有很多学生笔试吓吓叫 02/21 23:10
21F:→ hegemon: ,实作跟渣一样?逻辑就是不好又没有训练呀 02/21 23:10
22F:→ EricTCartman: 我有说单纯语法问题吗? 我文章内写第一步 02/21 23:14
23F:→ EricTCartman: "画流程图只是厘清做事的顺序 会做事的人可以用一堆 02/21 23:16
24F:→ EricTCartman: 方法不管是图表还是文字还是程式呈现" 02/21 23:17
25F:→ EricTCartman: 何况你拿笔试来讲? 是什麽笔试?怎不讲来听听 02/21 23:19
26F:嘘 expiate: 当你多个人一起写同一个专案时,有流程图比用嘴跟看扣好 02/21 23:35
27F:→ expiate: 沟通多了,又不是大学生写作业在脑袋里自干就好 02/21 23:35
28F:→ EricTCartman: 我在讲学生学习 你在讲业界 这到底? 02/21 23:40
29F:推 as30385438: 推 讲得很有道理,流程图是好东西但不一定适合每个人, 02/22 00:26
30F:→ as30385438: 李一直抓着这个不放很奇怪 02/22 00:26
31F:→ expiate: 学生学习跟业界没关系?那你念书写扣是写开心的啊?那你 02/22 00:45
32F:→ expiate: 告诉我你写扣的目的是什麽 02/22 00:45
33F:→ xam: 流程图是基本,只能选什麽时候拿来用,没得选要不要会 02/22 00:47
34F:→ EricTCartman: 算了 解释再多还是有人要钻牛脚尖 就继续钻 曲解吧 02/22 01:15
35F:嘘 hegemon: 基本上你说的那些连语法都有问题的,已经烂到不在李教授 02/22 01:28
36F:→ hegemon: 的雷达里面了,他针对的是有基础,但是还是写不好的那批 02/22 01:28
37F:→ hegemon: 人 02/22 01:28
38F:→ hegemon: 硬要找个点酸李教授就直接说吧 02/22 01:29
39F:→ fgkor123: 要不要先教google阿o-O 02/22 01:50
40F:→ EricTCartman: hegemon 哇 那你们公司笔试应该要考画流程图 应该不 02/22 01:59
41F:→ EricTCartman: 会再找到实作跟渣一样的 问题解决 (^_~) 02/22 02:00
42F:推 wei115: 原文李教授说的是「不会写程式」,李教授所谓的不会写程 02/22 02:14
43F:→ wei115: 式的定义是什麽?是完全不会?不熟悉语法?对程式的设计 02/22 02:14
44F:→ wei115: 缺乏大局观? 02/22 02:14
45F:推 shooter555: 会流程图可以写出一嘴好程式 02/22 02:31
好啦 我们来看一下论文好了
Milne, I., & Rowe, G. (2002). Difficulties in learning and teaching
programming—views of students and tutors. Education and Information
technologies, 7(1), 55-66.
论文中受测者要分别对C++的28个Topic作难易度评价分数越高代表这是学生觉
得越难的主题,结果如下:
https://i.imgur.com/1AqbuWS.png
排名前三
1. pointer
2. virtual function
3. dynamic allocation of memory
倒数前三
1. variable/function declartions
2.
function call/program flow
3. conditional operations
Lahtinen, E., Ala-Mutka, K., & Järvinen, H. M. (2005). A study of the
difficulties of novice programmers. Acm Sigcse Bulletin, 37(3), 14-18.
这篇论文对559个学生进行调查,发现
understanding programming structures (I3)
learning the programming language syntax (I4)
understanding how to design a program to solve a certain task (I5)
dividing functionality into procedures, functions and/or classes (I6)
这几个项目有高度正相关,
学生
要嘛就是全部都轻松学会 要嘛就是全部都有问题
学生认为对学习
最有帮助的是Example programs,也就是show me the code
不过我觉得pointer啦 动态记忆体配置啦 多型跟virtual function啦
一点都不难教 流程图画下去就对了 (>_~)y
再说都是200x的论文了,十多年後的小朋友可能脑袋结构有进化吧
※ 编辑: EricTCartman (36.231.103.20), 02/22/2019 03:30:19
46F:推 y3226999: 老师也很重要 C教一学期 一直在玩演算法 02/22 03:31
47F:→ y3226999: 但部分人会觉得无聊 但如果教个小游戏的话 02/22 03:31
48F:→ y3226999: 就可以吸引到很多人 02/22 03:32
49F:推 shownlin: 靠北,够酸XD 02/22 03:36
50F:嘘 kira1101: 人家就说盖房子前要先画草图,你还在那说不如教建筑工法 02/22 03:51
51F:→ kira1101: 根本鸡同鸭讲 02/22 03:51
52F:→ testPtt: 流程图画下去 pointer to pointer to pointer ... 02/22 08:53
53F:→ testPtt: 然後再包个function callback... 02/22 08:55
54F:嘘 BigHeadDoggy: 『对脑袋清楚的人这种呈现方式根本无关紧要』 02/22 10:26
55F:→ BigHeadDoggy: yeeeeeeee 原来我是脑残 02/22 10:27
56F:嘘 robber1234: 不以人废言,我看你讲的就知道你只是想反他 02/22 11:25
57F:嘘 hegemon: 我们公司面试只要有工作或是专案经验的一定两个都考噢, 02/22 11:51
58F:→ hegemon: 不好意思 02/22 11:51
59F:→ hegemon: 如果无法用流程图说明自己参与的专案,这样好意思说自己 02/22 11:52
60F:→ hegemon: 有参与吗? 02/22 11:52
61F:嘘 NTULioner: 看完这篇为软体业担心了 02/22 11:58
62F:→ NTULioner: 会写成程式码是基础中的基础 02/22 11:58
63F:→ NTULioner: 真正有价值的是流程的设计 02/22 11:59
64F:→ NTULioner: 而学校最常出现的就是教语法基础而已 02/22 12:01
65F:→ NTULioner: 拿你的sql来说 学店通常只教怎麽下sql 02/22 12:02
66F:→ NTULioner: 但不会教怎麽思考让你的sql可以花最少的effort 02/22 12:03
67F:嘘 djmez: 自己举一些连走路都不会的例子再说跑步没有用 02/22 15:50
68F:→ EricTCartman: 论文统计调查就在那 还是有人要继续流程图教学生 02/22 16:15
69F:→ EricTCartman: 学生走路都还不会要人学跑步 02/22 16:15
70F:嘘 hegemon: 笑死,李教授讲的那群人跟你口中的就不是同一群,到底要 02/22 17:19
71F:→ hegemon: 跳针到什麽时候 02/22 17:19
72F:→ EricTCartman: 统计就在那 学生也表明他们最需要的是example code 02/22 18:47
73F:→ EricTCartman: 人家研究出来的统计跟调查不信 在那边固执己见 02/22 18:49
74F:→ EricTCartman: 你要不要写信去问李家同到底是哪一群再来打脸? 02/22 18:50
75F:→ EricTCartman: 还是自己脑补得很开心老说人跳针 02/22 18:50
76F:→ EricTCartman: 500多个学生的调查 比不上李教授跟你的脑补 伟栽 02/22 18:51
77F:嘘 hegemon: 学生自己认为需要的,跟业界看到的就是不一样,整天拿学 02/22 19:04
78F:→ hegemon: 生民调来说,怎麽不看看校友,业界怎麽说? 02/22 19:04
79F:→ EricTCartman: 难怪 我stackoverflow看到的都是流程图不是code 02/22 19:21
80F:→ EricTCartman: 干 恍然大悟 谢谢前辈指点 02/22 19:22
81F:推 ms0266378: 开喷的人怎都不提数据? 02/22 20:53
82F:嘘 hegemon: 数据跟现实抵触的时候你要相信谁?李教授说的那群是具备 02/22 22:26
83F:→ hegemon: 基础技能但是还是没办法写好的那群人,一直拿没有基础的 02/22 22:26
84F:→ hegemon: 废柴出来跳针做啥? 02/22 22:26
85F:→ hegemon: 另外整天提论文的,不知道现在很多论文根本是业配吗? 02/22 22:26
86F:→ EricTCartman: 真的 你说的是现实 别人数据跟论文都业配 02/22 23:35
87F:→ EricTCartman: 老实讲我现在谁都不信了 就信你跟李教授了 02/22 23:38
88F:嘘 BigHeadDoggy: LUL 02/23 12:40
89F:→ superpandal: 了解语言特性是非常重点 更不要说是框架 虽然我都想 02/25 03:41
90F:→ superpandal: 自己弄 不想框架 框架学多顶多就是用别人的构想 懂语 02/25 03:42
91F:→ superpandal: 言本身就是懂得用语言构造所需的一切 02/25 03:43