APP下载

非计算机专业C++程序设计课程教学改革探索

2015-05-29由育阳

关键词:非计算机专业程序设计教学改革

由育阳

摘 要:C++程序设计课程,是高校理工科专业普遍开设的一门实用性较强的应用型课程。文章从C++程序设计课程的特点出发,针对非计算机专业C ++程序设计课程教学中存在的问题,提出了非计算机专业C++程序设计课程教学改革的思路与设想。

关键词:非计算机专业;C++程序设计;教学改革;高校

中图分类号:G642.0 文献标识码:A 文章编号:1002-4107(2015)05-0068-03

在高等教育大众化的背景下,伴随着计算机技术的快速发展和应用范围日益广泛,非计算机专业C++程序设计课程,在理工类专业课程体系中占有越来越重要地位。传统的教学方式由于内容枯燥,理论与实践相互脱离,已经无法适应时代和社会的要求,因此,对非计算机专业C++程序设计课程进行教学改革就显得尤为必要。

一、C++程序设计课程的特点

C++程序设计是最为经典的面向对象高级语言,是高等院校理工科专业普遍开设的一门实用性较强的应用型课程。与其他相关课程相比,C ++程序设计课程涵盖知识更为丰富,具备设计语言功能丰富、表达力强和可移植性好等优点。对于非计算机专业的学生来说,C++程序设计课程的教学目的,是帮助学生掌握面向对象程序设计的基本原理、编程思想和编程算法,将学生领入计算机程序设计的大门,培养学生从计算机的视角分析问题、解决问题的能力,为今后在实际工作中进行软件编程和运用计算机解决实际问题打下良好的基础。

由于C++ 程序设计的语法规则多、抽象程度高,从教学效果来看,目前的教学方式方法与培养目标的要求和社会对人才的需求还有较大的差距。

二、C++程序传统教学模式的弊端

C++程序设计是一种具有较强实用性的程序设计语言。本课程以面向对象的程序设计思想为主线,以通俗易懂的方法介绍C++语言,具有很强的理论性和实践价值,是编程人员最广泛使用的工具。C++面相对象程序设计是计算机专业的核心课程,“数据结构”、“设计模式”和“算法设计与分析”等课程也是该专业的基础课程,其设计语言还有“ASP.Net”、“Oracle”和“C#”等课程,课程之间存在着很大相互关联和相互启发性,这些课程的学习和掌握,在一定程度上提高了学生的编程能力。而在非计算机专业的理工科专业中,由于受到各种因素的限制而没有开设这些相关基础课程。这就导致非计算机专业的学生如果以传统的教学模式和教学方法学习C++程序设计课程的话,就存在一些弊病。

(一)案例枯燥,教法单一

长期以来,在非计算机专业的理工专业C++程序设计,教学过程中比较重视语法知识,注重语法细节,引入的案例都是以阐释语法规则为目的,既抽象又枯燥无味。对非计算机专业的学生而言,难以理解和接受,学习起来自然没有内在的学习积极性,导致课堂教学质量不高,学生学习兴趣不浓。

(二)理论教学与实际应用相脱节

非计算机专业C++程序设计课程的教学,多采用先理论后实践的教学模式。教学主要环节是上课—上机试验—作业—考试。教师讲解的语句语法多,要求记忆掌握的内容较多,忽略程序设计思维过程,而且课堂上所举的例子往往是为完成某种程序功能而设计,普适性不强,相关知识联系不紧密。在教学过程中学生缺乏合作开发实践的锻炼,缺乏软件开发的基本训练,结果导致学生常常不能融会贯通地理解所学内容,只是停留在使用的层面上,学了不会编程,不会应用,即使是不明白也问不出问题来。考试主要靠死记硬背,考试完了很快就遗忘了。在工作中面对实际编程问题时往往不知所措,只能完成了输入程序代码的输入员工作,更不用说实现熟练使用C++语言编程解决实际问题了。

(三)难以满足社会对人才的需求

伴随着科学技术的快速发展和信息技术水平的日新月异,计算机技术在各个领域的应用日益广泛,用人单位对非计算机专业的理工科毕业生的要求也越来越高,懂计算机,会编程序已经成为对理工类非计算机专业学生的普遍要求。因为相当多的理工科专业的学生毕业后,主要是到相关企事业单位担任工程师和技术研发人员,解决生产与经营中遇到的各种问题。所以,在计算机技术越来越普及的情况下,编程已经成为理工科非计算机专业毕业生必备的一项基本技能。

然而C++语言编程课程的实际教学情况却往往不尽如人意。一方面,中国的应试教育模式深入人心,学生应对考试的能力往往大于理论联系实践和独立思考的能力,学生在学习中也比较看重考试的成绩,对如何在今后的职业生涯中灵活运用C++语言编程的相关知识解决实际问题,既没有明确的认识,也不知道在学习中该怎样掌握相关的知识与技能。另一方面,非计算机专业的学生由于对社会不了解,往往认为编写程序是计算机专业学生应该掌握的,自己只要适当了解一下程序就够了。常常是教师考啥学生就学啥,缺乏举一反三的思维能力和解决实际问题能力。

