20年前,在第十届国际万维网会议上,哈尔·阿贝尔森和菲利普·格林斯彭发表了一篇题为“从麻省理工学院开设的一门学科中学习”的论文。1讨论的主题是“创新互联网应用软件工程”。
在2006/2007年的某个时候,我在浏览一门名为“互联网应用软件工程”的类似主题/课程时看到了他们的论文。
我既不是麻省理工学院的学生,也不是院士,但作为一名软件专业人员,我对这门学科的重点和意图印象深刻。这门课程强调“工程软件”,同时教授使用当前/新兴技术的“创新互联网应用程序的开发”。
Abelson和Greenspun会议论文以一个问题开篇:“为什么软件工程是计算机科学本科课程的一部分?”即使在今天,这个问题仍然重要。业界希望软件开发人员同时也是一个伟大的软件工程师。一个学生在他们的本科学习中真正实践了多少软件工程?即使一个学生在一个学生项目中应用/使用软件工程原则,他们的评估是否基于他们的技能?
Abelson和Greenspun论文继续强调软件工程,并进一步指出:
为了对未来20年的信息系统做出贡献,除了计算机科学核心课程的材料之外,我们还必须教学生:
在20年后的2021年,Abelson和Greenspun的这些观点需要得到学术界和工业界的关注。在过去的20年里,
但是——它们是否影响了Abelson和Greenspun的主题“创新互联网应用软件工程”的愿景和使命?这篇论文的标题超越了这些技术和平台的变化。我相信内容每年都在修改。更重要的是,除了技术和平台,参加这门课程的学生还必须学习/理解:
这个主题一定是逐渐灌输的
当我最近参与到一个学院的IT本科生课程设置时,我再次想起了Abelson和Greenspun上述论文和我在2006/2007年阅读的《互联网应用软件工程》课程内容。在教授学生构建端到端(全栈)互联网应用程序时,我回忆起他们对各种软件工程学科/方法的顺利集成。
今天,在对IT本科课程进行评估时,我问自己:
考虑到学生学习“XYZ面向对象编程”、“Web技术”、……“分布式与云计算”等作为独立课程/学科,
这个问题更多的是关于时间窗口和习惯。如果他们能找到一个喜欢软件工程,并且在某种程度上喜欢软件工程原则的新人,工业界将会非常高兴。
教育机构试图在自己的限制条件下匹配行业期望和学生愿望。他们绝对不可能完全负责让每个学生成为伟大的软件专业人士。此外,对于每个教育机构和计算机科学/ it部门来说,设计一门课程并教授一门像“创新互联网应用软件工程”这样的课程可能并不容易。
为了实现这些目标,在给定的限制条件下,很少有教育机构在必修课和选修课中考虑逻辑线索。一个典型的逻辑线程是不断提高学生的编程水平。同样的思路也存在于他们提供的各种课程中,如“Web技术”、“Python入门”、“区块链技术”、“数据科学与分析”、“分布式和云计算”、“比特币和加密货币”等。
但缺失的维度是将这些孤立的知识应用于构建应用程序的工程方法;也就是说,学生似乎没有学习“XYZ应用软件工程”。他们甚至没有在解决问题的过程中根据软件工程方法进行评估。
事实上,在教育学生各种编程语言、(Web/Mobile…)技术和新技术领域等方面,软件工程维度的这一小步将对学生和行业产生巨大的影响。因此,在教授“使用Python进行数据科学/分析”时,您甚至可以想到“数据科学应用的软件工程”。
简而言之,Abelson和Greenspun的论文需要得到工业界和学术界的关注,他们需要思考:
1)教授软件工程——麻省理工学院的课程:Hal Abelson和Philip Greenspun
于2001年5月1日至5日在第十届国际万维网会议(香港)上发表。
Vivek s Buzruk他是SarvaTech Consultants Inc.的DevOps顾问。他是位于印度浦那的Pimpri Chinchwad工程学院(PCCoE) IT部门的“研究委员会”成员,主要专注于DevOps洞察和定制软件开发。
没有发现记录