APP下载

基于工程应用能力的C++程序设计课程改革与实践

2017-07-14李春梅张怡文

电脑知识与技术 2017年16期
关键词:考核评价程序设计教学方法

李春梅+张怡文

摘要:培养具有一定的应用和工程实践能力的应用型人才是本校办学宗旨。为了实现这个培养目标,本文针对c++程序设计课程及相关课程的知识结构进行整合以及对整合后课程教学进行教学改革。教学改革以工程项目为主线,通过多样化教学,强化实践,过程性考核等环节,培养学生的工程和创新能力。

关键词:c++程序设计;教学方法;考核评价

随着应用需求的扩充、软件规模的迅速膨胀以及软件设计复杂度的提高,软件设计方法也在不断的革新,面向对象程序设计技术也成为当今的主流软件设计技术之一。《c++程序设计》是目前主流的面向对象程序设计语言之一,是教育部制定的工程学科、软件工程专业、计算机科学与技术专业核心课程之一,也是一门程序设计实践性很强的计算机专业基础课。另外,本院校是一所民办应用型本科学校,其办学的宗旨是培养具有一定的应用和工程实践能力的应用型人才,从而提高学生在企事业单位的就业竞争能力。所以,《C++程序设计》课程成为本校的一门重要课程。

将《c语言》以及《c++程序设计》课程进行整合,即把面向过程的c语言与面向对象的c++进行整合,弱化非重点知识点的理论性讲解,强调面向对象的设计方法,最后添加适量的MFC(Microsoft Foundation Classes,简称MFC)的课程,让学生了解MFC类库的作用以及如何开发Windows应用程序,同时也为后续可视化面向对象课程设计打基础。因此,整合后的课程既精简了教学内容又节省出更多的教学时间,从而有利于增加工程项目实践环节。通过对课程体系进行教学内容整合以及对整合后课程的教学方法、教学实践及考核方式进行相应的改革,符合工程应用型能力人才的培养目标。

1课程体系结构与内容建设

在教学内容方面,整合后的内容划分如下图1所示:

整个教学内容主要由三个模块组成:第一模块为面向过程的c语言部分,主要介绍c语言基础知识,内容包括:数据类型、程序流程控制、数组、模块设计和指针等内容;第二模块为面向对象的c++部分,主要介绍面向对象编程思想及方法,内容主要围绕面向对象的四大特征展开讲解,如:抽象、封装、继承性和多态性以及c++模板(函数与类)、流与文件的介绍,这部分是本书的核心模块;第三模块则是利用MFC开发Windows应用程序,内容包括:典型的Windows应用程序结构、利用MFC AppWizard创建Windows应用程序、MFC应用程序的类和文件、Windows消息处理、文档/视图结构、菜单、工具栏、控件的使用等。

从上面的模块划分可以看出,面向过程的c语言是面向对象的c++程序设计的基础,MFC开发Windows应用程序是对面向对象C+十四大特征的一个高级应用。对以上教学内容讲解时本着“删繁就简、理论够用、重点精讲、强化工程项目实践”的原则。

2教学方式手段改革

在教学过程中,要以培养学生解决实际问题的逻辑思维能力为主线。由图1所示,显而易见,教师对三个大模块是按阶段、层层深入的思路进行授课。

2.1案例+问题驱动

教师在进行教学时,不能以知识点为主线,而是要明确每一个阶段学生要达到什么技能,这需要教师根据当前应用型人才的要求,分析该阶段的技能点,由技能点推出知识点,并对此设计一个完整的,很有逻辑性的项目案例,并对该案例进行分析、讲解、讨论,当学生理解之后,把语法放到最后的环节进行总结性的讲解。因为有了案例的支持,使得学生能够很容易的接受并快速掌握。之后,让学生讨论此案例是否存在不足,激发对问题的思考,从而达到知识的全面掌握。因此,这种模式授课,学生更易取得阶段性成果,在一定程度上也可以促进学生的学习热情,对教师来说,知识点更易总结,也容易引导学生自主学习和实践练习。

1.2多媒体+“微课”

课程教材中不同的知识点往往分布在不同的章节里,为了使学生能够灵活的交叉使用,将知识点糅合在一起,构成完整的模块,在教学中应多运用多媒体技术进行直观教学,使教学更具直观性,提高了授课的质量。再配以“微课”的方式演示给学生,从而使学生能够巩固旧知识,获取更多新知识的种子。

