首页 > 文章中心 > c程序设计

c程序设计

c程序设计

c程序设计范文第1篇

关键词:课程改革;C++;教学内容;教学方法

中图分类号:G642 文献标识码:B

1目前教学中存在的问题

“C++程序设计”现已成为大多数院校理工科学生必修的程序设计基础课。非计算机专业对程序设计的要求不同、学时不同,对学生的逻辑思维和基础知识结构要求也不同,所以教师不能只是沿用计算机专业的教学理念与教学方法。

C++具有繁多的数据类型以及复杂、灵活多变的语法结构,对于第一次接触程序设计的学生来说,要理解这些概念比较困难,容易挫伤学生学习编程的积极性,因此应对C++的教学内容进行适当删减,以满足非计算机专业学生的学习要求。

目前开设的“C++程序设计”课程,大部分教师还是沿用“C程序设计”的讲授方法,对面向对象的知识只是局限于教材上的例子,例子只局限于某个知识点,不利于面向对象概念的理解,传统的教学方法和教学内容已不能满足学生的需求。为此,必须找到一种适合学生学习特点的教学方法,使学生在有限的时间内迅速掌握C++的基本概念、基本技能和应用,激发学生对本课程的兴趣。

“C++程序设计”是一门实践性很强的课程,但目前的实践课教学存在很多弊端。传统的教学方法中,程序实验环节只是配合每一章所学的内容进行实践,这样的方法让学生只是孤立地了解程序设计的知识,所涉及的知识面较窄,缺少学科的综合性,造成学生实际动手能力很差,无法将实际的具体问题和程序设计知识联系起来。因此我们应对“C++程序设计”实验教学进行改革和实践,将教学的目的变为理论和实践并重,以提高学生的编程能力。

2教学内容的改革

C++语言内容繁多,在有限的课时内不可能也不必要面面俱到,所以教师要有效地组织教学、突出重点、把握难点,不要过多钻研语法细节,而要把握C++程序设计的算法思想、基本原理,由整体到具体,培养学生对C++语言的兴趣及正确的思维模式。在确定教学内容和方式时,要根据学生的计算机基础、专业背景、学习目标来安排。我们首先尝试将课程重点划分为三个层次:

基础层重点:数据类型、C++运算符、逻辑表达式及常用的C++内部函数;

中间层重点:控制结构、数组、指针、结构等知识及基本应用;

核心层重点:函数、类及构造、继承、多态、C++流。

三层重点教学体系更加科学地使学生在循序渐进中有效地学习C++基础知识,掌握程序设计的基本技能,有重点地加强了对学生编程能力的培养。

其次,我们将课程内部结构进行了改革:弱化指针,将指针内容浅化,并移到函数之前讲授;面向过程部分占60%比重,面向对象部分占40%比重。

再次,教学方法上采用案例式教学,教学内容应围绕教学案例进行划分,每一知识点内容均通过生动、有效的示例讲授相关知识点内容,我们将教学案例一般划分为三个层次:

(1) 基础案例:采用简洁案例验证基础知识,此类案例着重于较高的教学效率,使学生以直接的方式掌握基础语句使用格式及系统内部函数使用格式,理解相关基础知识。

(2) 简单程序案例:包含多个知识点的小型程序示例。

(3) 单元综合案例:每一章主要知识点及已学内容的综合案例。其示例内容为实际应用程序设计内容的某一模块或某一功能部分,使学生所学内容紧密地结合实际应用。

基本型案例、设计型案例及综合型案例相辅相成,使学生更快速、更准确地掌握相关知识点内容。

3教学方法的改革

“C++程序设计”中很多知识比较抽象、枯燥,学生不容易接受理解,教师在课堂教学中应该巧用生活中的实例化繁为简,以实例引导,讲解语法规则。我们在教学方法上尝试采用案例式教学,在每一章节、甚至每一节课均以要解决的实际问题为主导,构建问题情境,引导学生运用计算机语言描述解决问题的方法与步骤。案例教学法打破了以教材为中心的传统教学模式,不按教材的顺序授课,而是以精选出的程序设计案例为中心,把学习的重点放在具体案例的讲述上,把要学习的语法和概念融入到具体案例中讲解。每一案例的教学方法采用以下三个步骤:

第一步:提出实际问题;

第二步:介绍解决问题的方法;

第三步:归纳出一般规律和概念。

采用“提出问题――介绍解决问题的方法――归纳出一般规律和概念”的新教学三部曲,使学生在学习每个新知识点时都有一个完整的、实际的、具体和有形的项目作为知识的联想和应用载体,进一步介绍C++程序设计的理论和方法。它不同于以前教学中“提出概念――解释概念――举例说明”的传统三部曲,整个教学过程强调在应用中学习,从而避免了枯燥、繁杂的理论说教,这不仅能增进学生的学习兴趣和积极性,而且对提高学生综合分析和解决实际问题的能力也大有帮助。

在学习的不同阶段应采用不同的训练方式,教学方法改革的第二点是将学习C++划分为以下三个阶段:

初期阶段:教师应以演示编程为主,学生模仿编程训练的方式,在此过程中教师详细地讲解程序设计思路、程序设计方法及程序设计步骤;

中期阶段:教师演示部分难度较大的代码编写过程,学生在教师启发下完成其余的代码编写过程;

后期阶段:以教师简介程序设计思路、程序功能模块设计特点及主要技术运用特点,学生完成全部代码编写,教师则起辅导学生作用,教师充分注意因材施教。

教学方法改革的第三点是采用“三语”教学并用,“三语”教学是指以中、英及C++三种语言描述程序代码功能及实现方式,使学生易于理解每一代码行,从而理解整个程序。

“中”是指用我们正常的语言描述某一代码行;

“英”是指在对代码行中每一个英文单词正确发音基础上,讲解其单词原义及在代码行中的意义;

“C++语言”是指在中、英语言讲解的基础上用C++语言实现代码行,并解析其功能特点等。

4实践教学的改革

“C++程序设计”语言是实践性很强的一门课,培养学生的实践能力是教学的首要目的。因此,在授课的同时,如何引导学生利用上机实验来加强实践也是教学中的一个重要环节。我们为学生安排1:1的上机实验课时,其中2/3的上机实验是有老师辅导的,其余1/3由学生自主完成。上机作业要求与课堂内容有很好的衔接性,并且难易程度有机结合。在上机实验前,教师要讲清内容与算法,布置相关的编程作业,由学生单独动手编写程序,上机调试,培养学生自己解决问题的能力。教师在上机时要发挥其主导地位,可以提出改进算法的思路,让学生自己操作。实验完毕,教师对实验结果加以检查,并对出现的问题及时加以讨论和讲解。

