苏维埃黑客养成记:上个世纪,一场社会主义的编程普及计划

简介:

让青少年学习“算法思维”和“人工智能”正成为一种火爆全球的风潮。

今年4月份,中国首本《人工智能基础(高中版)》教材正式出版面世,中国共计40所高中成为首批开始开设人工智能课程的实验学校。

而早在几十年前,一些国家就开始尝试在国家层面推动(普及)计算机教育。例如,在20世纪80年代,英国政府就发起了一项颇受欢迎且相当成功的举措,让成千上万的BBC Micros走进教室。

但是,有史以来最雄心勃勃的计算机科普计划并非来自美国、印度或者中国这些工程师人数最多的国家,它起源于一个似乎没有人能想到的地方:苏联

想到苏联和计算机,多数人会想到黑客、俄罗斯方块和输掉的冷战往事。 似乎,苏联人并没有充分利用计算机的强大潜力。

然而,仔细查看历史,你会发现一个属于这个国家的计算机普及计划的故事,一部苏联青少年被计算机编程和科幻冒险小说引领并自我发现的故事。

最雄心勃勃的计算机普及计划

早在80年代,编程和可编程计算器就开始成为了这个国家青少年们的必修课程。

1985年9月,苏联的九年级学生开始学习一门新学科:信息学和计算技术基础。 伴随着必修课程的推出,苏联开始推进15种国家语言的新版教科书出版,约10万名教师接受了相关培训,并要求为全国60,000多所中学提供了超过100万台计算机,旨在使编程成为一项普遍技能。

但这一推进进行的并不顺利,100万台计算机并没有按期到达中学,课本印刷和课程文献的分发在全国范围也很不均衡,许多教师也未能接受过专业培训。

与此同时,这一举动引发了一场计算机专家对“计算机知识”定义的国际争论。美国计算机科学家兼企业家Edward Fredkin认为,苏联人可以借鉴美国的经验:

我们现在明白,计算机知识并不是教你如何编程。也不是懂得计算机是如何工作的,更不是了解二进制和字节以及触发器和门的知识等。我们现在认识到真正的计算机知识意味着具备使用高级应用程序的技能,例如文字处理和电子表格系统。

作为回应,计算机科学家Andrei Ershov打趣说:

编码和打字并不是互斥的。

Ershov是西伯利亚科技城Akademgorodok计算机中心的负责人,他是当时计算机科普运动的强力推动者。与美国的Fredkin形成鲜明对比的是,他将计算机知识视为培养一套知识习惯,称之为“算法思维”。

1117ee407e82b360feb36687dabf1052b96df29e

苏联数字电子博物馆-计算器

苏联青少年“算法思维计划”之父

Ershov是苏联这场青少年算法思维计划的主推动者。

培养苏联青少年算法思维想法在他求学于Aleksei Liapunov(苏联控制论泰斗)门下过程中诞生。

师从Aleksei Liapunov,让Ershov学会了从控制论隐喻的角度思考,并能在技术和社会之间建立联系。 他认为,算法是人与计算机交互的一种交流形式。

Ershov的教育计划是从20世纪70年代早期访问麻省理工学院的一次经历中得到启发,虽然Ershov密切关注西方计算机科学的发展,但他相信苏联应该坚定地走出一条属于自己的通向信息时代的发展道路:一个怀有社会主义价值观的人,必须尽可能少地依赖计算机,而是更注重公民技能和思维习惯的养成。

他认为,学生通过学习编程,可以培养抽象推理和面向目标、解决问题的思维模式。到20世纪70年代末,Ershov和他在Akademgorodok的团队开始制定了他们的科普计划,在西伯利亚当地学生的帮助下制定课程计划并随后在当地学校进行测试。

当然,Ershov知道自己需要更多的支持才能在全国范围内推行这门课程。 他开始孜孜不倦地向苏联当局,计算机专家,教育工作者,父母,儿童以及国际社会团体宣传让编程作为“第二语言”的想法。

最终在1985年,在Mikhail Gorbachev上台后进行的一系列变革政策中,Akademgorodok信息学课程才正式通过。

4eb2076fffded535110e6bb800ab972c9e9aa5f2

