唐成华,张瑞霞,张 净
(桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004)
基于认知曲线的项目案例实践教学法研究
唐成华,张瑞霞,张 净
(桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004)
针对当前项目教学法中学生认知能力的满足性问题,基于传统知识网概念,描述了以案例封装知识点的要求和方法,引入认知能力思想。以计算机类专业为例,该文提出了学习编程的认知曲线概念,精心设计了案例教学的多认知阶段课程与实践方法,为改革教学模式,培养大学生创新精神和实践能力提供了新思路。
项目教学法;创新教育;认知曲线;案例设计
项目驱动式是一种探究性的能力教学方法。自德国以“实践为导向”双元制教育[1]的成功实施和北美推行的基于能力的教育(CBE)[2]模式于20世纪80年代传入我国,项目式教学方法的应用兴起。项目式教学法特别适合于高等教育中需要融入职业教育或企业实践的一些专业或课程,已有许多高校在这方面进行过初步探索,比如在IT教学领域,运用项目教学法在计算机基础教学、C、Java、Web等程序设计方面已有了一些成果,本着“团队协作、项目实践、科技创新”的教学理念,因地制宜,因材施教,项目驱动式教学法在高校本科生综合素质创新培养中发挥着越来越重要的作用。
文献[3]对项目驱动在计算机基础实践课程教学中的应用进行了研究,分析了项目驱动教学要素,并对教学过程和项目进行了设计。文献[4]是以任务驱动的概念探讨了大学计算机教学模式的改革,并提出了具体的方案。文献[5]则是基于任务和项目结合的思想研究实现“Android开发技术”课程的协作教学。也有文献是以案例驱动的模式带动课程教学改革[6],而文献[7]是将案例与任务驱动相结合,并强调了其关键点在于案例的选取和任务的设计。以上这些可统称为项目教学法,均强调发挥教师的指导作用和学生的主动性,以项目、任务、案例、问题或情景等驱动,引导学生运用知识去探究和发现问题,培养创新精神和创新能力。在项目教学法实践过程中,每个学生的学习情况有着很大的差异,如果忽视学生特点则教学效果将大打折扣。因此,文献[8]提出了分层任务驱动的方法,实现学员动手实践能力的阶梯式提高,通过分层小任务划分为导向,完成学习过程的渐升,满足学员的成就感,增加学习兴趣和学习热情,有效提高了教学效果。
尽管我国在项目驱动式教学方面已取得了一些成果,但与先进国家相比仍处于初步建设和比较落后的状态,特别是在当前网络空间安全领域人才非常缺乏,相关的信息安全、信息对抗等专业本科设置与教学起步也较晚的情况下,在网络系统编程、安全检测等信息系统和软件工程领域,培养大学生创新性精神和实践创新能力的过程中尚存在着一些问题。
在以项目驱动的教学方法过程中,需要解决项目案例的实践对不同学生认知能力要求的满足性问题。学生的认知能力是一个过程,从被动转向主动,在主动学习中也是不断适应和提高的过程;另外,在每个项目阶段,学生的心理调适也是存在或许不同的缓冲期[9];因此,合理难度的项目案例设置能给予学生更好的发挥空间,并更快地实现自我认知。所以,在以项目案例教学为导向,符合培养目标并掌握相关知识点要求下的案例实践教学方法,应能够满足不同知识基础、不同能力水平的学生培养。要按严格的标准进行案例设计和投放,课程的设计应能与学生的认知能力保持一致,也就是要确保这些基于认知设计的案例有一定的层次性和阶段性。
与传统的课堂灌输式理论教学不同,采用以讲案例和做案例并举的形式,以案例对知识点进行封装讲解的教学与实践,这是一种革新的教学方法,能突破在传统理论知识体系讲授过程中学生对知识点认知的局限,可以为学生提供一个很好的创新平台,使学生的创新思维不只是停留在理论创新上,而在于更广泛地发现问题、思考问题并解决实际问题的创新过程。
2.1 传统知识网
知识本身是张网,案例教学的实践就是这张网的纺织过程,并努力让学生具有善于使用这张网的能力。如在程序设计语言及应用等相关课程的教学中,基于案例的实践教学,正是构建诸如集合、数组和关键词之间,以及它们与变量定义、运算符、流程控制、面向对象、内部类、GUI、I/O、多线程和网络编程等知识点之间的关系网,如图1所示。案例的教学,要疏清这些知识点之间的脉络关系,抓住各点在知识网中存在的作用与意义,使学生明白它们之间相辅相成的关系,在设计程序时能够触类旁通,举一反三。
图1 程序设计知识网
2.2 以案例封装知识点
以案例过程为学生建立各知识点关系网和作用网,即用案例封装有关系的各知识点。如在程序设计中,每个案例都是一个有着实际应用方向的软件工程,所涉及的知识点不局限于相关的计算机编程知识,也涵盖了那些为软件工程服务的人文知识,以及人体工学和美学等知识,让学生有主动学习的兴趣,在扩充知识的同时能提高编程能力,促进学生知识向生产力、创造力的转变。例如一个俄罗斯方块游戏案例,主要包含了C++基本语法及运用流程、TCP/UDP协议、Socket的使用、线程,以及操作系统等知识点,并且为了游戏程序的趣味性、美观性和操作灵活性,也应考虑界面色彩设置、按键布置等方面。
案例的设计和投放应该有严格的标准,设计不同的案例以适应不同知识基础、不同编程能力以及不同学习阶段的学生,即基于学生学习编程的认知曲线来设计案例。
3.1 学习编程的认知曲线
对于本科学生学习编程而言,其认知能力是指学生以编程语言系统为认知对象,对编程目标、编程要素、学习任务、学习方法、自身特点以及学习情境等进行分析和判断的能力。较高的认知能力,对于良好的学习体验的积极作用是显著的[10]。这种能力因人而异,因此,应该记录教学过程,因材施教,避免传统模式下的精英教育易造成对部分学生忽视现象的蔓延。这是一个渐进的过程,按学生不同的认知能力促进学生的自主能动性和创新性的提升。
在应用案例学习编程的具体实践中,其认知能力曲线,则体现在不同阶段、不同时期(如周、月等)对于编程语言系统中的关键词、语句语法、程序逻辑、完整程序、系统耦合和代码复合等不同方面认知能力的变化趋势,如图2所示。这种认知曲线的变化也反映了这些不同方面在不同时期的上升与下降的关联关系,表明了学习者对这些认知方面的掌握能力的变化过程,是我们建立多认知阶段课程案例的依据。
图2 学习编程的认知曲线
3.2 案例教学的多认知阶段课程设计
以信息安全专业为例,在学习编程的软件工程项目中,以认知曲线为指引,多认知阶段的课程设计是循序渐进的,为不同阶段制定学习要点并确定所培养的认知能力,设计相关的具体案例,促进学生发挥不同阶段对不同知识方面的优势能力,如表1所示。学习编程分为打基础阶段、编程能力提高阶段、综合案例阶段和大项目阶段,各阶段的课程案例对应着不同的认知能力,而且每个阶段还可以进行细分。
3.3 典型的编程认知课程设计
对不同认知阶段的课程,精心设计教程案例和教学方法,在符合专业培养方案的前提下,明确相关的阶段教学目标、对应的知识要点和实践操作的内容。例如,设计俄罗斯方块控制台编程的认知课程,按以下3个认知阶段进行课程设计。
表1 多认知课程阶段设计
阶段1教程:控制台基本操作。
目标:程序概念、键盘与鼠标事件、循环控制。
知识点:函数、类和对象;Windows API;窗体使用;随机数生成;定位、色彩与绘图;键盘控制。
实践:编程并测试关于色彩显示、字符闪烁和移动的案例;设计并测试关于键盘控制的案例;开发并测试简单图形旋转的案例。
阶段2教程:单机俄罗斯方块游戏。
目标:多线程方法、控制程序逻辑。
知识点:输入/输出流类库;面向过程/对象的设计;多线程控制物体运动;游戏流程与逻辑。
实践:设计单机俄罗斯方块,并测试功能。例如:1)能够随机显示多种形状的方块;2)能用键盘控制方块的下落和左右移动及翻转;3)能在某行的方块连满后进行消行和计分;4)具有计时和限时;5)能保存游戏结果等。
阶段3教程:网络俄罗斯方块对战。
目标:网络协议、网络编程。
知识点:延时重绘;TCP/IP协议;Socket网络编程;网络消息机制(消息发送与存取、消息队列)。
实践:设计网络俄罗斯方块对战游戏,并测试功能。例如:1)在游戏前后与过程中,双方可文字交谈;2)在游戏中,当一方消行时,另一方随机增加一行方块;3)当任意一方方块先触顶时,游戏结束并计分比较。
通过以上典型的基于认知的编程案例实践教学设计,让学生不仅体会了面向过程与面向对象编程方法的优缺点,也掌握了基于网络的编程要点,能对系统分析、系统设计、系统实现和系统测试与分析有一个全面的软件工程的理解。这种根据学生对编程知识点认知能力而设计的案例教学阶段和实践模式,能发挥学生运用知识发现问题和解决问题的能力,培养学生学习和实践的兴趣,能让学生具有持续的成就感,创新能力被激发,具有良好的扩展性思维和动手能力。
依托省级可信软件重点实验室和已建立的校企合作创新实践基地,桂林电子科技大学已开展了项目教学资源与环境建设,基于认知曲线的项目案例实践教学法已在信息安全专业、软件工程专业和网络工程专业进行了初步尝试,教学氛围活跃,取得了较好的效果;学生的团队精神和创新能力得到了不断的提升;在实践中形成了有特色的教学方法,为课程实践教学改革提供了有益的尝试平台。
[1]陈莹.德国双元制高等教育体系研究[J].外国教育研究,2015,42(6):119-128.
[2]任国防.CBE教育模式对普通学科教育的启示[J].河南师范大学学报(哲学社会科学版),2012,39(5):217-219.
[3]胡永,王东,孙海霞.项目驱动在计算机基础实践课教学中的应用研究[J].甘肃科技,2014,30(13):70-72.
[4]叶伟.任务驱动教学在大学计算机基础教学中的改革与实践[J].湖北成人教育学院学报,2014,20(4):12-13.
[5]宋红军.任务驱动教学法和项目教学法在“Android开发技术”教学中的协作研究[J].科教文汇,2015(18):70-71.
[6]陈伟,刘军,谷凌雁.以案例驱动信息系统分析与设计课程教学[J].教育教学论坛,2015(18):152-153.
[7]王磊.案例——任务驱动教学在高职计算机基础教学中的应用[J].电脑编程技巧与维护,2014(20):134-135.
[8]刘瑜,李瑛,邢翠芳.概念图支持下的分层任务驱动教学法在计算机基础教学中的应用[J].计算机教育,2015(6):77-81.
[9]蒋琪.信息化教学模式下学生认知能力分析与研究[J].中国新通信,2013(24):13.
[10]郭淑婷.提高所有学生的元认知能力以保障高等远程教育的教学质量[J].中国远程教育(综合版),2014(12):28-34.
Research on Project Case Practice Teaching Method Based on Cognitive Curve
TANG Chenghua,ZHANG Ruixia,ZHANG Jing
(School of Computer Science and Information Security,Guilin University of Electronic Technology,Guilin 541004,China)
In view of the satisfaction problem of students'cognitive ability in the current project teaching method,based on the concept of the traditional knowledge network,the requirements and methods of encapsulating knowledge points by case is described.The cognitive abilities thinking is introduced,and the cognitive curve concept of learning programming is proposed in the case of computer science.The multi-cognitive stage and the practice method of the case teaching have been designed.,which provides a new way for the reform of teaching mode,and the cultivation of students'innovative spirit and practical ability.
project teaching method;innovation education;cognitive curve;case design
G642.0
A
10.3969/j.issn.1672-4550.2016.06.026
2015-07-27;修改日期:2015-10-12
广西高等教育本科教学改革工程项目(2015JGA219,2014JGZ117,2015JGA225);国家级示范性实验教学中心——桂林电子科技大学计算机实验教学中心教育教学改革项目(桂电教[2016]3号)。
唐成华(1974-),男,博士,副教授,主要从事计算机网络与信息安全方面的研究工作。