高校计算机专业C语言教学的四个定位

时间:2022-07-15 07:14:54

高校计算机专业C语言教学的四个定位

摘 要:本文所讨论的是高校计算机专业C语言教学的课程性质、教学目标、教学内容、教学理念四个方面的定位问题。作者从教学的实际情况,目前计算机行业的实际需求,计算机专业C语言编程学习的方法,学习意义等方面谈高校计算机专业C语言的教学定位问题。

关键词:C语言;编程基础;教学

当今社会,在我们看到计算机行业的美好就业前景的同时,也看到了计算机专业教育的美好前景。同许多学科的教学过程一样,计算机专业教育也要重视专业基础课程的教学。目前,大多数高校将C语言作为计算机专业的编程基础课程,作者认为将C语言作为高校计算机专业的编程基础课程是必须而必要的,但是,在C语言的教学中,往往因为目的不够明确,理念不够准确,而使我们的C语言教学没有达到应有的效果。因此,在这里提出C语言教学的四个定位问题。

一、教学课程性质的定位

C语言课程性质的定位:C语言是一门计算机专业的编程基础课程。

20世纪70年代,在B语言的基础上设计出了C语言。其中,UNIX操作系统,以及运行这一系统中大部分程序都是用C语言写成的。而被我们广泛使用的微软Windows操作系统的核心代码也是用C语言来编写的。1983年形成了C语言的ANSI(American National Standards Institute)标准,1989年ANSI C被ISO(International Standards Organization,国际标准化组织)所接受,这就是常说的C89标准,C89标准成为C语言的国际标准。而标准化委员会又于1999年再次修订C89,成为了C99标准。从这些事情上,不难想到C语言的重要作用和历史地位。因此C语言的通用性和规范性要普遍强于同时代其它的任何一种编程语言。当今编程语言以C++,C#和JAVA为主流,而他们正是从C语言发展而来。因此,从编程技术的发展过程和编程技术的前后衔接性而言,C语言也是最恰当的。所以,将C语言定位于计算机专业的编程基础课程是最合适的选择。

二、教学目标的定位

C语言作为计算机专业的编程基础课程,在开展C语言教学时,必须对C语言课程的教学目标有明确的定位。

目前,社会IT行业中,C语言实际应用的程度和广度都在大大的缩减,C语言的开发应用能力被他的后继编程语言所取代。C语言的职业应用领域更多的是结合汇编语言在单片机开发中的应用,如AVR单片机C语言开发,这突现在C语言的低端开发能力上。计算机或者单片机低端的开发应用是建立在对硬件相当熟悉的基础之上的,在这种情况下,要求编程基础课程的C语言突出其职业能力培养是不现实的。

因此,C语言课程的教学目标应该定位在计算机编程技术应用理念、编程逻辑思维、实际问题在编程中数学模型抽象能力等方面,即思维方式和模式上的培养认知上。C语言教学的开展不是去追求其职业能力,而是锻造和培养学生的编程思维能力,为后继专业课程的学习打下良好的基础。因为,没有编程思维的理念认识,编程思维模式的转变,计算机专业课程的学习是事倍功半的。

三、教学内容的定位

C语言本身所涉及的开发应用能力是一个很庞大的系统,C语言本身也是一个中级编程语言。C语言在低级方面,它允许在算法逻辑中通过详细的定义,来达到最高的计算机效率;C语言在高级方面,它隐含了计算机的结构细节,提高编程的效率。因此,C语言是介于低级编程语言和高级编程语言之间的中级编程语言。C语言本身也有着丰富而复杂的函数库。所以,在C语言的教学中还应该注意教学内容的筛选。从国内绝大多数面向高校编写的C语言教材来看,C语言的教学主要是侧重在学生运用其高级能力方面,解决数理问题方向,这也充分说明我国计算机专业教育大环境对C语言课程的定位。

在C语言教学中,结合C语言常规教材的特点,对教学内容的定位应当做到既有全局的认识,又要有所侧重;既要注重学生在C语言应用方面能力的培养,更要注重学生通过C语言对编程理念的认知。因为,C语言的教学内容的取舍不再是单纯的为C语言本身而定,更多的是想达到抛砖引玉的效果。

C语言的教学可以分为四个部分:数据类型和运算、逻辑结构、模块化思想、输入输出。

(1)数据类型和运算应该包括:普通变量与类型、指针、数组、结构以及基本的运算,尽管指针、数组、结构是在后期的教学中才涉及,但是它们依然是属于数据类型的范畴,只能说它们是一种特殊的变量。

在普通变量与类型阶段,教学内容的重点应该放在对变量的存储机制和运算机理的认识和概念理解方面。而到了指针和数组方面,就要求学生能够灵活应用变量的存储机制和运算机理。而结构部分是早期编程语言对于实际问题抽象方面最好的数据模型,有助于进一步提高学生的数据抽象能力。

(2)逻辑结构的主要内容是三大结构:顺序,选择,循环。这是所有成熟编程语言的重要逻辑结构模式。在这个部分,侧重于引领学生如何将实际问题的解决思维方式转变为用三大结构来解决的逻辑思维方式。在教学中,单纯的就结构谈语法,会限制学生的眼光,相反,应该就语法谈结构,编程中的逻辑结构才是计算机所有编程语言的理念之一。

(3)模块化思想是指C语言中的函数部分:标准库函数,自定义函数。C语言的函数思想是编程模块化思想的前身。在C语言中,将指定问题的处理过程放到函数里解决,函数的相对独立能力,使函数能够多次或者多处被使用。避免代码重用,提高了执行效率。