算法思维:计算机科学家AndreiErShov(站着,左)支持苏联所有公民的计算机素养。

30年前,没有计算机的手写编程课

从1985年开始,苏联所有九年级学生都需要上一门名为“信息学和计算技术基础”的必修课。

苏联计划经济的低效意味着,大多数九年级学生需要在没有计算机的情况下学习课程以及对他们进行新技能测试,当然这不应该被改革者视为障碍。相反,教育者鼓励学生在纸上书写程序,并进行富有想象力的练习。

例如,当时学生实现了一个名为Dezhurik机器人的角色(来自俄语单词dezhurnyi,负责管理教室的人),它的编程可以实现“关闭窗户”或“擦黑板”。当来自偏远城市Khabarovsk的学生抱怨缺乏上机电脑,Ershov鼓励他们主动尝试手写程序并强调年轻人仍然有机会“赶上通向未来的火车”。

但他拒绝“怜悯”他们。 Ershov说,他们是否在计算机上运行了编写的程序并不重要,重要的是如何设计算法并通过编码实现它 - 这才是他们要学习的关键部分。

随后,他在给学生们的信中总结到:“虽然老师可能对你的表现感到遗憾,但是仍然会给你一个满意的成绩,而电脑是不会原谅你的任何错误的。 它像一个难以穿透的金属片一直停留在那里,直到学年结束。 没有算法,没有程序,没有计划,就没有必要坐在电脑前。”

当时的苏联公民虽然无法买得起个人电脑,但数百万人能够以可编程计算器的形式使用计算设备。这些手持设备可以将指令和数字存储在存储器中以供后续执行。虽然1974年惠普推出火爆西方世界的HP-65,但是可编程计算器仍然拥有不少粉丝。

在苏联,自20世纪70年代中期开始,微电子工业制造了数百万计的电子计算器,主使用者主要是当时世界上最大的工程师群体。与西方国家相同的是,苏联计算器用户在构造设备程序和应用程序的开发方面发挥了重要作用。但与西方国家不同的是,苏联很少有个人电脑,因此计算器充当了更多的角色 - 包括作为计算机教育的临时运行平台和以及蓬勃发展的游戏文化产业。

e067eff960643d72abe3a91f9577bcfe4c762661

游戏化:1985年8月,苏联科学杂志Tekhnika Molodezhi开始出版一本关于讲述一对探险家试图用月球着陆器从月球飞向地球故事的连载小说。 每一期都有要在可编程计算器上制定的任务。

科幻小说和自我发现

这两个角色汇集在一个名为Tekhnika Molodezhi(青年技术)的科学杂志上,该杂志由共产主义青年组织Komsomol发行出版。其出版物针对青少年群体,订阅量为150万。1985年1月,该杂志开始报道Ershov的计算机科普运动,并致力于推动用最受欢迎的苏联计算器Elektronik a B3-34进行编程,该计算器售价为85卢布。然而,读者对专栏反应平平。

然而在1985年8月,TM开始序列化太空旅行小说Kon-Tiki:地球之路。在这个史诗任务的故事中,工程师和飞行员试图将月球着陆器从月球飞回地球。该小说的前情参考是美国流行的电脑游戏Lunar Lander,其中玩家会控制推进器并计算轨迹安全地将其着陆器引导至月球表面,苏联版本被称为Lunalet。小说的每一部分都会邀请读者拿起他们手边的计算器,将自己参与其中变成飞行员并且和他们的装置一起进入宇宙飞船。

Kon-Tiki系列产品一炮打响,该杂志很快成为可编程计算器年轻用户最突出的论坛之一,每章的未来主义叙事风格与太空旅行的物理定律和B3-34编程技巧相结合。令读者引起兴趣阅读的是戏剧性的情节并且小说的重点是克服人类和技术的限制。

参考Thor Heyerdahl 1947年乘坐木筏穿越太平洋的旅程,Kon-Tiki也是这部小说主角为他们的地球航行所选择的小船的名字。故事情节的发展远远超出了游戏登陆航天器的最初目标。

