刘芳
摘 要: 阐述了项目驱动教学方法在C语言课程中的应用,深入探讨了该课程的教学方法设计、课程设置和考核评估等环节,提出了适合C语言课程的项目驱动教学方法,对于增强C语言课程的教学效果和提高学生的实践动手能力有一定的帮助。
关键词: 项目驱动; 教学方法; C语言课程; 设计理念; 教学考核
中图分类号:G642.0 文献标志码:A 文章编号:1006-8228(2017)06-96-03
Research on the application of project driven teaching method in C language course
Liu Fang
(Tibetan Information Technology Center of Tibet University, Tibet University, Lhasa, Tibet 850000, China)
Abstract: This paper elaborates the application of project driven teaching method in C language course, discusses the teaching method design, the course setting and the examination and estimation, and puts forward the project driven teaching method suitable for C language course, it is helpful to enhance the teaching effect of C language course and improve the practical ability of students.
Key words: project driven; teaching method; C language course; design concept; teaching evaluation
0 引言
项目驱动教学法是一种以学生为主,教师为辅的新型教学法,它将改变长期以来形成的教师“满堂灌”的传统教学理念,由教师引导并提出问题,学生自主思维、探究式学习,再提出问题并想办法解决问题。这种教学模式可以最大程度地提高每一位学生的参与度,使学生始终处于积极的学习状态,并通过运用已有的知识和获取新知识来提出方案,解决问题。
C语言程序设计是目前高等院校计算机类学生的必修专业课程,也是其他理工科院校的基础课程。C语言程序设计课程通过对基本C语言语法知识、面向过程的程序设计理念、程序设计的几种基本结构的讲解,使学生对计算机的程序设计有直观的认识和理解,形成程序设计的思维模式。其目标是让学生掌握C语言程序设计的基本方法和技巧,培养设计程序、调试程序和解决问题的能力。
1 C语言程序设计课程目前的教学现状和存在的问题
首先,C语言面向过程编程,却没有面向对象的编程语言那种可视化的界面,不能从感官上吸引学生[1]。在教学过程中,教师一般只注重该课程的基本知识点的讲解,缺少对学生认知能力的培养、学习兴趣的关注。
目前的C语言教学,一般都是采用“教室+机房”相结合的教学模式。在教室的理论课上,主要是教师对理论知识点讲解,缺少系统性和连贯性。在机房,学生基本都是完成老师布置的作业,练习知识点。这样的练习只能让学生熟悉本章节的知识点,不能锻炼学生举一反三的能力,严重限制了学生对知识点的扩展和延伸。这种传统的教学方法让学生觉得学习C语言没有多大的实用价值,不能将程序设计的思想和方法运用到实际的工程项目中,导致理论与实践脱节,使学生缺乏学习的兴趣和动力。很多学生在完成该课程的学习后,空有一堆理论,遇到问题并不能提出解决方案,更不能动手设计程序解决问题,这对以后的就业十分不利。
2 “项目驱动”教学法的设计理念
根据C语言课程的特点和实际应用,合理的将课程的所有知识点进行系统性和连贯性的分析,为本课程设置若干个典型的、操作性强的项目,每个项目又可以分成若干个任务,每个任务的完成过程则需要本课程的基础知识点为支撑[2]。如图1所示。
2.1 项目设置的要求
教师在对C语言项目的设置中,要充分考虑到学生的实际情况,根据学生的基础、教学的进度等尽量设置贴近生活的典型项目,本着从简单到复杂、从单一到综合的原则,选择常见、实用的项目,这样可以最大程度地调动学生的积极性和参与度[3]。在学生练习的过程中,教师还应根据学生的情况,对项目进行修改和拓展,在知识上层层递进。让学生在掌握各种知识点的过程中,逐步提高综合能力。
2.2 任务分割的要求
在项目驱动教法中,学生主要是通过完成各个任务来巩固基础知识和提高动手实践能力。在进行任务分割的过程中,教师要指导学生对项目进行深入的分析,把一个大的系统分解成若干个小的功能模块,确保每个模块之间要有联系点,最终形成一个完整的实用系统。学生在完成任务的过程中,首先需要针对任务要求提出问题,再分析问题,进行算法的设计和归纳,对用到的知识点进行学习和深入研究,最后再编程解决问题。对于每一个任务的完成,学生要及时地对编程技巧和语法知识进行总结,从中汲取好的经验和方法,对于存在的问题也做好及时的调整和修正。
2.3 基础知识点的理解和运用
所有基础知识点的理解和运用都是根据任务需要引出来的。学生在完成任务的过程中,需要对知识点充分理解,并能对各种知识点进行综合应用。教师还可以对各个人物进行拓展延伸,让学生用不同的思路和多种解法来解决同一个问题,强化学生的多重思维能力以及对知识点的理解和对语法的掌握,培养学生综合運用多个知识点解决问题的能力。
3 “项目驱动”教学法的考评方式
课程考核是检验学生学习效果、评价学生学习成绩的重要環节。传统教学方法的考核方式主要是看学生试卷考试的成绩,集中考核学生的理论知识点的掌握。这样的考核存在很多的弊端:理论知识熟悉的学生不一定会运用知识解决问题,动手实践能力强的学生对基础知识可能不是特别熟悉。因此,传统的考核方式不适用“项目驱动”教学法下学生的评价。
根据“项目驱动”教学法和C语言课程本身的特点,对学生的考核不能采用单一的理论试卷的答题成绩。学生的学习过程是动态和持续的,对学生的评价也应该是多元的,形成完整的注重过程考核、以考核程序设计为主的综合成绩评价体系[4]。通过加强程序设计能力考核,强调程序设计能力培养的重要性,引导学生把握重点,集中精力于程序设计。“项目驱动”教学法中学生的考核组成部分如图2所示,其中的自我学习能力主要是考核学生平时获取新知识的能力,包括学习的书籍、学习的进度、专注度和学习成果等。
[学生的考核成绩][平时上课表现][作业完成情况][动手实践能力][逻辑思维能力][自我学习能力]
图2 学生考核成绩组成图
4 “项目驱动”教学法的实例讲解
项目描述:在VC++6.0环境下设计并实现一个简易的图书管理系统。该系统目的是减少人力和管理费用,让图书管理员利用操作简便的图书管理系统,提高平台服务效率,提高图书信息处理的速度。
4.1 基本功能
⑴ 浏览功能——列出当前系统中所有图书的信息。可选定一项记录,显示所有域。
⑵ 插入功能——输入图书信息。进行新图书信息的入库,随时对图书系统进行充实。
⑶ 查询功能——在现有图书管理系统内,输入书名,查询输出本书相关的信息,以便让管理员了解系统中某些书籍是否存在,以及现有书籍的版本和基本信息。方便管理员能随时了解现有书籍的情况并及时更新,为读者提供更加优质的图书。
⑷ 删除功能——输入书名或书号,可将其信息删除。该功能主要是方便图书管理员及时将因为破损、下架或者版本陈旧等原因不能为读者提供借阅服务的图书从系统删除。
⑸ 统计功能——方便管理员能及时地统计现有图书的总价值,并在屏幕上输出。
⑹ 简洁友好的实用界面——在菜单中提供功能列表,不需要专业人士就能使用该系统。只要选择功能菜单,就能打开对应的界面进行操作。
4.2 拓展功能
⑴ 写入文件;
⑵ 读取文件。
在完成基本功能以后,还可以将以上主要模块的数据存储在文件中。让学生通过对文件的读、写等基本操作,实现系统的管理和更新。
对于以上项目,可以根据功能描述分成6个任务,分别为:菜单设计、添加、删除、查询、统计、文件的读写。
对于每个任务,学生需要综合运用到不同的知识点才能完成。比如高级语言程序的顺序、选择、循环控制结构,数组、结构体等数据结构,文件的读写操作等知识点。
5 结束语
教学的过程也是一种认识过程。教学过程是教师和学生共同参与完成、及时调整进度和教学方式方法的动态过程。
“项目驱动式”教学是一个复杂的教学系统,将该教学法运用到C语言程序设计课程中,需要具备多方面的综合因素,才能达到理想的效果[5]。为了保证好的教学效果,必须做到以下几点:第一,需要学生高度参与和积极自觉的心态,还需要学生有较强的自学能力和刻苦钻研的精神。在遇到问题时,学生能自觉自动的分析问题并寻求解决问题的方法,并具有较强的团队合作的意识。第二,学校尽可能地给学生提供实践机房和网络资源,让学生有足够多的机会自学和动手实践。第三,教师要根据学生的实际基础进行适当的项目设置,随时关注学生的进度和完成情况,并给予及时指导。因此,在运用该教学法的过程中,教师和学生都要及时地总结经验,扬长补短,逐步完善教学过程,才能取得预期的效果,为社会培养更多的技能型专业人才[6]。
参考文献(References):
[1] 何万敏,杨永安.高职程序设计语言教学改革的探讨[J].电脑
知识与技术,2005.36:208-209,211
[2] 代昀,许云雅.《PLC应用技术》课程一体化教学的探索与实
践[J].科技创新导报,2014.26:121
[3] 彭广威.基于项目任务驱动的《模具设计技能训练》教材开发
研究[J].模具制造,2014.9:93-96
[4] 郭自灿.高职学生“多元嵌入式”学习评价模式实践——以施
工图识读与会审课程学习评价为例[J]. 湖北职业技术学院学报,2009.3:19-22,52
[5] 谢晋.浅谈PBL融入面向对象程序设计的教学形式[J].计算
机光盘软件与应用,2014.18:201-203
[6] 叶健华,黎峰.“项目驱动+案例教学”模式在C语言教学中的
应用[J].济南职业学院学报,2009.3:18-20,23