函数的应用,模块化的思维模式在编程技术的应用中,为程序的分工协作,或者把一个大问题分成多个小问题来解决提供了最佳的途径。所以在教学中,应当使学生充分认识到编程的模块化思想应用的重要性和必要性。

(4)输入输出即I/O。这里的输入输出既包括控制台的输入和输出(scanf函数和printf函数),也包括文件的输入和输出(fscanf函数和fprintf函数)。在技术上,控制台I/O和文件I/O只有微小的差别,但在概念上,两者是截然不同的范畴。

输入输出的内容能够使学生明确,程序代码的编写过程和运行过程是完全不同的两个过程,编写过程是从程序开发者的立场出发,而运行过程就要从程序使用者的立场出发。输入输出部分的内容是一个强化,强化学生在编程理念上有程序员和用户的立场差别。

四、教学理念的定位

在C语言教学中,教学理念的定位将直接引领教学的开展过程,直接影响教学方法、手段的设计与使用。把握好教学理念,是教学成功开展的捷径。

(1)实例性教学,先应用再理解。

C语言课程同许多计算机专业课程一样,是一门应用型的工具学科,我们这里的应用不指行业应用或者职业需求应用,而是指建立在计算机硬件条件下的软件的运用过程,这些都有一定的标准,典型的说,比如C语言本身的C89,C99标准,对于这些标准的理解,对于计算机初学者而言是非常困难的。在教学中,学生常习惯去追求为什么要这样?这就涉及到C语言本身内在运作机制的理解,很容易造成知难而退。在教学中引入实例性教学模式,目的在于使学生在学习中首先关注的是怎么用,而不是为什么,然后再去关注程序的运行过程,最后理解程序的存储机制和运作原理。在IT行业中,许多程序员也可以证明这一点,对于他们而言,应用是第一位的, 理解是第二位。

所以,在C语言教学中以实例教学方法为主,把握先应用再理解的原则,从而使学生在应用的基础上,再加强对编程的理解。

C语言教学中,新语法新知识的学习过程,通过对同一问题的旧新知识解决过程的对比,突显新知识的优越性,突出新知识的必要性和重要性。我们称之为“实例对比法”。

在知识的展开、强化、复习过程中,通过多个实例的解题过程,关注学习内容的变化过程,在解题过程中,引导学生的思考过程,接受和形成自己的经验,我们称之为“实例经验法”。

经历了一个阶段的学习,在学习内容的总结中,让学生从事一个相对综合的实例的开发过程,在教学中,引导学生对这个综合实例进行功能拆分和模块分析,而这个实例的分析和开发过程,可以让学生独立完成,或者分小组完成。强化学生的综合知识能力,培养学生实际问题的分析解决能力。最后教学中,对综合实例进行分析,探讨,教学相长。我们称之为“综合实例法”。

(2)培养学生的逻辑思维为主,强化源代码为辅

C语言课程作为计算机专业编程的基础学科,教学中把如何引导学生用编程的思维模式去分析问题、解决问题能力的培养放到重中之重,而把学生是否能够写出正确的C语言源代码做客观的分析。如果学生的源代码符合编程逻辑思维模式的要求,解题的逻辑结构准确,仅在C语言语法上有错误,对于这种情况,教学中应当作出肯定。学生在学习中,重视对编程理念的认识,要远比他们重视源代码要重要的多,当然两者兼顾自然最好。同时也要说明,这种观念只适应在编程的基础教育中。

(3)打破常规思维模式习惯,打造良好的编程习惯

计算机专业的编程基础是培养学生的编程逻辑思维模式。对于这种思维模式有别于常规的思维模式。常规上,人们使用的一种思维模式是来自于一般数学的思维模式,而这种一般数学思维模式是“集中型”的,在多个已知条件下,结论是明确的或者是唯一的。而计算机专业的编程中要求的思维模式是“发散型”的,在编程理念中解决实际问题时,要求归纳的是解决问题的方法,处理在各种可能条件下得到结论的过程。简单一点说,使用编程的方法解决实际问题时,对于一个“点”上的问题,往往要在一个“面”上分析,归纳这个“面”上所有点的条件,在程序控制过程中,筛选所满足条件的“点”;在编程中,对这个面的每一点都要妥当的处理,这样写出的程序才不至于漏洞百出。

打造学生良好的编程习惯,比如说:变量名的命名规则,变量声明定义方法、源代码分层次分段书写;把大问题分解成若干个小问题使用函数来解决,即模块化思想。这些小的习惯的运用,对于程序而言,也许并不影响结果,而对于学生而言,也不存在困难的技术问题,但是这些小的习惯的形成,将会直接带来良好的程序风格和可读性,为以后写出高质量的程序代码打下基础。

综上所述,高校计算机专业C语言课程是专业编程的基础课程,教学中弱化其社会实际职业应用能力,强化编程思维理念的培养,明确教学的目的,定位准确的教学理念,使用强化训练的教学手段,为以后后继的专业知识学习构建良好的基础和框架。

参考文献:

《C++ 程序设计教程》 钱能 清华大学出版设

《C++ 参考大全》 [美]Herbert Schidt电子工业出版设

《C# 精髓》[美]Chris H.Papps 人民邮电出版设

(作者单位:河南经贸职业学院)

上一篇:《施工企业会计》教学改革的探索与实践 下一篇:参与北京海淀区清晨舞会的不同职业人群锻炼情...