姚丽莎 李春梅 张怡文
【摘 要】针对传统教学方法中存在的项目内容适应性不高,学生团队组建机制不够灵活,考核机制不合理等问题,提出“分层项目驱动案例教学”模式对《C++程序设计》课程进行改革。第一,合理设计项目内容,提高项目内容的适应性;第二,建立动态学生项目团队,提高学生团队组建機制的灵活性;第三,优化课程考核机制。调动学生的学习积极性和兴趣,体现“学校、企业、研究机构”三位一体的育人主体,实现人才培养与企业的无缝对接,因材施教,优化教学效果。
【关键词】项目驱动;C++教学;分层教学;教学改革
中图分类号:TP301:G642.0 文献标识码: A 文章编号: 2095-2457(2018)25-0133-002
DOI:10.19694/j.cnki.issn2095-2457.2018.25.061
【Abstract】Aiming at the problems of the traditional teaching methods, such as the low adaptability of the project content, the inflexible formation mechanism of the student team and the unreasonable examination mechanism, this paper puts forward the model of “stratified project-driven case teaching” to reform the curriculum of “c++ program design”. Firstly, reasonably design the project content and improve the adaptability of the project content. Secondly, establish a dynamic student project team to improve the flexibility of the student team formation mechanism.Thirdly, optimize the curriculum assessment mechanism. The model mobilizes students learning enthusiasm and interest, embodies the trinity of “schools, enterprises and research institutions” as the main body of educating people, realizes the seamless connection between personnel training and enterprises,teaches students according to their aptitude, and optimizes the teaching effect.
【Key words】Project-driven;C++teaching;Stratified teaching;Teaching reform
0 引言
《C++程序设计》是计算机科学与技术、软件工程、信息管理和信科本科专业,计算机应用、计算机网络、计算机软件专科专业的专业基础课程,因此,《C++程序设计》目前是全校专业和班级覆盖面较广的课程之一,也已经成为工科院校的经典课程,但对应用型本科院校,难教难学,必须针对课程不断探索,进行课改。
1 C++程序设计在教学中存在的主要问题
《C++程序设计》是一门难度大、应用范围广、实用性强的课程。目前,各个高校C++程序设计教材的主要内容集中在“基本概念的定义和分析、类和对象的应用”这两个方面,而对于应用型人才培养,教学的目的不仅是让学生了解基础的理论知识,更重要的是培养学生面向对象程序设计的基本思想和提高学生动手开发的能力。虽然,结合国内外计算机应用专业的教学模式,已对该课程进行了一系列的探索与改革。但是,目前《C++程序设计》课程的教学和改革过程中还存在如下一些问题:
(1)教学内容方面。目前《C++程序设计》课程的教学基本包括理论教学、上机操作和课程设计三个方面。理论教学的内容过于理论化,枯燥难懂,而且无法体现一些新的理论和技术在计算机方面的应用,使得学生在学习过程中无法很好的做到理论与实际相联系,缺乏学习的积极性。上机操作主要是就某一个知识点让学生进行上机练习,使得学生无法体会利用计算机去结局实际问题的乐趣;而且上机效果的好坏也取决于前导的程序设计语言课程的掌握程度,难以激发学生的创新能力和实践能力的培养。课程设计是加强学生利用数据结构去解决现实生活中碰到的复杂问题的能力而进行的综合性的实验,但在此过程中有的学生只是将之前所做的实验结合起来,没有新意,既无法激发学生主动学习的意愿,也无法达到很好的教学效果。
(2)教学方法方面。首先,目前的教学中仍旧采用以“教”为主的教学方法,在课堂教学中大部分时间都是“满堂灌”的模式,教师在教学时间内力求将每个知识点尽量清晰而详细的传授给每一位学生,却忽略了学生本身的反应,无法有效的激发学生学习的欲望与积极性。使得学生被动接受老师所教的知识,主观能动性差,自学能力和实践能力不能得到很好的培养;其次,学生学习能力和基础良莠不齐,对于编程能力弱的学生来说,他们解决现在的题目要求有困难,以至于对实验缺乏兴趣和学习的动力;对学习成绩好的学生,又因为题目难度不高,缺乏挑战性,也丧失学习的热情。
2 项目驱动教学法
项目驱动教学法[1-5]是一种新型的建立在建构主义教学理论基础上的探究式教学方法。构建主义教学理论指出,不是通过教师来将知识传授给学生,而应在一定情境下,学生通过阅读必要的学习资料,并借助他人的帮助,通过意义构建方式以获取知识。
项目驱动教学法是一种新型的建立在建构主义教学理论基础上的探究式教学方法。构建主义教学理论指出,不是通过教师来将知识传授给学生,而应在一定情境下,学生利用必要的学习资料,借助他人的帮助,通过意义构建方式来获得知识。项目驱动教学法与传统教学方法不同,其以项目为驱动,以一个完整的软件开发项目贯穿整个教学过程,学生在教师的指导下,采取讨论、探索、开放的方式,组织学生参与项目开发的全过程,以项目为中心学习一定教学知识点。
项目驱动教学法[6]可以激发学生的学习欲望,引导学生将学习的知识运用到实际项目开发中,满足学生创新学习、自主学习的需求。在教学过程中注重创新能力的培养和团队合作能力的训练,既能培养学生的专业技术能力,也能培养如何利用所学知识有效的去解决实际问题的能力。针对目前《C++程序设计》课程并未完成体现应用型大学应用型课程的教学目标,考虑到因材施教的问题,提出“分层项目驱动案例教学”模式的《C++程序设计》课程改革问题,对学生的多方面能力的培养和锻炼具有重要的意义。
3 分层项目驱动案例教学模式的C++程序设计课程改革
《C++程序设计》课程的教学目的是向学生介绍面向对象程序设计的基本思想,通过课程的学习,让学生掌握用C++语言解决问题的一般步骤和方法,掌握编写C++程序的技能,培养学生的动手能力以及探究、创新思维。本文主要针对传统教学方法中存在的项目内容适应性不高,学生团队组建机制不够灵活,考核机制不合理等问题,提出“分层项目驱动案例教学”模式对《C++程序设计》课程进行改革。
主要通过以下三个方面进行改革:
(1)项目内容的合理设计,提高项目内容的适应性;
原有教学上虽然精心设计了能够满足教学需要的典型案例作为实验内容,但是忽视了学生间的能力良莠不齐的现象的实际情况。项目内容设计上没有考虑学生的差异性,导致部分能力差的学生无法完成任务,进而不愿参与项目,存在项目团队中“搭便车”的现象,而项目内容全部交由能力较好的同学来完成。这样,不可避免的产生“弱者越弱,强者越强”的现象,造成项目内容的适应性不高。
为提高项目内容的适应性,本项目在项目内容设计上,将“分层教学”[7]应用于此,为同一项目内容设置不同的难度系数。这样,学生可以根据自身的能力选择合适自己的难度系数的项目任务,提高项目内容的适应性,提高学生的积极性和主动性,做到“因材施教,人人参与”。
在教学过程中采用“分层项目驱动案例教学” 的模式对《C++程序设计》课程进行改革。让学生通过在对项目实例的分析中发现问题,进而在对问题进行分析,寻找解决问题方案的过程中引入相关知识点,同时运用多种教学方法对此知识点进行深入浅出的讲解,在此过程中引导学生积极主动思考,激发学生的学习兴趣,营造良好的学习气氛。同时,針对不同技术能力的学生,对同一教学内容设置了不同难度系数的项目,学生可以根据自己的能力选择适合自己难度的项目。
(2)建立动态学生项目团队,提高学生团队组建机制的灵活性;
原有教学中学生团队是静态的,团队成员固定。虽然成员固定有利于队员间的团队协作,但是这样容易造成专业技能不均衡的现象。如果团队固定,无论项目大小都有固定人数来完成。这样会造成如果项目太小,项目分工困难;如果项目太大,成员工作了太大的现象。
为提高学生团队组建机制的灵活性,建立动态学生项目团队。学生参与项目的难度,团队成员的人数和角度都是动态调整的。根据教学内容的难度的不同动态调整学生团队的人数,对于简单的项目可以单人或组建人数较少的团队完成,充分发挥每个成员的作用,避免部分能力较差同学“搭便车”的现象。学生在团队中动态调整自己的任务角色,进而完成对课程的全面掌握,避免专业技能不均衡的现象。
在《C++程序设计》课程中采用基于项目的团队式的训练。在此过程中事先设计好相应的训练项目,并对同一项目设置不同的难度系数,要求学生以小组的形式自行选择适中难度的项目参与相关训练,并设计有相应的分阶段考核形式。在此过程中训练学生利用所学知识分析问题的能力、解决实际问题的能力和小组合作的协作能力等等。
(3)优化课程考核机制。
合理的课程考核机制为课程教学提供有力的保障,由于《C++程序设计》是一门实践性较强的课程,因此,需要加大实践能力的考核比例,同时,设置分阶段的考核方式优化课程考核机制,这样可以督督促学生对每个阶段学习内容的掌握,各个击破,及时解决难题,缩小学习差距。
4 结束语
项目驱动教学以项目为主导,旨在提高学生的学习热情和创新实践能力,是一种符合应用型高校培养的新型教学方法。C++程序设计是计算机专业的基础专业课程,在整个计算机专业培养体系中起了至关重要的作用。本文提出“分层项目驱动案例教学”模式的《C++程序设计》课程改革,用一个项目贯穿《C++程序设计》课程的所有教学内容,把项目拆分成若干部分引导学生学习不同的知识点,将课程教学与项目开发相互融合交叉。可以调动学生的学习积极性和兴趣,学生成为学习的主体,在教师的指导下,学生通过项目训练加深对理论知识的理解,实现“学、用、创”三位一体的培养模式,进一步提高学生的应用能力、专业实践能力、创新意识和创业能力;在培养学生掌握理论知识的同时,培养学生动手和项目开发的能力,体现“学校、企业、研究机构”三位一体的育人主体,实现人才培养与企业的无缝对接;能够针对学生能力良莠不齐的实际情况,因材施教,优化教学效果。
【参考文献】
[1]汤淼.软件工程专业“项目驱动”实验教学模式研究[J].实验技术与管理,2012,29(4):267-268.
[2]蔡琴,张凯.项目驱动教学模式在软件工程教学中的应用[J].实验科学与技术,2014,12(4):175-178.
[3]Sun Hongmei,Jia Ruisheng.Research on case teaching of software development comprehensive practice based on project driven[J].Procedia Engineering,2012, (29):484-488.
[4]匡华.高职课程教学改革背景下项目驱动教学法应用研究[J].牡丹江教育学院学报,2010, (4):88-89.
[5](美)巴克教育研究所著,任伟译.项目学习教师指南—21世纪的中学教学法[M].北京:教育科学出版社,2008.
[6]徐凯,宋麦玲,薛思清.项目驱动式案例教学法在“C程序设计”课程中的应用[J].长春理工大学学报,2011,24(10):171-172.
[7]代成艳.浅析计算机Office软件的分层教学[J].电脑知识与技术,2017, 13(4):92-93.