“C++程序设计”实验教学的目的应是:(1)紧密配合理论教学,通过相关实验,帮助和加深对语句功能的理解;(2)通过实验可以将各门课程学到的知识融会贯通,思考利用C++程序设计语言解决实际应用问题的有效方法,从而使学生分析和解决问题的能力得到锻炼和提高。因此我们将实践教学训练体系划分为以下三个层次:

基本实验:占整个实验学时的60%。包括两个部分,一是验证操作,教师在讲授过程中学生直接操作验证的内容,如C++语句语法基本格式、C++系统函数的基本验证,约占整个课程学时数的25%以上。二是验证型实验,对C++语法和函数的基本应用,要求掌握程序的基本调试技能。

设计型实验:占整个实验学时的30%。例如循环应用、数组应用、排序问题、类与对象应用等,要求能编写简单应用程序。

综合设计型实验:例如结构化方法编程应用、面向对象方法编程应用、C++流应用等,约占整个实验学时的10%。

综合设计型实验由教师布置或由学生结合本人的兴趣,从实际应用中选择有具体应用背景的实验题目,安排学生分组共同完成。综合设计型实验的具体内容如下:

(1) 教师给学生讲解综合设计型实验的题目要求,要求学生在选好题目的基础上,认真研究题目要求,自行查阅有关资料,写出系统的需求分析,总体框架设计。

(2) 将系统的需求分析,总体框架设计交给教师批阅,师生一起讨论,确定系统的详细设计方案。

(3) 在限定的时间内完成C++语言的代码设计,完成各个功能单元的实现和调试。

(4) 联编调试,要求把各个功能块联编起来进行调试。

(5) 写出相关的系统分析、设计、实现等实验报告。

综合设计型实验建立起以学生为中心的教学模式,这样既锻炼了学生的动手能力,也加强了他们交流与团结协作的精神,全面提升学生的程序设计与软件开发能力。

另外,我们建立了互动式教学体系,通过建设“C++程序设计”课程网站,包括课程资料、实验指导、网上答疑、知识自测等子系统,形成功能强大、教学资源丰富的网络教学环境,开辟新的教学与复习手段,使学生学习和巩固知识的渠道多样化,进而提高我们的教学质量。课程资料提供了包括章节重点、教学课件等,用于配合课堂教学起到相辅相成的作用;通过网上答疑突破时空的限制,实现了教师与学生之间交流新思想和解决学习中遇到的难题。知识自测提供了试题的在线考试和模拟训练,试题类型包括判断题、选择题和问答题,学生在学完相应章节的内容后,可自行选择测试内容和题型进行在线测试。

5结论

程序设计课程的教学目的是要通过一门程序设计语言的教学,使学生掌握程序设计语言的本质,包括基本结构和基本算法等,从而掌握程序设计的一般方法。“C++程序设计”首先应重新组织教学内容,将课程重点划分为基础层、中间层和重点层三个层次,我们对课程内部结构进行调整,在教学方法上采用案例式教学,对教学案例划分为基础案例、简单程序案例和单元综合案例,采用“提出问题――介绍解决问题的方法――归纳出一般规律和概念”的新教学三部曲,将深奥的理论讲得通俗易懂,增进学生的学习积极性。在教学过程中,应采用中文、英文及C++三种语言共同教学,强调学生实际应用和实际动手能力的培养,加强实验教学环节,注重启发式教学与综合作业的结合,提高学生的综合编程能力。

进行“C++程序设计”课程的改革,主要是将现代计算机程序开发的主要手段传授给学生,淡化程序设计理论,强化实验及实训过程,培养学生抽象思维能力,训练学生初步的编程能力,强化训练调试程序技能,使其具有一定的程序开发能力,有利于学生将计算机这种现代化工具运用于今后的学习工作中。

参考文献:

[1] 谭浩强. C++程序设计[M]. 1版. 北京:清华大学出版社,2004.

[2] 刁成嘉. C++面向对象编程基础[M]. 1版. 北京:机械工业出版社,2008.

[3] 金丽. C++语言课程教学改革[J]. 科技信息:学术研究版,2007(35):201.

c程序设计范文第2篇

关键词:C语言;C++语言;程序设计

高校的C族语言教学总是按照先学C语言,再学C++的顺序进行,这种学习顺序随着C++标准的不断升级改革后变得越来越不适用。早期的C++属于多面性语言,即可以像C一样进行模块化的面向过程的编程设计,也可以像Java一样进行抽象的面向对象程序设计。那时的教学者考虑的是学生应当从较为便于理解的面向过程的编程思路入门学习C语言编程,然后在熟练了面向过程的编程方式后再从C语言延伸到C++,转而学习面向对象的程序设计。可是随着面向对象的程序设计在应用市场上占领了绝对的主导地位后,再让学生从面向过程着手就等于是浪费学习时间。加上C++和C两门语言的初级语法思想是完全一致的,开设两门课程浪费了学时,也耽误后续更重要的核心课程的学习。

1程序设计语言C与C++的比较

1.1C与C++的共性。一般简要的介绍是把C++当作C的加强版,这种认知当然是错误的,C++语言的设计者在设计之初为了保障自家语言会受到开发者的关注,所以兼容了的C的语法,这就自然使得C++可以使用C的编程方式进行程序设计,所以也导致了很多人对这两种语言的关系产生了错误的认知。同时由于C语言本身设定上的优越性,所以C++在进行自我定义的时候也沿用了C语言很多优良的性质。基础数据结构一致,C与C++的基础数据类型都是以变量和常量作为基本属性划分,类型上有字符型、整型、长整型、单精度浮点型和双精度浮点型,不过C++额外增设了布尔型。复合型数据结构上也都同时具有数组、多维数组、结构体、枚举类型和共同体,但是C++增设了字符串类型以替代C语言中的字符数组,功能上更加强大,也更加便捷。在语法方面,声明、赋值、循环、选择的结构和实现都是一致的,并且C++虽然提倡使用类和对象的概念去设计程序结构,可也同样支持函数体结构的程序设计结构。并且C语言中函数的赋值都是间接调用,在使用C语言函数时总是会在指针上出现各种纰漏,但是C++的函数体可以使用引用参数,这就使得C++的函数体比之C的更加好用。总的说来就是,C++标准下用户可以完全使用C语法进行编程而不会出现任何BUG,同时C++自身的优越设定和标准使得其设计能力比C要强大数倍,是目前市场上大型程序开发的首选语言。