三、非计算机专业C++程序设计教学改革的

设想

(一)树立科学的教学理念

教学理念,也叫教学观念,是教师开展教学活动与教学研究的基本指导思想。在非计算机专业C++程序设计课程的教学活动与教学改革中,教师发挥着关键性的作用。因此,教师必须树立正确的教学理念。具体说来,就是教师在思想上要把学生的利益放在第一位。所有教学设计、教学准备和教学手段的选择都要以培养学生的创新能力和动手能力为基本的出发点。要求教师深入分析研究C++程序设计课程在非计算机专业人才培养模式和课程体系中的地位和作用,明确C++程序设计课程在培养非计算机专业人才创新能力方面的影响与作用。重点解决如何通过C++程序设计课程的教学活动,培养学生的创新意识,训练学生的创新性思维,培养和训练学生发现问题、分析问题和解决问题的能力的思想认识问题。

(二)探索新的教学模式

如前所述,传统的教学模式在实现教学目的、培养合格人才方面存在种种弊端。为此,探索新的教学模式就成为非计算机专业C++程序设计课程教学改革的关键内容。

1.案例教学法。案例教学法是一种以案例为基础的教学法,起源于1920年代,由美国哈佛商学院(Harvard Business School)所倡导,最早应用于医学院和法学院,是一种以社会生活的实际案例为主要研究对象的教学法。案例教学法改变了教师单纯传授理论知识的教学模式,使学生由被动接受知识,变为主动学习和培养实际能力,大大缩短了教学情境与现实生活情境的差距。C++程序设计课程的案例教学法,要求教师在教学过程中,以现实生活中的实际例子为教学的切入点,以具体的实例和形象、直观、生动的形式,给学生以身临其境之感,有助于学生对相关知识的学习和理解。

在案例教学中教师将社会实践中的计算机程序设计实例,依据C++程序设计课程的教学需要,进行编写和设计,并运用启发式等手段,鼓励和引导学生积极参与讨论。让学生在对实际案例的分析研究中,既引发和培养对C++程序设计课程的学习兴趣,又深入了解和掌握相关的理论知识。此外,在案例教学中,由于教学案例都来自于社会实践,具有一定的实用性和趣味性,而且案例教学的方式方法也与单纯的理论教学有很大的区别,因此,在调动学生注意力和调整学生的听课状态方面都有很大的益处。在C++程序设计课程进行案例教学时,学生还可以通过教师引导和教师与学生的互动交流与沟通,研究案例中的问题,主动学习C++程序设计的相关知识。在模拟解决各种实际问题的各种练习中,掌握C++程序设计课程的知识点。通过程序设计案例的讨论,以及学生和教师之间的相互沟通,还可以培养和锻炼学生发现问题、分析问题和解决问题的能力。

2.引入CDIO教育理念及教学模式。CDIO是2001年由美国麻省理工学院联合瑞典的查尔姆斯技术大学、林克平大学以及皇家技术学院等三所高校共同开发的一种全新工程教育理念和实施体系,也是近年来备受许多高校推崇的新型工程教育模式。

CDIO 的四个过程来源于产品(系统)的生命周期过程,是一种以产品研发到产品运行的生命周期为载体,对工程类专业的学生进行系统教育与培养的新型教学模式,其教学内容涵盖了绝大多数的工程师必要的专业活动。

CDIO是英文单词“构思”(Conceive)、“设计”(Design)、“实施”(Implement)、“运行”(Operate)的缩写。

CDIO 的教学理念,是让学生以主动的、实践的,以及注重课程之间有机联系的方式进行学习。CDIO的教学模式是以项目开发、项目实施为教育的组织原则,通过具体项目设计将整个课程体系有机而系统地结合起来,围绕实际项目或整体的项目案例设计教学内容和学生应该掌握的重要知识点,引导学生不断地在项目中做和学,充分锻炼学生的创新意识、创造能力和团队合作精神。

引入CDIO 的教学模式,就是要在C++程序设计课程的教学工作中,按照产品或项目开发的基本程序,将社会的需求与C++程序设计的教学内容相结合,从技术层面上进行C++程序设计课程教学工作,让学生在理论学习的基础上掌握更多的实践技能,使学生的学习中心从以理论知识学习为主,转向以项目为首要。紧紧围绕着项目开发与运行的各个环节,学习掌握C++程序设计课程理论体系。在针对具体项目设计的小组讨论、师生交流和团队合作过程中,了解C++程序设计课程的相关知识,锻炼学生解决实际问题和团队合作的能力。可见,CDIO教育模式的核心,是培养学生在企业环境下对项目系统进行构思、设计、实施、运行的能力,能够有效地提升学生的个人能力、职业能力、团队精神和交流能力。

(三)系统培养学生的创新能力

