以应用为导向程序设计实践课程教学模式的研究与探讨
2016-02-03孔宇彦邱珍珍
孔宇彦+邱珍珍
摘要:针对计算机专业应用人才培养目标,分析广州商学院以往C语言课程设计存在的问题,从教学模式、教学方法、实践内容和考核方式等多方面提出了一系列有针对性的改革方案,实施于程序设计实践课程。
关键词:应用型人才;实践教学;C语言
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)06-0165-02
一、引言
2010年,教育部启动了高校“卓越工程师教育培养计划”,该计划旨在促进高校培养高质量的应用型本科人才。2014年多位教育部官员提出“培养应用型人才是地方高校办学的首要使命和根本任务”。又进一步明确了地方本科、民办本科、新建本科及专升本等类型高校应以培养应用型高级人才为目标。综合我院及国内同类院校的实际情况,经过多次调研和讨论,我院计算机专业人才培养目标到的定位为应用型,人才培养模式为“厚基础,重实践”。
广州商学院计算机系将“C语言程序设计”作为大一新生接触的第一门程序设计类课程,以往为了巩固C语言的教学成果,提高学生的程序开发能力,在“C语言程序设计”教学结束后下个学期进行“C语言课程设计”,周期为一学期,学期初老师下达课程设计要求,学期中进行中期检查,学期末提交实验成果。由于老师实时的督促、学生之间不能及时反馈,到了学期末,很多学生以临时抱佛脚和应付的态度仓促地完成实践内容,根本无法提高自身项目设计及代码编写能力。针对以上问题,我院取消了“C语言程序设计”,为计算机专业学生开设了“程序设计实践”课程,每周2课时,共18周。此课程从教学模式、实践内容和考核方式等多方面促使学生能持续地、循序渐进进行项目开发及代码编写,从而促进其提高实践应用能力,并为将来学习软件工程、数据库原理与设计、软件测试等专业课做好铺垫。
二、以应用为导向制定教学模式
1.采用实践为主,讲授为辅的教学方式。学期初第1~3周,利用4~6个课时通过一个小的项目来复习和巩固在“C语言程序设计”中所学的词法、语法、算法。
学期第3~6周,再利用6~8个课时,演示一个项目开发的完整过程。演示过程中将项目开发中的选题、需求、设计、编码和测试等各阶段的主要任务、所需的技能点和知识点详细说明。
学期第7~18周,让学生自己完成实施一个独立的系统开发并组织演示答辩。在这个阶段,教师主要起到督促和引导的作用,每周学生需要提交阶段性的实验成果,每次上课,教师可以将演示较好实验成果及作品,起到鼓励和参照的作用,并讲解在实验成果中出现的普遍问题,起到及时修正和提醒的作用。课堂剩余时间,针对个别同学的问题,单独辅导,一对一的方式进行引导。
2.项目及任务细化教学法。“程序设计实践”课程采用实现项目的方式复习旧的知识点、讲解新的知识点,通过讲解实践“万年历”项目复习回顾C的数据类型、运算符、键盘输入和屏幕输入、选择控制结构、循环控制结构、函数、数组等知识点,接着通过讲解“小型员工工资管理系统”现实过程穿插讲授结构体、指针、文件等新的知识点。与常规逐一知识点讲解与练习不同,项目教学法以讲解系统开发的方式,将C语言各个知识点、技能点融合在系统,从而提高学生知识和技能点的综合应用能力。
项目教学法的一个弊端就是一般根据项目的规模,学生常常需要2~3周实现一个程序,需要2~3个月实现一个项目。如果教师只需要学生提交最终成果,很多学生就会在最后期限采取各种手段突击编写代码,不利于知识点及技能点的掌握。任务细化教学法,将一个项目分解成多个模块(包括基本功能和进阶功能),学生每周都需要提交其实践成果,在实践成果中必须注释每段代码的功能及编写时间,保证学生在一个过程化、循序渐进的方式巩固C语言各项知识点和技能点的实践。
三、以应用为导向设置课程的实践内容
1.实践内容具备开放性和项目性。课程的实践内容仅规定项目的规模、难易度、项目的功能要点及需要使用的知识点。学生可以根据自己兴趣进行选题和立项,促使学生投入更多的热情和信心进行开发。教师也可以提供一组项目题目及其需求,提供给无法立项的学生进行选择。
课程的实践内容要求学生独立完成一个系统的选题、需求、设计、编码和测试等各阶段任务,从而培养学生的项目设计与开发能力。
2.实践内容具有层次性和递进性。根据学生的开发能力具有层次性,为了更好地调动各层次学生的实践积极性,实践内容具备层次性,基础较薄弱的学生完成系统的主要功能,而基础较扎实的学生在完成系统主要功能前提下可以选择性额完成系统的进阶功能。实践内容不但包括C语言相关知识点,还对数据的增、删、查、改,实体性约束、参照性约束及完成性约束得以体现,为以后数据库设计课程学习做好准备。实践具体内容如表1所示。
四、以应用为导向制定课程的考核模式
课程的考核采用阶段式过程化、综合性评价、演示答辩及项目重构等多种相结合的考核方式,注重编程、测试、文档撰写、表达展现,项目重构的应用能力的考核。
1.阶段式过程化考核模式。学生每周需要提交实践成果,包括阶段性的功能说明书、程序代码和可执行文件,教师对每周的实践成果进行评分、评价,并将评分情况上传课程资源网,学生可以及时看到自己的成果的评分。连续3次或累计5次未按时提交实践成果的,取消其考试资格。阶段式过程化考核方式促使学生能每周按时、按量、按质完成实践内容,更好地掌握C语言各项技能点。
2.学生自评、同学互评及讲师评价相结合的考核模式。学期末,学生需要提交综合项目源代码、项目可执行文件、项目设计报告[其中包含项目需求、项目设计、项目测试(白盒)等内容]及自评报告。随机选择一位同学测试该学生程序为其撰写测试报告(黑盒)和互评报告。最后教师给出综合评分和评价。多种评价相结合的考核方式更客观各全面考核了学生的实践成果,学生也能初步掌握白盒及黑盒测试方式,为以后软件测试课程学习做好铺垫。
3.项目演示答辩考核模式。每个同学演示其系统使用和亮点功能,演示时间不超过5分钟,并由老师进行答辩评分。通过演示答辩的方式培养学生表达和展现的能力。
4.项目重构式上机考核模式。机考采取开卷的形式,学生可以携带自己的项目的源代码,机考试题为某个项目的需求及功能说明,试卷中的项目功能使用到的知识点和技能点与学生独立完成的综合项目中的类似,只是考试项目需求及功能不一样。学生在120分钟内,通过修改所携带的源代码来重构试卷上的项目,从而训练学生快速重构项目的应用能力。学生毕业后进入企业,企业会提供较成熟完善的系统或功能模块,应届毕业生只需要维护系统或根据需求重构类似的系统。机考评分表如表2所示。
五、结语
应用型本科人才培养是一项开创性、探索性的工作,必须要有与时俱进的精神,走特色化教育道路。作为计算机专业低年级第一门实践课程“程序设计实践”更需要在在课程设计、课程目标、课程实施、课程评价上坚持以“应用”为宗旨,培养学习实践能力。
参考文献:
[1]陈飞.用型本科教育课程调整与改革研究[D].华东师范大学,2014.
[2]张学林,陈齐超.项目教学法在/C语言课程设计中的研究与应用[J].实验技术与管理,2011,(8):164-167.
[3]胡洋,苏琳.应用型本科计算机专业模块化教学课程体系建设的实践[J].中国成人教育,2008,(3):142-143.