1.2C与C++的不同。上一节介绍了C++和C的基础语法上的区别,这些区别都是C++的作者在C的基础之上修订而来的结果,是为了让C++标准下得面向过程的程序设计比之单纯的C更加便捷方便。但是C++的诞生伊始,就是一门向上使用面对对象的程序设计思想的高级编程语言。它的封装性、继承性、多态性和对象唯一性才是C++成为强大高级语言的重要原因,这些特性都是C语言不可能拥有的。所以C能够实现的程序,C++能够实现并且实现的更为方便,C不能实现的程序,C++同样可以实现。

1.3C++的特色。承接上一节,C++和C之间最大的不同,也是C++自身最值得夸耀的特性,就是面向对象程序设计思想。这种思想使得C++语言设计出来的程序,变成了类和对象的有机结合,这种结合的代码比之面向过程的函数体架构的代码更加易读,共同开发起来容易上手,后续的维护者也不用费更多的脑筋去理解前人的代码含义。而类和对象的设计思路,使得开发者合作时相互之间的工作变的更为独立,双方之间只需要知道对方所写的类实现的功能和包含的数据就行。这种特性我们称之为良好的封装性,开发者之间不需要去知道对方的代码是如何实现,甚至在此之上还可以保证良好的代码健壮性。因为类的引入,更先进的作用域机制也被引入进来,类的书写者往往会将自己类中的数据进行严格的作用域限定,防止其他合作者擅自去修改和使用自己类中的数据。合作者想要知道类中的数据或者使用类中的数据,只能通过类的书写者定义的带有检查机制的方法才行。这样会使得很多人合作开发的大型项目的稳定性和安全性比之用C语言开发时再上一个台阶。同时类的概念中还有一个先进的设定就是继承性,并且由这个继承性还延伸出了接口的概念。有了可以继承的接口和类,那么开发者在对程序进行迭代的瀑布开发流程时,就可以很好的使用自己曾经开发的源代码,或者借用其他项目的源代码,因为只要学会科学的使用继承机制,就不仅仅是节约程序员的代码时间,也减少了程序员在回顾曾经代码时发生的错误和歧义。而与继承机制配合使用的是多态性,曾经C语言中定义的函数,其灵活度非常差,特定的函数只能满足特定程序定义的需求,想要重用曾经的源代码是几乎不可能的事情。我们刚才提到的继承机制使得C++开发者复用源代码成为了一种习惯,但是复用时不可避免的修改问题又摆到了台面上,多态机制顺应而生了。多态机制使得类不仅可以继承其他类,将父类的数据和方法都在本类体中自如的使用,同时还可以用本类中新的定义和代码去覆盖父类中的数据定义和方法。这就让程序员变的更加自由,想用父类的数据和方法时就去继承,但是不想全部使用时就加上多态机制去覆盖。这样代码之间的重复利用率变得十分客观,节约了大量的开发时间和开发成本。

2程序设计语言C与C++开设建议

C++课程的内容应当如下安排:第一部分,教授C++的基础语法,让学生可以编写出在DOS命令行下输入输出的程序,了解编程的基本概念和思想。并且这时应当同时进行C和C++的双向语法教学,为日后学生进入高年级后的方向选择打下基础。此部分使用半个学期最为适宜,并且此时并不灌输学生何为面向对象何为面向过程,而主在让学生使用基础语法进行最基本的编程探索。第二部分,在学生有了基础编程知识后,将数据结构的内容放入课程中去,用半学期的时间教授学生用C++实现的各类常见数据结构。并且结合实际开发项目中的代码作为阅读补充,让学生明白数据结构的知识对程序开发的意义,然后将简化后的小项目作为课堂的主要内容,用实际的代码让学生去理解那些枯燥的数学定理和概念。而且在实现数据结构的过程中,必然会面对一些更为高级的C++语法和概念。总的来说,用大一上的一个学期让学生对于基础编程有了良好的认知和深入,是十分值得和有效的。第三部分,在学生有了数据结构的基础和C++的基本语法掌握后,应当面对一些实际的开发项目和问题。当然实际的问题还是需要老师进行简化,其主要目的是让学生掌握C++的高级特性和实际软件开发的过程与思路,并且想学生传授基础的算法。这一部分较为困难,应当使用一个学期让学生慢慢的掌握和熟悉。第四部分,在学生算是对C++语言和数据结构与算法都有了基础的入门后,再进行课堂教学意义就不大了,应当再大二上学期开设一门课程设计实验课,让学生完成几个难度从小到大的项目,循序渐进的掌握基本的实际开发技巧和思维。

参考文献

[1]罗莉.计算机程序设计的多应用型开发与实现[J].产业与科技论坛,2015(14):54-55.

[2]邓薇,何锫,钱俊彦,等.深度优先的多基因表达式程序设计[J].模式识别与人工智能,2013(9):819-828.

c程序设计范文第3篇

关键词:C/S模式;考试系统;题库;自动组卷;C#

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)30-7344-03

Design of Program Language Course Examination System Based on C/S model

HAN Yan1,2

(1.College of Computer Science & Information of Guizhou University, Guiyang 550025, China; Guizhou Commercial College, Guiyang 550004, China)

Abstract: According to the characteristics of the Program Language Course Examination, Analyzed the Examination System, introduced the design of 3-tier structure, the design of database, the design of the function module, and the environment of the system,development tools, as well as the key technology.

Key words: C/S model; examination system; exercise library;auto generating test paper; C#

1 绪论

随着计算机的普及,目前在各所高校中,普遍开设有程序设计类课程。对这类课程目前的考试方式主要有两种:1)笔试:题型包括单选题、判断题、程序填空题和编程题四大类;2)作品考试。学生或独立或分组完成某个系统的设计和实现。以上两种方式各有优缺点。第一种方式对学生编程能力的考核存在不足;第二种方式对学生理论知识的考核有缺陷。网络环境下的计算机考试系统来实现程序设计类课程考试,可以结合两种考试方式的优点,通过考试系统既能实现对理论知识的考核,又能提供编程环境,使学生上机完成程序设计题的编写和调试。

2 考试系统的需求分析

