如果可以的话,请考虑一下。
温迪说,一个人可以获得CS学位,但对编程实践却一无所知。这不是很大的困扰,甚至令人恐惧吗?这就像在70年代淹没了英语系的欺诈行为一样令人不安:文学不是人们可以理解和整合的思想的集合,而是学生必须抽象和“解构”的一堆“文本”(http:// /www.answers.com/topic/deconstruction)。令人高兴的是,那股恶臭的潮水正在消退,也许是因为那些在杂草丛生的海浪中消灭的教练现在正在退休。
几年前-几十年前-我在CS上的第一门课程使用诸如排序,哈希和搜索(当然是递归)之类的实际问题教给我汇编语言(在发明C之前)。我的第二门课程讲授了真正的实时编译器的设计和实现。我是麻省理工学院的兼职学生,这两个课程是我开始以程序员身份获得报酬所需的全部;并在两三个月后变得有些生产力。
因此,今天早上,听到温迪的哭声,我想当然是,在所有地方,麻省理工学院都不能稀释其产品,并且(在编程实践的背景下)用非常无用的废话欺骗了学生。但是,当我看一下MIT的EE / CS课程时,我发现确实是这样:
http://student.mit.edu/catalog/m6a.html
我特别注意到该部门使用Python作为一种教学语言!我的意思是,真的!看起来MIT的CS学位意味着让学生有资格成为MIT的CS老师。谈论递归!
然后,我发现了对编码恐怖的贡献(http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html),并认为它很重要这段对话:
“我(关于预测程序员候选人的成功的讨论)是后来者,但是根据我的经验,我是一位开花期很晚的30岁的CS本科生,我发现编程课程毫无用处,并且在我只是去过一所社区大学,然后去了芝加哥的伊利诺伊大学,但是编程入门课程是:
“ 1.面向对象,使学生对程序方法了解甚少或根本不了解,
“ 2.淘汰类。这些类主要由对不同类型问题的描述及其背后的数学组成,而不是语法和结构,人们被告知应阅读这本书。
“直到数据结构核心之前,代码才被直接承认,然后它仍然取决于您所教的老师,有些非常轻便,有些很好的代码。您可以说,教师轻便是一个很大的诱惑。在这一点上,因为如果他们专注于代码,那么他们还必须专注于教学已经学习了两年计算机科学课程的学生如何编程。
“由于编码是许多年轻人的业余爱好,我认为教育机构依靠它来建立预期的学习曲线,使几乎没有经验或编程经验的人在入学时别无选择,只能像疯子一样欺骗,花所有的时间。他们的业余时间学习代码或换专业,这在我的经验中并不一定是抽象思维上的不足,因为我认识的所有退出CS的人都进入了电气工程专业,这无可厚非在抽象的方面,他们仍然不知道如何编程,而在做数学时我却无能为力。最荒唐的回忆是:
“ 1. Java是必需的编程语言。我不会在这里抨击Java,但是让学生不得不学习自己的垃圾回收不是很好吗?而且指针学习不是一件好事,即使我们从未决定再次和他们一起使用某种语言编程?
“ 2.在被Java迷住之后,选择了关于操作系统理论的核心课程,并且发现在C语言中(当然)它甚至在校园中都没有C语言课程吗?
“当然,我今年30岁,也是一直编程的人之一,所以我没有问题,但是我看到很多我认识的人比我更擅长抽象(来自微积分,DiffEQ和物理课, ),以及他们对完成针对他们的程序的全部痛苦。”
只是几个数据点,但是,正如其他人所说的那样,令人困扰。
-皮特