刘卫国 施荣华
摘要:本文分析了程序设计教学的现状以及教学体系,按照以“语言知识—程序设计能力—应用开发能力”为主线的教学目标,对程序设计课程教学内容组织与教学模式、程序设计课程系列教材与教学资源研究开发等问题进行了探讨。
关键词:程序设计;课程群建设;应用能力;教学资源
中图分类号:G642文献标识码:B
“计算机程序设计基础”是大学计算机公共课中的核心课程,其内容以程序设计语言的语法知识和程序设计技术的基本方法为主,同时包括程序设计方法学、数据结构与算法基础等方面的初步内容。通过本课程的学习,使学生掌握必须的程序设计基本知识与基本技能,培养学生的程序设计能力以及分析问题和解决问题的能力,帮助学生建立良好的思维模式,把计算机知识应用到不同的实际领域中。
1教学现状分析
分析程序设计课程的教学现状,可以发现存在以下几个主要问题:
(1) 程序设计语言的教学以语法教学为主线,很多情况下采用了在课堂中讲语法、上机调程序的教学模式。课堂举例往往针对语言的某个概念进行简单编码,即对实际程序设计过程进行了简化,忽略了问题分析、算法设计和程序测试与调试等重要过程。因此,目前在教学中普遍存在着一种现象:学生上课能听懂,但害怕写程序,碰到实际问题时无从下手。往往是经过一个学期的学习,还是不会编写程序,反映了程序设计能力的不足。当然更谈不上实际的应用开发了。
(2) 许多考试的笔试基本上是考语法,为了提高应试能力,导致程序设计的教学把注意力放到了语法的细节上,忽视了学生的实际程序设计能力的培养,有些教材在编写体系上也有这个问题。这些都不利于程序设计能力的培养。
(3) 在程序设计教材和教学中少有贯穿软件工程的思想,难以做到重点介绍解决问题的方法和思路、把重点放在问题分析与算法设计上。
鉴于上述问题,有必要改革现有程序设计课程的教学内容和教学模式,为培养学生的程序设计能力、应用开发能力探索出切实可行的思路和办法。
2程序设计教学体系
由于不同学校、不同专业对学生程序设计能力的要求不尽相同,所以程序设计课程可以采用不同的教学语言。从课程内容侧重点的不同,一般按下述方法进行选取:
(1)C或FORTRAN 90:侧重讲解结构化程序设计方法、数据结构与算法、模块化程序设计等。
(2)C++、C#或Java:侧重讲解面向对象的程序设计、应用程序接口等。
(3)VC++、VB或VB .Net:侧重讲解可视化程序设计技术、图形用户界面设计及应用程序开发等。
无论选用哪种语言,都应讲解程序设计的基础知识与基本程序设计技术。
从教学研究和改革角度讲,程序设计课程并不是孤立的“某门”课程,而是一个整体。这个整体既包括单一程序设计语言的个性,也包括程序设计方法和语言特征的共性,所以,宜将不同程序设计语言课程组成课程群进行研究,合理地将相关语言工具统一起来,形成一个相对完善的课程体系。
3以培养应用能力为目标的程序设计教学
要以现代教育理念为指导,探索人才培养规律和知识结构要求,积极开展课程改革创新研究,以夯实基础、面向应用为原则,处理好传统与现代、理论与实践、知识与创新等关系,构建符合培养创新型人才要求的程序设计课程群教学体系。
从计算机应用软件人员的基本知识结构要求出发,本文提出程序设计课程应该形成以“语言知识—程序设计能力—应用开发能力”为主线的教学目标,这反映了程序设计教学三个不同的目标层次,同时探索为实现这一教学目标的教学模式。
4程序设计课程教学内容组织与教学模式
4.1教学内容组织
程序设计教学内容组织将面临两方面的问题。
一方面,由于语言工具发展很快,可供选择的技术方案也很多(例如,.Net框架下的编程工具),课程内容既要新,体现技术发展的趋势,又要符合教学规律,体现教学基本要求。
另一方面,从培养学生程序设计能力的侧重点不同,程序设计课程也可分为两个层次:标准语言级程序设计和语言工具级程序设计。标准语言级程序设计重在语言(如C++、C等)级程序设计技术与原理,这里介绍的语言是符合语言标准的、不带任何“方言”的标准语言,因此通用性强,教学过程中可以选择不同的工具环境进行上机实现,但在有些应用中(例如界面设计、标准资源的利用等)和实际需要还有距离,应用时需要补充环境工具的相关内容,有些干脆作为第2门课程开设;语言工具级程序设计重在利用具体的集成开发工具(如VC++、VB等)开发应用程序,这里虽结合具体的工具环境进行教学,有时更符合软件开发实际需要,但不是按照语言标准介绍一门程序设计语言。以C++程序设计教学为例,C++教学是讲标准的C++,还是讲VC++,实际上无论是教材还是实际教学中,目前两种模式均存在。本文提出的基本思路是,将两者结合起来进行考虑,使原来要在2~3门课程中解决的问题放在一门课中来解决,当然内容的组织和优化是需要研究解决的问题。
4.2实验教学设计
程序设计课程实验教学设计,特别是研究与创新型案例设计是需要解决的重要问题。在计算机程序设计基础实验教学中,构建基础型、综合设计型和研究创新型“三层次”实验教学体系。在计算机基础教学不断深化的背景下,要重点开展创新型实验教学体系的研究,结合课程设计等实践性教学环节,开展创新型实验选题、案例、指导模式、考核评价等系列研究。
4.3教学模式研究
程序设计课程教学模式研究,包括课堂教学内容的组织与优化、实践教学以及课程设计的指导模式、课程考核方式与评价标准等。基本的思路有,课堂教学讲授从分析问题到构造算法的方法,上机着重训练程序调试的能力(不仅仅是验证程序),至于语言的语法规则,则引导学生通过实践以在机器上学习为主。
5程序设计课程系列教材与教学资源研究开发
按照“语言知识—程序设计能力—软件开发能力”的目标要求建设“计算机程序设计基础”系列教材。基本的思路是,以基本语言知识和基本的程序设计方法为基础,即为培养软件开发能力奠定基本的程序设计基础,以提高上机操作能力、程序设计与程序调试能力为核心,以提高软件开发应用能力为目标,为学生提供相应的参考教材。
按照“语言基础—程序设计—软件开发”的层次要求组织开发案例库。案例选题有一定应用背景,体现实用性,但也要符合基础学习阶段的特点,不宜太复杂;案例实现体现软件开发的思想,覆盖面要广,有代表性、启发性,能起到示范、引导的作用。案例库可以由网络教学平台统一管理,方便学生自主学习。
6结束语
本文提出程序设计课程以“语言知识—程序设计能力—应用开发能力”为主线的教学目标,这反映了程序设计教学中的教学理念;改革程序设计课程的教学模式,并研究具体的实现途径,力图解决程序设计教学中的一些难点问题,需要不断地改革、创新和实践。
参考文献:
[1] 教育部高等学校非计算机专业计算机基础课程教学指导分委员会.关于进一步加强高校计算机基础教学的几点意见[M].北京:高等教育出版社,2004.
[2] 刘卫国.当前深化计算机基础教育改革的几个问题[J].大学教育科学,2003(1):49-51.
[3] 侯进军.计算机高级语言的课程改革的目标与方法研究[J].湘潭师范学院学报:自然科学版,2005,27(3):121-123.
[4] 张丽萍,刘东升.程序设计精品课程建设的研究与实践[J].内蒙古师范大学学报:教育科学版,2007,20(1):109-111.