计算机程序设计课程要求考生掌握程序设计的基础知识,应用程序设计语言编写小程序的能力。考试系统涉及到四种题型,选择题、判断题、程序填空题和程序设计题。考试系统在试题库中随机抽取试题组卷,考试结束后,提交试卷就能自动评分并保存试卷,既方便教师阅卷,也提高了试卷批改的准确度和速度。教师所要做的工作只是精心设计题目、维护题库。

本系统应该具备以下功能:

1)题库管理功能。教师可以对题库的题目及题型进行录入、修改、删除等相关功能。

2)组卷功能。系统可按考试出题要求为学生自动随机抽取试题库中的题目组成试卷。

3)评分系统。系统可对客观题进行逐个批改。主观题提供老师阅卷界面,显示学生的操作结果与本题的标准答案,老师进行评分。

4)交卷功能。考生开始考试后,系统将自动计时,考生考完可选择交卷功能。在考试时间剩余5分钟时,系统会提示考生,到达规定的考试时间时,系统关闭答题窗口,提示考生交卷并结束考试。

5)断点续考功能。所有考试结果自动保存在网络考试服务器上,并具有二次登陆功能,防止断电和死机等原因导致考试失败的功能。

3 计算机应用基础考试系统的设计

3.1 系统的体系结构

本系统采用三层C/S结构,在三层C/S结构中,业务逻辑与客户端分离,这样在一定程度上减轻了客户端的负担。三层C/S结构是将整个业务应用划分为表现层(VI)、业务逻辑层(BLL)和数据访问层(DAL)。其解决方案是:对这三层进行明确分割,并在逻辑上使其独立。三层C/S架构区分层次的目的是为了“高内聚,低耦合”的思想。

表现层:通俗地讲,就是展现给用户的界面,即用户在使用一个系统时他的所见所得。表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。为使用户能直观地进行操作,一般要使用图形用户接口(GUI),操作简单。

业务逻辑层:针对具体问题的操作,也可以说就是对数据层的操作,对数据业务的逻辑处理。它是应用的本体,它将具体的业务处理逻辑地编入程序中。处理所需的数据则要从表示层或数据层取得。表示层与功能层之间的数据交往要尽可能简洁。而由功能层处理过的检索结果数据也一次传送给表示层。

数据访问层:数据层就是DBMS,负责管理对数据库数据的读写。该层所做事务直接操作数据库,针对数据的增加、删除、修改、查询。

三层C/S结构的优点如下:1)具有灵活的硬件系统构成;2)提高程序的可维护性;3)利于变更和维护应用技术规范;4)进行严密的安全管理。

本系统的三层C/S架构设计,如图1所示。

在图1中将整个系统划分为如图所示的逻辑结构,同时还给出了解决方案中对应的程序结构。

其中表现层即考试系统界面层,是考试系统的用户接口部分。本考试系统用户由三类:管理员、老师和学生,根据用户的性质,将管理员和老师从服务器端登录,学生从客户端登录。因此,对应的将系统的表示层分为客户端和服务器端两个项目来完成,并分别命名为SysServer和SysClient,作为两个独立的项目,用于用户操作;业务逻辑层主要实现考试系统处理业务,命名为SysBll,作为一个单独的类库,包含所有系统需要处理业务的类的集合;数据访问层用于考试系统数据访问,命名为SysDal,也是一个类库项目,主要用于操作数据库,实现对数据库的增加、删除、修改、查询等操作。

除此之外,还用SysDal项目来定义数据访问层接口,其作用是定义一种系列“功能”的声明或名单,没有实现细节;用SysModels项目用来定义类,是对各个实体的抽象,包含各个实体的属性已经设置和获取的方法,最终用于建立实体对象。[1]

3.2 系统功能设计

考试系统主要分为以下模块:人员管理、试题管理、考试管理、评卷管理、成绩管理、考生登录、试题生成、开始考试和试卷提交。

3.3 系统功能描述

1) 人员管理:实现后台登陆,管理员、教师、考生的增删改和人员权限的设置。

2) 试题管理:对试题的类型进行管理,并定义各种试题的操作,添加和管理各种试题。

3) 考试管理:对考试进行管理,设置和修改考试、考场的相关信息。

4) 评卷管理:对于客观题进行自动评卷记分;对于主观题进行手动评分题。

5) 成绩管理:进行成绩统计分析

6) 考生登陆:考生登陆考试系统。

7) 试题生成:根据试题库,随机生成学生考试题。

8) 开始考试:学生进入系统进行考试答题,并且开始记时。实时保存学生考试进度,以免异常造成考试信息丢失。

9) 试卷提交:学生提交答案,系统自动将答案提交服务器。[2]

3.4 数据库设计

3.4.1 数据库的需求分析

在设计数据库结构时,既要考虑到尽可能地满足系统应该实现的各项功能需求,同时又要避免冗余数据的产生。根据考试系统的特点,考试系统在实现过程中,主要采集以下方面的信息:管理员信息表、考生信息表、试题知识点表、试题类型表、试题表、考生考试信息等。

管理员信息表:包括系统管理员和老师的人员编号、人员名称、登陆名、密码、人员类型等相关信息。

考生信息表:包括考号、身份证号、姓名、班级、年龄、性别、状态、考场号、得分等。

试题知识点表:包括知识点编号、知识点名称、所在章、所在节等知识点。

试题类型表:包括试题类型编号、名称、备注。

试题表:包括题目编号、知识点编号、试题类型、题目内容、选项A、选项B、选项C、选项D、标准答案、标准答案文件等相关信息。

考生考试信息表:包括考生编号、试题编号、得分、答案、答案文件等。[3]

4 实现的关键技术

4.1 实现的环境

4.1.1 硬件环境

服务器一台,客户机80台组成的局域网硬件环境。

4.1.2 软件环境

服务器端:操作系统Windows 2003 Server;数据库:SQL SERVER2005。

用户端:操作系统: windows xp;数据库:Access。

网络协议:TCP/IP。

4.2 开发工具选择

根据本系统要实现的功能,需要选择两种工具,即前台开发语言和后台网络数据库系统。

本系统选择C#作为前台开发语言,SQL Server 2005作为后台数据库系统,并选择Visual Studio 2005作为C#的开发环境。

4.3 实现的关键技术

1)题库的设计

根据课程要求,将本考试系统的试题类型分为:单项选择题、判断题、程序填空题和程序设计题。因此,在题库中必须要包含上述类型的试题信息,其中包括题目文本和标准答案。