3实践教学改革

以工程实际应用为主线,进行实践教学内容的改革一。

3.1建立“学习一实践一提高”模式

为了更好的巩固理论教学知识,要求实践与课堂教学同步。将本课程分为不同的阶段(如图2所示),每个阶段均进行工程式的实践教学,进行小组式的“讨论一讨论一实现一讨论”模式,即课前讨论、课堂讨论、设计实现的过程,完成项目,最后总结、讨论分析用当前知识解决存在问题,从而引入下一模块知识。由此,将构成c+十三大不同模块阶梯式的项目,前一级工程为后一级服务,不断融入新知识,从而起到真正的工程化培养过程。

1)计算器:通过该实验掌握基本程序结构,函数、数组等技能点的运用;

2)动物关系:掌握类和对象的概念;

3)牧场游戏1:通过不同的动物和食物,构建牧场的类层次结构,实现简单农场管理,掌握类的继承和多态的知识;

4)牧场游戏2:对游戏1提出更高要求,要求具备进度存档,以及读取进度存档等功能,掌握流与文件的概念;

3.2加强课程设计环节

课程结束后,学生应该具备了一定的程序设计能力,为了进一步提高设计能力和体会MFC类库的作用,给学生布置一些规模较小的Windows应用程序的开发项目,并且要求他们以组为单位完成。

课程设计目的是让学生对前面所学理论知识的一个应用巩固。由于Visual c++整个MFC类库很庞大,学生不可能在短期内掌握所有。所以一开始让学生大体上对MFC有个整体了解,了解MFC应用程序的框架结构,不需要它的细节和内部实现。所以对以上题目大部分都给出了内部细节,工程中主要类结构及程序框架留个学生自己搭建组合。

另外,除了设置课堂教学同步实验、课程设计外、同时增加其他实践环节,如:引入企业入驻实验室开展企业项目集训、“炜煌杯”、“机器人”、“蓝桥杯”的程序大赛以及参与教师科研团队等实践环节。

4考核方式改革

不采用一卷定终生的考核方式,而是结合课程的性质和培养目标,加强过程考核,建立以培养学生工程和实践能力为主的教学评价体系,以过程考核为主,以实践考核为辅,使得考核既具备客观性也具备公正性。考核环节所图3所示:

阶段性测评1、2:是针对c语言和c++模块的考核。模块教学内容结束后,教师设置难易程度不同、对应不同分值的小型项目题目,学生选择相应分值的题进行编写设计,要求学生分组、并在规定的时间完成提交。教师进行批改统计各组完成的总题量的分数及个人完成的题量及分数,然后进行分数比例折合出每个学生的分数,这样做有利于加强团队精神,同时也体现了个人的能力。

工程实践:包括与实践教学同步的工程项目和课程设计,根据不同的小组和不同的项目,老师通过答辩的方式,对每个小组以及小组的每位成员进行打分。

实验作业:是针对前面工程项目完成后的实验报告,一组只要写一份报告即可,但在报告上要体现出每个人对所做的项目遇到什么问题及如何解决的一些总结,让学生知道明白自己的不足,同时也作为评分的依据。

笔记+课堂提問:授课过程中,每一次提问都是一次考试,每一次回答都有一个分数,最终按比例进行分数统计,给每一个学生一个总评成绩,这样学生会把更多的时间用在课堂上,使学生从手机中脱离出来。

自主学习:主要体现以上所有阶段,遇到问题,能够自主研究总结和动手实践,学会查阅资料。

通过以上考核方式,从而避免了学生“平时不学习,考试大突击”的情况,使学生更多的时间用于学习中。

5结论

依托工程应用培养模式,注重过程性的培养。本课程组在整个教学过程中以项目为主,加强实践教学,注重考核方式进行了探索和大胆的尝试,从而做到“做中学”的教学理念。通过近三年的教学实践,取得了较好的教学成果。

猜你喜欢

考核评价程序设计教学方法
基于Visual Studio Code的C语言程序设计实践教学探索
教学方法与知识类型的适宜
从细节入手,谈PLC程序设计技巧
任务驱动法在压缩机职业教育中的应用
高职高专院校C语言程序设计教学改革探索
校企合作背景下的大学生职业素质评价体系构建
以就业为导向,高职教育中《儿童常见病护理》课程教法的实践与研究
基于全面预算管理体系建设的成本控制实践探索
PLC梯形图程序设计技巧及应用
我的教学方法