伴随着我国改革开放的深入和经济的快速发展,无论是国家的进步还是企业的发展都对创新人才的培养提出了十分紧迫的要求。C++程序设计语言是大学计算机教育的核心课程,在培养学生创新能力方面承担着重要任务。一般说来,创新能力是指一个人运用所学的专业知识和理论,结合自己工作的实践,不断提出新思想、新创意、新方法和创造新事物的能力,包括创新意识、创新思维和创造性解决问题的能力,因此,创新能力是一个人多种能力的综合。从C++程序设计课程的教学内容与过程来看,培养学生的创新能力应主要从以下几方面着手。

1.培养学生的创新意识。学生创新能力的提升与学生是否具有创新意识关系十分密切。创新意识是一种锐意进取的精神理念,是一种勇于探索的工作态度。而这种创新意识的形成很重要的一点是人们对所从事的工作和所学习的知识具有浓厚的兴趣。因此,在C++程序设计教学中培养学生的创新意识是一项十分重要的工作。教师要认真备课,精心设计教学内容,运用启发式、讨论式、互动式等多种教学模式,激发学生对C++程序设计的学习兴趣,营造一种能够不断激励学生积极探索新事物、接受新知识和掌握新技能的学习氛围,激发和培养学生追求卓越与创新的意识。

2.培养学生的自主学习能力。在现今社会,受多种因素的影响,许多学生进入大学后,或者对自己未来的职业和人生规划没有明确的认识,始终处于一种迷茫状态;或者是对自己将来的人生目标没有进行详细而科学的思考,定位也不够准确,往往仅满足于毕业后能找个好工作或是考取研究生。这些问题的存在,在一定程度上既影响了大学生学习积极性的调动与发挥,同时也限制了创新意识和创新欲望的激发。因此,教师要在C++程序设计教学中积极探索新的教学方式和教学手段,激发学生对C++程序设计相关知识的学习兴趣,鼓励学生在学习中对C++程序设计相关知识的探索、质疑和思考。变由教师主导的“要我学”为学生主导的“我要学”。从调动学生的学习兴趣入手,激发学生的自主学习能力。

3.培养学生的探究能力。非计算机专业的理工科学生,毕业后无论是到科研院所从事科学研究工作,还是到企业从事具体的产品研发与生产工作,都需要有很强的探究能力。所谓探究,“原指科学家们研究自然界的科学规律时,所进行的科学研究活动。而科学探究作为一种科学学习方式,是学习者针对科学领域中的某个主题形成自己的问题,或者由教师提出要探索的问题,然后由学习者对问题进行分析,形成自己的假设,并通过科学实验和观察等检验自己的假设,直至解决问题,在探究活动的基础上建构起对科学知识的理解和有关的方法、技能”。在C++程序设计教学中对学生探究能力的培养,就是让学生在教师的引导下,模拟程序设计专家的工作过程,按照计算机程序设计的思维程序去探索学习的过程,从中学习计算机程序设计的科学方法,发展对计算机程序设计科学领域探究所需要的能力。

为此,教师要利用自己的专业特长和对社会实践相关问题的了解和把握,结合C++程序设计的教学重点,选取相关程序设计问题,引导学生进行探究式的学习,让学生在对理论知识的研究和对社会实践问题的探讨分析过程中,进行独立思考和分析,自己得出结论。促使学生在学习的过程中,增进对科学探究的理解,体验探究过程的心理感受,进而不断提高学生在计算机程序设计方面的科学探究能力,引导和培养学生善于质疑、独立思考、勇于探究的科学态度。

C++程序设计课程的教学改革是一项重要而又需要长期努力的工作,要求教师要有高度的责任感和改革意识,也需要学校相关部门的支持与配合,今后,我们将继续努力,积极学习和借鉴国内外一些先进的教学成果,通过长期的积极探索与改革,不断提升 C++程序设计课程的教学效果。

参考文献:

[1]孙建伟,孙燕青.建构性学习——学习科学的整合性探

索[M].上海:上海教育出版社,2005:47.

[2]谢志江,孙红岩,蒋和生等.案例教学法在工科教学中的

应用[J].高等工程教育研究,2003,(5).

[3]张润莲,张向利,叶进等.案例教学法及其运用[J].桂林

电子工业学院学报,2004,(4).

[4]刘嫔,邓月明,张连明等.CDIO工程教育模式下的网络

安全课程教学改革探索[J].西南师范大学学报:自然科

学版,2014,(1).

[5]陶勇芳.商存慧,CDIO大纲对高等工科教育创新的启示

[J].中国高教研究,2006,(11).

[6]赵娜,王剑,秦江龙等.基于CDIO的“软件项目开发入

门”综合技能实践课程[J].计算机工程与科学,2011,(S1).

猜你喜欢

非计算机专业程序设计教学改革
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
非计算机专业计算机基础教学的总结与思考
高校非计算机专业计算机网络基础教学改革探究
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
非计算机专业VF课程教学内容与方法探究
PLC梯形图程序设计技巧及应用