本系统将所有题目类型建立了一个试题类型表来记录每一种题型的编号及名称,试题知识点表来记录每道题的知识点名称、所在章、所在节等信息。用试题表来保存所有题目,由于各种题型的题目保存在一个表中,其中用字段TypeID来说明每一道题目的类型,Content记录题目描述,Score字段记录每道题的分值。对于选择题部分的题目,用A、B、C、D四个字段记录答案选项。选择题和判断题是自动评分,且用Answer字段记录标准答案;程序填空题和程序设计题采用人工评分,程序填空题用Answer字段记录标准答案,程序设计题用AnswerFileName保存标准答案文件名。

2)组卷的实现

考生上机考试登录成功后,系统在试题库中随机抽取试题组卷。在生成题库时,已将题型信息记录在试题表,以便抽题时使用。

组卷时,系统更新考生考试信息表,在表中记录该考生的考生号,抽取的试题号。抽题时按不同题型、不同的知识点抽取题目。为了避免抽到重复题,每抽一个题将与该考生已抽题进行比对,如果题目已抽取为该考生题目,将不放入考生试卷,重复抽取直到生成所有的不一样的题目。抽题后,直接在服务器上生成一个考生文件夹,所有程序填空题和程序设计题的答案文件放入考生文件夹中。

3)评分

目前对于选择题和判断题的评分方法都简单,即将考生的答案与标准答案比对,答案一致就等分,答案不一致就不得分。而对于程序填空题和程序设计题答案存在不唯一性。因此,本系统认为合理的评分方法是,对于客观题(即选择题和判断题,选择答案是唯一的),把标准答案均设置成题库中的字段,可以完全由机器阅卷;而非客观题(即程序填空题和程序设计题),可以采用计算机辅助人工阅卷方法,在阅卷时,调出标准答案和考生答案,进行比较,权衡后给出符合实际的评分。这种批阅方式虽然在速度上比不上完全自动批阅,然而能确保其公正性。

4)二次登录

如果考试期间发生突发事件,导致考生无法继续考试,那么在考生二次登录后,需要还原考生的考试环境;本系统通过数据库记录考生信息,出现故障时通过此数据库恢复考生信息。

5)程序的移植

为了方便程序移植,本系统采用了配置文件来进行程序的移植。也就是将与数据库的连接写在app.config文件里面更方便,并且易于修改。

5 结论

网络环境下的计算机考试系统进行考试,具有以下优点:减少重复劳动,提高考试效率;保证考试公平性、公正性;方便教学管理、实现节能环保,同时也能够实现其他科目的考试,是考试发展的必然趋势。本系统采用C/S三层结构设计,具有较好的维护性、扩展性、安全性和可移植性。

参考文献:

[1] 王国胜.C#基础与安全开发详解[M].北京:清华大学出版社,2009.

c程序设计范文第4篇

关键词:教学模式;课程建设;一体化;网络助教;在线考试

“百年大计,教育为本”,这是教育部《2003-2007年教育振兴行动计划》的开篇词,深刻昭示了教育的重要意义与作用。“新世纪素质教育工程”以培养德智体美等全面发展的一代新人为根本宗旨,阐明了教育的目的是培养具有较强实践能力、具有创新思想和开拓精神的新一代大学生。“高等学校教学质量与教学改革工程”以提高高等教育人才培养质量为目的,强调通过培养模式、课程体系、教学内容和教学方法改革,利用精品课程平台培养出更多的创新性人才。精品课程建设对高等教育教学改革、教学资源共享、提高教学质量起了重要作用[1]。

哈尔滨工程大学是国家工业和信息化部下属的一所具有“三海一核”鲜明特色的211院校。通过多年努力,精品课建设取得了显著成效,C语言程序设计即是其中之一。通过多年的教学实践,我们建立了一套一体化的教学模式。在教学活动中,改变传统的以教师为主的重在“教学”的教学方式,推行以学生为主的重在“指导”的教学方式。这种教学模式强调学生的自主学习能力,最大限度地发挥学生的自主学习能力,使学生很好地掌握了编程技能。学生综合能力得到了较大提高,在包括ACM ICPC在内的各种编程竞赛中取得了良好的成绩,受到用人单位的广泛好评。

1现状分析

我校虽然为211大学,但全校学生的基础参差不齐。各专业的招生情况不同,学生的基本素质参差不齐;计算机课程在中、小学开设情况的不同及生活现状的不同,造成不同学生的计算机基本技能有较大差异。

在教学活动中,教师人数严重不足,尤其缺乏助教。这种情况致使学生在学习过程中缺乏必要的指导,指导力度不足的现状又导致了教学环节的不完善。教师不能及时批改全部作业,无法全面了解学生的学习情况。

精英教育是我校最主要的教育目标。学校推出了2009版的教学计划。新版教学计划带来的问题是程序设计课程的课时被压缩。如何在一个教学周期内让学生很好地掌握程序设计是一个重要问题。要想学好,学生必须在课下再花大量的时间学习,进行必要的训练,同时还需要教师进行必要的指导、辅导和答疑。

摆在计算机基础教学教师面前的课题是:如何以有限的人力教授基础和能力参差不齐的大量学生,使他们在有限的时间内掌握计算机基础知识、基本理论、基本操作,并能灵活运用所学知识进行创造性思维和创造性实践。因此,传统的教师教学、学生学习的模式必须要改革。解决问题的办法是:发挥学生的自主性,鼓励学生进行自主学习,使学生从被动地位转变到自主学习的主动地位。在这种模式下必须加大辅导力度,构建一套全新的、一体化的、贯穿整个教学活动周期的教学模式,开发辅助教学工具――网络助教系统、网络学习平台,采用无纸化在线考试系统,可以很好地解决这一问题。

2一体化程序设计课程模式

C语言程序设计课程几乎是各大学必开的程序设计课程,不仅计算机专业的学生需要学习,绝大多数非计算机专业学生也要必修这门课[2-4]。

教学活动是一个全面的系统工程,包括学习的指导者教师,学习的接收者学生以及教材、实验环境和辅助手段。课程建设的目的是为了让各种教学资源“活”起来,以教学设计为指导,设计各种共享资源及如何为提高学生素质而服务[1]。

一体化教学模式是指利用计算机技术和网络技术[5-6],协调教学系统的各方面因素,充分发挥教师和学生的积极主动作用,配合用现代技术开发出来的软件平成教学活动的教学模式。一体化教学模式结构如图1所示。