“通往地球的道路”成为了自我发现的旅程。有一次,这名名字叫Moon Hawk的飞行员反映了他自己的错误:“我不是一台电脑; 我是一个人,我常常犯错误。因此,我无法选择不允许出错的路径。当然,在我有选择的情况下,我会更喜欢让我有权犯错的方式,同时也有机会纠正错误。“

英雄们甚至在小说的结论中偶然发现:他们回到地球上只是为了深触海洋并被迫发出一个SOS信号。“毕竟,我是一名宇航员,而不是一名船长,”飞行员承认,他们在等待救援。

773068aa2e018bf4929a2f660489e9b7ff8ef81d

这部小说巧妙地将编程和故事交织在一起,论其归功都要提到作者Mikhail Pukhov,他也是TM的科幻部门的编辑。Pukhov是一位著名数学家的儿子,毕业于该国最负盛名的工程学院 - 莫斯科物理科学与技术学院。他放弃了在中央科学研究无线电工程学院十分光明前途的职业而转向从事写作和编辑。

在启动Kon-Tiki之前,Pukhov彻底探索发掘了计算器的功能及其bug。西方和东方的计算器用户都很快发现并利用起设备的bug,同时这推动了他们去做设计师从未想过的事情。这种探索被称为错误日志,来自“EГГОГ”信息,该信息在执行未记录的特征时经常出现在小显示屏上。Pukhov的小说赞美了错误,用诗意描述了“捕鱼”的不寻常的符号组合。

读者回答说,他们向TM写了关于他们自己计算器的bug。“我告诉你,我从数字和符号'Е,'','С,''L',' - '创建任何组合的简单方法,它不会从零开始显示 B3-34,“提及一位读者。在TM上打印他们的节目和名字是许多读者的梦寐以求的愿望。

因此,TM及其科幻编辑帮助培养了一代黑客和计算机爱好者。 如果你觉得苏格兰一家国家批准的大型杂志推动黑客攻击行为很奇怪,那就不妨了解一下美国黑客文化是如何出现的 - 作为一种着手技术调查的形式。在1984年出版的“黑客:计算机革命的英雄”(Hackers: Heroes of the Computer Revolution)一书中,Steven Levy将麻省理工学院黑客的起源追溯到铁路爱好者俱乐部。

同样,在苏联,国家利益和基层倡议的结合培养了无线电业余爱好者的实践文化。对于像Pukhov这样的无线电工程师,以及在课堂上使用小说的教育工作者来说,颠覆计算器的设计规范是鼓励技术技能培养的一种方式。

围绕Kon-Tikiunwitting形成的读者和玩家群体接受了Ershov设想的编程目标。 在给TM的信中,许多人要求出版更多游戏以及用于重写其他类型计算器程序的流程图。 一位读者写道,他渴望“将程序看作是一种有意识的行动模式,而不是一种无意义的符号代码。可以在你的杂志的帮助下,不仅要能执行可用的程序,而且还能自己创建[新程序]。“从这个意义上讲,小说及其计算器用户社区为Ershov的计算机知识愿景的发展做出了贡献。。

但Ershov的课程是否成功?

当然,任何教育倡议的结果都难以衡量。苏联统计学家毫无疑问的以某种方式监督改革工作,但这些数据很难捕捉到课堂内外的实际经验。

我发布在了几个希望收听Kon-Tiki读者的俄罗斯计算器用户论坛上,之后我收到的反馈都带有怀旧之情。有人写道,他们对小说的迷恋促使他们想要得到一个计算器。 “半年一次,就像真空吸尘器一样,我特别收集了所有关于编程和计算器的所有信息,”一位论坛成员写道,解释了他在获取自己的设备之前如何学习编程原理。

对于其他人来说,计算器只不过是一块敲门砖; 最终,他们都赚到了足够的钱来购买电脑套件(可在改装时代的街头市场买到)并组装自己的机器。与此同时,TM的副本继续通过二手商店流传,新的读者群体在TM初版发表好多年后才发现这本小说。今天,您可以轻松地在线查找杂志的电子版本以及计算器模拟器。

这种学龄期经历对人们职业生涯影响的程度尚不清楚。

