落后的学校信息技术教育

学校教育会比较落后,这似乎已经是一个世人皆知的事实了。
最常见的落后仪器就是那托盘天平,在电子科技飞速发展的今天,使用高精度的电子秤完全不是什么问题,
然而万年不变的教科书上始终是托盘天平这样的仪器。
在物理化学这些主流的学科中,仪器落后点似乎也没什么问题。
毕竟只要考试能答对题,谁管你做实验用的是什么仪器。

在信息技术这门学科中,学校教育的落后更加明显。
使用十年前的开发技术比用一百年前的天平更容易让人抓狂。
咱就一个一个来说

过时的编程语言


如今绝大多数高中信息技术这门课程教的编程语言是Visual Basic,开发环境也是古董VB6。
对于VB我实在不想说啥,不严谨的语法,难用的IDE,诡异的报错,还有生成exe后奇高的报毒率。
VB甚至连面向对象都不支持,仅仅是基于对象,真是令人汗颜。

不过根据浙江教育局最近的消息,下一届的新生可能会使用最近红红火火的Python。
刚听到这个消息的时候我还真是高兴了一整子,总算下届学生不会被渣VB所毒害了。
但是后来种种迹象表明,可能还没这么简单,换门语言也只能是治标不治本。

水平不足的教师


在我们那个学校,信息教师的水平也是参差不齐,不过总体还是偏下。
某些老师听到要换Python的时候竟然发出感叹:又要学不少东西,快跟不上了。

这让我满脸黑线,怎么说呢你也是在半个信息行业干活的呀,换门语言就这个样子,怎么追随最新的技术呀。

还有老师的教学水平真的有问题。就拿一个简单的 for循环来说,
我从没有听到对循环的解释,没听到循环是让一条语句执行多次这样的基本概念,
上来就直接一个1到100求和,你丫的不能先来个print 10次这样更基础的吗。
不过Gogo倒是听到不少循环结束后 i 的值是终值+1这样的鬼玩意。
如果我没有编程的基础的话一定是一脸蒙蔽吧,循环是啥都不告诉我就让我记住循环结束后终值要+1。
事实上,班级里的同学们一开始确实是一脸懵逼。

过时的废柴技术

这个我想从网页制作方面来讲可能更好一点。

一开始我看到学校里教的网页设计,布局方式是table布局的时候我几乎惊呆了。
先不说table布局有很多诸如table加载完后才能显示、难以自适应屏幕的弊端,
只要知道那是十年前的网页开发方式,在div+css布局几乎成为标准的今天,学校里依然教table布局真的是一件难以想象的事。


继续看着真的是让我越来越懵逼。学校里用 Dreamweaver 8.0做网页的方式就是用table画个框架,
然后把图片文字拖进去……你喵的这和写Word有什么区别!说不定还是Word更方面些呢!

至于网页中的动画,老师则建议我们用flash做。在flash已经逐步退出市场,chrome都禁用了flash的今天,
Gogo居然被迫要去做falsh……当Gogo向老师询问起JavaScript的时候老师一脸吃惊,Java?我们网页不用Java啊?

还有其他的一些坑爹事情,犹豫table布局的局限性,有些复杂布局老师让我们用ps把图片切成小块再放上去。
在各个网站都把小图片合并成大图片以降低加载延迟时,学校却用了大相径庭的做法。

依然是应试教育

其实这点才是最让Gogo头疼的。在正规的编程语言教育中,学习的流程通常是

基本语法->面向对象->内置常用的库

然而在学校、教材里似乎并不是这样,他们更倾向于下面这种流程

基本语法->算法->算法->算法

为啥这么教?因为考试就考算法嘛。在浙江教育改革,信息技术可以被选择成高考科目后,这种教育方式更加明显了。

Gogo表示很鄙视这种教育方法。因为算法更多地接近于数学,并且对于初次接触编程的大多数同学来说会显得枯燥无味,
这很容易打压学习编程的兴趣。

并且因为考试不考面向对象,所以学校更本不会教,所以绝大多数同学可能一生的编程水平,都只停留在解解算法题上。
写个简单的小游戏什么的,基本已经不可能了。

面向对象很重要,面向对象很重要,面向对象很重要,Gogo只能通过在这里的三声呼唤,
提醒偶然看到这个网站的、初学编程的小伙伴,不要误入歧途。

尾声


教育什么的,已经无所谓了。因为已经不再有代码,值得去写了。传达不了的编程思想,已经不需要了。因为已经不再有人,会去写了。

好吧这又是一篇发牢骚的文章。

本文根据 CC BY-NC-SA 4.0 License 协议授权
本文链接:https://blog.gogo.moe/20160904_%E8%90%BD%E5%90%8E%E7%9A%84%E5%AD%A6%E6%A0%A1%E4%BF%A1%E6%81%AF%E6%8A%80%E6%9C%AF%E6%95%99%E8%82%B2/