教学活动中教学的发起者与引导者是教师,知识的接收者是学生。为使学生得到更多的收获,教师不仅要“教”,更要“导”。“导”的含义是指辅导、指导与引导。教师辅导学生学习、答疑解惑,不仅要像培养研究生一样指导其如何学习、怎样学好,更要引导学生前进的方向、引领其解决问题的思维。优秀的教学团队是教学的良好保障,教材决定课程内容与方向,实验是提高实践能力的基础与验证正确性的手段,教学网站是学习的辅助工具,网络助教是教师的臂膀与拓展,无纸化考试是验证学习成果的方法。

3一体化教学模式各子系统

3.1教师队伍建设

C语言程序设计课程由我校计算机基础课程教学中心承担。中心的14位教师中有教授3位,副教授8位,讲师3位;博士5位,硕士8位,学士1位;博士生导师1位,硕士生导师6位。各位教师长期从事教学活动,具有丰富的教学经验,是一支高水平、高素质的优秀教学队伍。

在努力做好计算机基础教学工作的同时,我们积极参与各级教学改革与教学研究工作,教改立项50余项,获得各类成果奖励20余项,发表教学研究论文30余篇,开展了多门课程的题库建设工作,编写出版教材20余本,完成了两门校级精品课程的建设,有13人次被评为校级优秀主讲教师,获得各种优秀教师个人称号50余人次。

3.2教材建设

在教学活动中,教材的重要性毋庸置疑,教材决定了教学的主要内容,引领学生的思维方向[7-8]。在早期的教学中我们采用谭浩强教授的两本主教材:《C语言程序设计》和《C语言程序设计实验指导》。经过长期的教学实践,发现该套教材存在一定局限性,不能完全满足我校的教学要求。我校的培养目标是创新性的精英人才,除了强调C语言本身的语法特点、编程技巧外,更应强调编程能力的培养及解决实际问题的能力,应该在主教材中重点突出程序设计部分及解决实际问题部分。在实验环节不仅要验证所学知识,更应强化设计能力。

经过认真的研究、分析与准备,我们推出了自编的2套教材:《C语言程序设计》和《C语言程序设计学习指导》。在主教材中以C语言做编程环境依托,强调C语言仅仅是程序设计的工具之一,强化程序设计部分,采用案例教学方式,重点培养解决问题的方法。目的是使学生掌握脱离于任何语言环境的程序设计思想,给学生更大的发展空间,使其能够在今后的科研和工作中,具备快速学习并灵活应用其他工具软件的能力。在辅助教材中侧重于分析问题与解决问题两方面内容。为提高学生的逻辑思维与推理分析能力,精心选择与设计了大量经典算法、习题与练习来训练学生。在实验部分精心设计了验证实验、设计实验与自主发挥实验。经过训练,学生学习了他人的经验与方法,并能融会贯通,做到了首先要学会,继而要会用、用好、用精,将来能够更好地发挥程序设计思想的指导作用。

3.3教学网站建设

学校有很好的网络环境,为了使学生更好地学习,我们建设了C语言课程网站。通过网站学生可以了解课程,共享优秀资源。课程网站主要分为 5个区域:教学区、学习区、练习区、深入与提高区和讨论与交流区。课程网站功能划分如图2所示。

教学区包含教学大纲、教学进度表和实验内容,目的是让学生对课程目的和要求有整体了解。学习区主要强化自主学习,包含教学课件、实验指导、教学录像、教师课程讲义、电子教材和授课教案。通过学习区的内容,学生可以共享不同教师的风采,了解教师是如何设计教学内容,如何通过案例引领程序设计思路,同一问题不同教师的侧重点与切入问题的不同方法。练习区配有练习与习题、作业答案、历年试题,供学生验证学习的效果。深入与提高区包含进一步提高的相关学习资源、经典程序实例与外部优秀资源链接,给学生以更广阔的发展空间。讨论与交流区的设置目的是给学生一个经验交流空间,学生用自己的语言分享学习心得体会。

3.4网络助教建设

助教,顾名思义是一种辅助教师进行教学活动的角色。传统助教需批改作业,进行作业情况的统计与汇总,讲解作业的共性问题,上习题课,完成课下的辅导答疑。由于我们计算机学院整体素质的提升,目前已经不存在助教这一角色。每年要由我中心的14位主讲教师承担100多个自然班的授课任务,3 000多学生的批改作业、辅导答疑等工作任务极其艰巨,而作业和答疑是学习过程中必不可少的重要环节。为了更好地完成教师的工作,增大增强教师的臂膀,共享优秀资源,我们开发了网络助教系统。

网络助教是应用计算机技术和网络技术搭建的计算机辅助教育平台。网络助教利用网络与先进计算机技术完成普通助教的工作,并拓展了助教的服务范围,使全校学生共享教学成果。网络助教系统功能结构如图3所示。

教务处根据教学资源情况在上学期末安排课表,将若干个自然班分配给某教师成为一个教学单位,每个教师承担2~3个教学单位的教学。学生管理完成学生信息的导入与导出;构造教学单位;维护教学单位的上课时间表。将教师角色设计为普通教师、题库维护教师、作业维护教师与系统管理员。系统管理员完成教师角色的分配与教学单位的指派;题库教师完成作业题库的建设、更新与维护;作业维护教师根据情况作业及并为其指定完成时间;普通教师完成自己班级的作业管理。作业管理完成作业的批改与点评,作业情况统计,期末数据综合统计与报表生成,共性问题挖掘,经验知识学习指导。完成作业部分实现学生通过网络在指定时间范围内上交作业,实时查看正确答案及评改、评语,共性问题获取,经验知识学习。题库管理完成作业题库维护。

网络助教利用计算机技术拓展了教师的工作,由全体教师共同组成了一个超级教师,具有全体教师的教学经验,全天候为全体学生进行全方位的服务,优质资源和优质服务共享。除此而外采用数据挖掘技术进行学生作业的共同问题抽取,抽取出来的经验知识可为全校学生共享并指导其进一步的学习,避免走弯路,促进共同提高。采用知识获取技术得到主观问答题的摘要,并采用相似度匹配技术进行成绩判定。采用相似度匹配技术还可以进行雷同作业判定。

3.5无纸化在线考试系统建设