除非你经历过它,否则你可能不会完全理解苏联解体后经济危机带来的巨大破坏 - 在那些年代被称为“20世纪90年代的狂野”。Kon-Tiki的读者成年后作为新兴主权国家的公民,他们中很少有人完全掌握他们自己的职业选择,对许多人来说,编码成了一种呼唤,一种演出和一种途径。 如今在俄罗斯,编程技能的“普遍性”已不再与创建计算机文化社会联系在一起。相反,它提升了移民的发展高度,因为优秀的程序员选择离开这个国家去追求自己的职业生涯。

acbd7ad5860b0f4b11ae8413cbdc1886e91241d2

论文编程:1986年为年轻程序员设立暑期学校,Andrei Ershov与学生合作。大多数苏联学校没有电脑,鼓励学生在纸上写出自己的程序。 “没有算法,没有程序,没有计划,没有必要坐在电脑前,”Ershov写道。

苏联时代促进计算机文化的努力以不同的方式对西方的信息时代做出了自己的实验。

与西方不同的事件,苏联数字革命不是怪才和天才计划之一,但国家资助的学者,作家和教育家,愿与政府官员,企业家和程序员朝着共同的目标努力的。它不是以个人电脑为基础,而是用计算器,铅笔和纸张以及学生自己的想象力来制造。

尽管像Ershov和Pukhov这样的数字爱好者充满热情,但该活动的普遍性理想很难实现。这些改革似乎最适合发生在一些特别条件下,比如:在首都的精英学校和一些拥有富裕家族孩子的偏远学校,被石油和天然气工业支持的那些学校。TM超越了一些地理和经济障碍,做为切入点为缺乏优秀教师或自己的计算机的社区学生提供了动力。

但该杂志未能弥合另一个熟悉的分歧—性别差异。与苏联专业程序员的人口不同,与强制性和性别中立的信息学课程不同,写TM计算器漏洞的读者主要是男性。

因此,Ershov和其他人所追求的数字社会主义社会并未完全实现。无论是1988年去世的Ershov,还是这个国家本身都存活了足够长的时间才能完成实验。

然而,我们不应该如此迅速地忽视计算机素养的愿景,认为所有学生都能够通过算法思考。

苏联无奈没能亲身经历当前信息时代的许多挑战,而我们可以从这个大国的过去,汲取一些解决当前信息普及难题的经验和教训。


原文发布时间为:2018-11-7

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”。

相关文章
|
2月前
|
程序员 测试技术 iOS开发
作为程序员的你,常用的工具软件和普通人有啥不一样呢?
在程序员的世界里面,有哪些新奇的工具软件呢,随小编一起来见证一下吧!
21 0
|
9天前
|
存储 搜索推荐 程序员
SnippetsLab:程序员的秘密武器
SnippetsLab:程序员的秘密武器
19 0
|
9月前
高效能人士的7个习惯
高效能人士的7个习惯
60 0
|
SQL JavaScript 前端开发
#你会担心掌握的技术语言过时吗?#一入编程深似海,从此妹子是路人
我掌握的技术语言有C、C++、ActionScript、JavaScript、TypeScript、Flex、Java、SQL、Scala、CAD,当然,这还不算一些具有特殊语言的技术框架,如Vue.js、Angular、Spark、Android、HarmonyOS、Node.js等,如果算上就更多了。
210 0
|
程序员
程序员编程植入“逻辑炸弹” 被判入狱2年6月
  一名专业软件程序员,在参与软件编制的过程中,竟暗中在软件中添加了俗名为“逻辑炸弹”的恶意代码,并导致使用该公司软件的多家企业,发生了计算机数据被删除的严重后果。   昨天,这起沪上罕见的破坏计算机信息系统案,在市二中院终审落槌,程序员浦加志被判入狱2年6个月。
1144 0
|
XML SQL 存储
不学无数——在工作中被逼出来的解决之道
在工作中被逼出来的解决之道 相信初入职场的小伙伴们肯定经历过在组内统计一些东西的事情,简单却繁琐。前一段时间给了一个关于统计组内各个系统中都用了哪些用户下的表的任务。
1073 0
|
分布式计算 Hadoop 数据挖掘

相关实验场景

更多