C语言程序设计课的教学角度
在高等学校的本科教育中,“C语言程序设计”几乎成了所有专业的必开课程,从计算机科学与技术、软件工程、网络工程等相关专业,到电子信息类理工科各专业,乃至理工科院校的所有非计算机专业,有的是专业基础课,有的是公共必修基础课,有的是“非计算机专业的计算机基础课”。无论叫什么样的课程名,也无论是哪类专业,其课程的教学要求和教材选用却无太大差别,只是课时分配差异较大。
从网络调查的16所不同类型高校的“C语言程序设计”教学大纲看,普遍都包含“通过本课程的学习,使学生了解有关程序设计的基本概念、术语及C语言的特点,掌握C语言基本数据类型、语法规则、程序控制结构、常用的标准库函数,培养学生的程序设计技能,初步积累编程经验”的教学基本要求;约百分之八十左右的“C语言程序设计”课程都选用由谭浩强主编、清华大学出版社出版的“C程序设计”作为主教材:课时分配从30~108课时不等,其中80课时以上的多为应用型本科院校的计算机相关专业以及综合性大学的非计算机专业,理论课时与实验课时的比例一般为1:1到1:1.2。
与此同时,其他专业基础课(如计算机组成原理、操作系统、数据结构等)的课时~般为54课时,最多不超过72学时。相比之下,“C语言程序设计”所占课时是其他专业基础课的1.5倍至2倍。
从教学目的看,非计算机专业的“C语言程序设计”课程的主要目的是“掌握语法规则和程序结构,具备一定的程序设计能力”,而计算机相关专业的“C语言程序设计”课程的教学目的则要分为三个层次,一是使学生全面理解计算机程序设计语言的基本内容和结构;二是通过算法掌握程序设计的基本方法和步骤,并具备一定的程序设计能力:三是为后续课程的算法描述和其他程序设计语言的学习奠定基础。
然而,从教学现状(特别是课时分配)看,长期以来,“C语言程序设计”课程教学存在“教学内容背离教学要求和教学目的”的误区,主要表现在教材误区、讲授误区和考核误区三个方面。
教材误区是指国内高校的“C语言程序设计”课程大多选用谭浩强主编、清华大学出版社出版的“C程序设计”为主教材,该教材的最大优点就是“内容详尽、解释清晰”。然而,对于初学者来说,学习计算机程序设计语言就是为了“为计算机描述求解问题的过程”,过于详细但又远离现实问题的“特殊格式”和“特殊情况”的解释,使得学习内容复杂化,增加了程序设计语言学习的难度,误导了学习者的学习重点,由此也赋予了该教材无法掩饰的缺点,就是教材编写的指导思想和教材内容的组织脱离了高校各专业“C语言程序设计”课程的教学目标,过分强调语法细节而忽略了程序设计语言的“正向表达能力”的应用,过分强调“语言的灵活性”而导致教材主体内容的“复杂化”,从而误导“C语言程序设计”课程的教学内容朝着“重语法学习、轻算法描述”的“语言研究”方向发展。
讲授误区是指由于教材内容的“复杂”,课堂讲授自然需要较多课时,教学重点当然会转移到语法细节的讲授上,忽略了算法描述和程序设计的实践应用。
考核误区是指考试和考核的方式和内容同样存在误导,过分强调语法细节的考核,而忽略了算法描述和程序设计的实践能力的考核。
因此,笔者认为,C语言程序设计课的教学角度应从概念入手,侧重程序阅读和程序设计能力培养,而非“语法研究”。只有这样,C语言程序设计课的教学内容才能真正地朝着“教学要求和教学目的”的方向发展。