随着教育事业的发展和网络技术的成熟,计算机网络的应用越来越广泛。将网络应用于教育,实现教学办公自动化,必将提高教学效率,促进素质教育的发展[1,9]。无纸化在线考试已经完全可以满足绝大多数考试的要求。无纸化在线考试是在计算机上进行的考试。纸介质试卷方式只能以有限的题目来测试学生的能力,还无法做到全面覆盖知识体系的全部知识点。无纸化在线机试考试,通过覆盖知识体系全部知识点的题库系统对学生进行考试,可以全面测试学生的能力和掌握知识的程度,由计算机从已建立的题库中抽取试题组卷,考生一人一机一卷,根据显示的题目用键盘或鼠标输入答案,考试结束后,计算机自动阅卷、评分、统计及分析等。采用无纸化考试,丰富了考试内容,提高了考试质量,教考分离,公平公正,知识体系覆盖全面,避免人工批卷产生的错误,也避免了传统考试因所有学生试卷相同而带来的抄袭问题。无纸化考试系统功能结构如图4所示。

无纸化在线考试采用B/S结构。学生实时得到考试成绩并签署成绩单。考试管理完成考试批次设置、考试过程监控、成绩管理、生成报表。学生管理完成考生的导入导出、生成准考证、验证身份。试卷管理完成设定考试难度、随机生成试卷、试卷指派。在线考试完成实时考试、成绩评判、打印成绩单。题库管理完成考试用题库的维护。

采用B/S结构简化了客户端设置,使得考试的组织快捷方便,学生机仅需基本配置即可,无需安装客户端程序,重点需要对考试服务器进行维护。该结构使得服务器成为系统瓶颈。采用多线程与缓冲池技术解决并发登录与并发试卷提交。系统分离用户逻辑与数据,用实体引擎完成数据库操作,采用角色及访问控制、身份验证与数据视图技术解决系统安全问题。采用加密技术保证成绩的不可更改性。

4结语

多年的实践验证了一体化教学模式的优越性。我们精心进行全方位的课程建设,使教学活动不受时空限制,以其互动性强、协作性强、教学相长等特点在为提高我校C语言程序设计课程的教学效率与质量,培养精英人才等方面发挥了积极作用。随着教育事业的发展和网络技术的成熟,将计算机技术应用于教学活动中的一体化教学模式必将越来越成熟。这种模式拓展了优秀教师的作用,使优秀资源充分共享,并能将教师从繁重的批改作业、辅导答疑中解放出来,以更多的精力进行教学研究。此外,网络辅助教学的研究与实践不只是单纯的教学问题,还需要各方面的协同工作和大力支持,只有上下齐心合力,网络辅助教学的目标才能真正实现。这套教学模式不仅可用于计算机类课程,还可以向其他课程或领域延伸,必将取得长足的进步。

参考文献:

[1] 郑莉. 精品课程建设中的几个重要关系[J]. 计算机教育,2006(10):15-17.

[2] 蒋东兴,张继才,罗念龙. 高校网络教学现状与对策[J]. 计算机教育,2004(9):44-46.

[3] 余久久. 浅谈“C语言程序设计”教学体会[J]. 计算机教育,2008(18):120-122.

[4] 杨帆. C语言程序设计课的教学角度[J]. 计算机教育,2008(18):105-106.

[5] 吴宏伟,张殿龙,梅险. 高校网络辅助教学的探索与实践[J]. 计算机教育,2007(13):18-21.

[6] 邓萍,蒋君好,蒋启华,等. 高校网络辅助教学应用中存在的问题及对策初探[J]. 中国现代教育装备,2009(15):21-22.

[7] 李迎秋,李树华,邱建华,等.C语言课程教学改革与实践[J]. 计算机教育,2008(24):12-14.

[8] 朱立华,俞琼. C语言教材建设的研究与实践[J]. 计算机教育,2009(13):151-153.

[9] 关忠仁. C语言教学质量的思考与实践[J]. 计算机教育,2007(6):56-58.

Research and Practice of C Language Programming Course Construction

GAO Wei, ZHANG Guo-yin, HUANG Hong-tao

(College of Computer Science and Technology, Harbin Engineering University, Harbin 150001,China)

c程序设计范文第5篇

关键词:案例教学;现场编程;分组教学

中图分类号:G642.3 文献标识码:A 文章编号:1674-9324(2012)05-0239-03

一、引言

程序设计类课程是大学生计算机基础教育的必修课,目的是培养学生的计算思维,培养学生利用计算机解决实际问题的能力。由于“C++语言”在工业控制领域应用较多而被选为理工类大学生的计算机语言程序设计课程,并安排在一年级学习。大学一年级的学生大多数延续高中的学习和思维方式,但是“C++语言程序设计”的学习方法和思维方式与物理数学都不一样,学生碰到了课程学习的第一个难题,教师必须引导学生转变思维方式尽快适应C++的学习。在教学过程中,我们发现“C++语言程序设计”与高等数学和大学物理等课程有明显的区别,高等数学和大学物理等课程偏重理论教学,而“C++语言程序设计”除了理论教学之外还有大量的实践教学,是一门突出实践性的课程。因此,在教学设计中应该突出培养程序设计基础理论知识的应用和动手编写程序,不能只关注知识点的讲解和检查,而忽视程序编写调试能力的培养。为此我们针对如何在程序设计中培养学生的动手能力,对“C++语言程序设计”这门课程的教学目标定位和教学方法选择进行了一些分析和研究,并应用于2010级的机械实验班的“C++语言程序设计”课程的教学实践中。

二、教学目标

人们在学习人类自然语言的时候,强调语言的语法是基础,学习的目标是和其他人进行交流。相应的,在学习“C++语言程序设计”时,C++的语法也是编写程序的基础,学习的目标是使用C++语言编写程序。而对于大多数大学生而言,C++程序设计语言和英语一样,是未来工作中的一个重要工具,因此,我们要告诉学生把C++语言当作工具来学习,强调实用性,不要过多地关注内部细节和繁杂的语法。在讲授基本语法之外,我们重点放在教会学生如何写C++程序,如何优化程序,以及学习怎么去学习C++语言的新领域。计算机语言的语法不是计算机语言学习的全部,一个熟练的BASIC程序员学习新C++语言的语法,也许只需要3-4个小时,但是要熟练使用C++这门语言,特别熟练使用C++的类库时,就必须认真阅读类库参考和相关的例程,并进行大量的上机编程练习。所以,在“C++语言程序设计”课程教学过程中,我们既要让学生知道常用的语法现象,又不能局限于C++语法的掌握。同时我们也充分认识到语言只是一种表达工具,自然语言亦是如此。程序设计语言可以用来表达需要解决的问题和解决问题的方法,但是方法本身不属于语言的范畴,要在其它课程中学习。例如:计算方法、数据结构等。学习语言需要实践,因而离不开对分析问题和解决问题方法的学习。但是初学者的目标应定位在编写小程序、解决简单问题。我们的教学目标是通过《C++语言程序设计》课程的学习,学生能掌握一些常用的经典算法和相应的例程。可是仅仅掌握这些经典算法和相应的例程是不够的,我们还希望通过“C++语言程序设计”课程的学习,让学生掌握从算法到程序代码的转化,使他们能够将一个实际问题,先描述为一个计算机算法,然后再编写相应的C++代码。同时强调“自顶向下”和“细分”的程序设计思想的培养,让学生充分了解任何看似复杂的算法,都可以分解为若干个简单算法的逻辑组合。所以任何一个题目,在编写代码之前,都要认真分析,分解成若干的小问题进行处理。

