程序设计语言课程设想
警告
已恢复历史版本
当前版本 00000011 在备份中缺失;以下内容来自最新可读取版本 00000010。
引子
http://www.tiobe.com/tpci.htm



现状
现开设的程序设计类课程包括:C语言、C++语言、VB、C#等。C语言是学生学习的第一门语言,C++语言是用来学习面向对象程序设计的,VB和C#是用来学习应用程序和web开发的。
- 难度很大。
- 从第一门语言开始就学习C语言是很难学习的
- C++是公认最复杂最难掌握和运用的语言之一,用它来学习面向对象程序设计,很容易导致本末倒置
- 完全忽视了其他非常流行的语言(比如Java、Php、Python等),甚至连选修的机会都没有
- 类型单一化,4种语言都是静态类型语言,3种都是面向对象语言(没有一种语言支持函数式程序设计,没有一种语言是脚本语言,没有一种语言是动态类型语言)
- 开发平台单一,C#、VB都是专属于Windows平台的语言,而C、C++虽是跨平台的语言,但是教学过程中也没有讲授其跨平台的开发框架
C语言太难
- C语言课程是不可能取消的
- 先学习一门更简单易学的语言,降低学习的坡度
- 比如 Basic、Python、Logo、Scheme等等。我是从学习Basic语言入门程序设计的,MIT计算机专业的学生的第一门课程是Scheme。但是Scheme实用性不够,今年MIT把第一门程序设计语言改成了Python。
C++语言太难
- 学习C++并不是目的,目的是学习面向对象程序设计
- 取消C++语言,采用其他简单的语言代替C++,比如Java、 VB、Python、C#、Delphi等等都可以考虑。
增加语言
- 语言要足够流行,所以在排名前10位的语言中选择语言
- 去掉C++(太难)、VB(与C#重复)、RUBY(与Python重复)、PERL(与Python重复)
- 剩下:C、Python、Java、C#、PHP、JavaScript。
- 结合现有课程:计算机导论(部分课时讲授Python语言)、高级语言程序设计(C语言)、Web开发(PHP和JavaScript)、应用程序开发(Java或者C#,选修其中一种)。