三、教学方法

1.案例教学。在以前,“C++语言程序设计”课程的教学围绕C++的基本语法知识来展开。而从本质上来说,计算机程序设计的最终目的是为了用计算机解决实际问题,因此“C++语言程序设计”课程的目的是培养学生的计算思维能力、创新能力和综合能力。要提高学生的学习“C++语言”的兴趣,就必须让学生亲生感受并体会C++语言程序设计的无穷魅力。而“案例教学”这种教学方法,改变了“满堂灌”C++语法的做法。通过一个有趣的案例吸引起学生的注意力,从而将学生的眼、手、脑全部调动起来,培养学生学习《C++语言程序设计》的兴趣。因此,我们在《C++语言程序设计》课程的课堂教学中采用案例教学法来组织教学。课堂教学以C++程序为主线,通过使用多媒体教学设备,在VC6.0的编程环境下现场演示程序的运行结果。在讲课过程中,将教学内容分为不同的几个主题,用C++程序设计作为贯穿期中的主线。通过对案例例题的分析,着重讲解C++程序设计的编程思想和编程方法,同时介绍相关的C++语言的语法知识。然后在机房上机实验的时候,教师针对学生在上机实际编程中的突出,进行有针对性讲解。通过案例法教学,教师在课堂上通过分析程序设计的原理和程序设计的过程,使学生一步一步熟悉C++语言的语法,学会应用相应的C++语句,进而培养学生分析问题和解决问题的能力。

2.当堂编程。在课堂上当堂编写程序可以让学生看到编写C++语言程序过程中所出现的各种问题,从而重点讲解用C++语言编写程序时要注意的细节问题。我们首先用PPT分析各种例题的关键算法、类的结构或函数定义,然后在VC6.0的编程环境中当堂编写相应的C++程序。教师一边输入代码,一边讲解代码的含义,同时要控制编程的节奏,使得学生能跟上教师的编程思路。在整个过程中,教师要时不时提出一些问题,与学生进行互动。在2010级机械实验班的《C++语言程序设计》的课堂教学中,我们从第一节课开始就实施了在课堂上当堂编写C++程序的做法,取得了很好的课堂教学效果。在课堂上当堂编写程序的时候,将教师良好的编写风格在不经意间传递给学生,让学生注重诸如如何命名标识、如何正确使用注释和换行。通过教学实践,我们发现教师在课堂上现场编写的程序比其他书本的例题,对学生的示范性更强,对学生培养良好编程习惯的作用更强。在课堂上现场编程对于教师来说也是一个重大的挑战,它要求教师能及时解决C++编程中遇到的各种问题,修改程序错误,并调试和运行程序。教师对于学生容易出错的地方,常常有意留些错误,然后让学生去分析错误,从而加深学生的印象,让他们知道碰到类似的问题如何处理。为了教学生如何正确调试程序,教师还要讲解VC6.0编译器常见的警告和错误信息,并告诉学生错误产生的原因和相应的处理办法。

3.程序调试。《C++语言程序设计》课程的学习中,影响学生学习积极性的最大难题是无法正确处理调试过程中遇到各种错误。例如学生编写的C++程序,编译时编译器报告了若干个错误,但是学生不知道如何修改;或者编译通过了运行的时候却出现死循环,但是学生也无法发现。一旦学生编写的程序经常不能正确运行,就会影响学生的学习兴趣,进而使学生失去学习《C++语言程序设计》课程的信心。所以,教师应该让学生学会常用的调试方法和步骤,并且鼓励学生主动和老师一起帮助其他同学调试程序,一起解决C++编程中遇到的问题。要解决C++程序在运行中所碰到的错误,正确的调试方法和手段是学生必须掌握的。只有通过使用正确的调试方法和手段,才能让学生在最短的时间之内找到程序中出错的语句及其原因。在VC6.0的编程环境中,学生要学会使用单步跟踪技术,熟练使用相应的快捷键,例如F9、F10、F11、Shift+F1等。并配合使用内存变量查看工具“Watch”和“Variables”等来查看相关变量的值,从而找到错误发生的原因。4.分组教学。分组教学是把学生分成若干小组,每个小组可由5~6名不同能力的学生组成,以小组合作的形式,在教师的指导下,通过组内学生的互助活动共同完成学习任务。分组教学与传统的班级授课制相比,有很多优越性。分组教学可以增加学生之间的互动交流,从而可以实现学生的优势互补。通过开展小组合作学习,有意识地培养学生的合作意识和合作,也能减轻学生的学习压力;通过互帮互学还能增强学生的自信心,促进全体学生的个性发展。在实验环节和项目设计中,采用我们分组教学的模式来组织教学。项目设计全过程基本上让学生以小组团队的方式独立完成,教师只是提供相应的辅导和监督项目的进展。经过了这种模拟实际项目开发过程的训练,不但可以提高学生学习C++的兴趣,培养学生的C++动手编程能力,还有利于培养他们探索精神和学习积极性。

综上所述,我们认为C++语言本身是一个软件开发的工具,在教学中应该将C++语言定位为一个通用软件开发工具,并且在教学过程中突出C++语言编程的实用性,注重培养学生实际动手编程的能力、分析处理问题的能力和自主学习的能力。我们也将此观点用于指导2010级机械实验班的《C++语言程序设计》课程的教学中,取得了较好的教学效果。

参考文献:

[1]陈福松.案例教学与创新型人才培养[J].扬州大学学报(高教研究版),2009,(05).