“C#程序设计”课程设计教学中的几点实践
2015-08-15闫丽
闫 丽
(黑龙江八一农垦大学信息技术学院,黑龙江 大庆163319)
课程设计是一个多义词,可以指“为掌握某一课程内容所进行的设计”,称作“课程实习”[1-2],大学的计算机专业学生开设《C#程序设计》的课程设计要求学生独立完成一项涉及本课程主要内容的综合性、应用性的计算机程序开发题目;课程设计的另一个含义是有目的、有计划、有结构的产生教学计划、教学大纲以及教科书等系统化活动,也称作“课程开发”[3]。C#编程语言的教学目标要求理论与实践相结合,各高校为这门课程安排实践环节(包括课程实验和课程设计),以巩固理论课程的教学成果,并进一步培养学生的创新能力[4-5]。根据各自学校的目标学生层次和课程特点,每个学校都有自己的成功经验[6-7]。
目前,结合我校学生的实际情况,及计算机编程语言课程的学习要点,选择难度适中的设计内容,在巩固现有的知识结构的基础上,也为学生提供了自主学习的空间及时间,合理安排课程设计的时间,选择科学公正的考核评价方式。
1 课程特点和学生层次
C#是一种面向对象的编程语言,为.NET平台程序开发提供快速解决方案,C#可支持开发控制台应用程序,Windows应用程序和Web应用程序。学生的学习能力与学习兴趣、主动性直接关联,通过前期理论课程的教学,已经对大部分学生的学习情况、学习兴趣有了一定的了解,有些学生喜欢生动有趣、画面丰富的内容,例如,基于B/S结构的.net网站设计;有的学生更善于掌握有规则的内容,例如,基于C/S结构的管理信息系统;也有一部分同学对嵌入式系统开发有兴趣,开发上位机软件一方面接收、显示硬件采集的数据,同时编程反过来控制硬件设备。
2 选题
《C#程序设计》内容涉及范围广泛,选题应立足于课程实践,兼顾学生的兴趣、社会的需要和知识体系,以解决实际问题为指向。对于学生来说,不应要求学生全面掌握所有内容,可结合学生的学习兴趣,设计一些与学习内容相关又具有实际意义的题目,供学生自主选择。课程设计的题目在内容上一定要丰富、新颖,特别注意难度适中,不能让学生可以轻易在网上直接查找到完整的源代码,然而也不能难度过大,让学生觉得束手无策,一点可学习、借鉴的知识都查不到。因此,选题来源上,主要采用以下两种方式。
方式一:汇集指导教师主持或参与过的横、纵向课题作为选题,我校具有农业背景,为现代化农业服务,横向课题以各个农场的实际项目为主,为农场高效生产、科学管理搭建信息化平台,例如,温室大棚监控、党建管理系统、田间灌溉系统等,纵向课题包括厅局级科研项目,省、国家级自然基金项目,例如,奶制品溯源管理、育秧棚植株苗间监控、母猪发情行为采集系统等;
方式二:来自往年大学生创新项目,如智能牛舍监控系统、仔猪饮水量管理系统等。
选题时一定注意控制设计的工作量,明确训练的核心内容,并将题目及时下发。
3 创新能力的培养
能力培养是一个长期漫长的、渐进的过程,利用课程设计一、两周时间,培养学生的创新能力几乎是不可能实现的事情,这里只将C#课程设计视为其中一个环节,作为对创新能力培养的一次尝试和探索。不同的需求,设计出的程序具有不同的表现形式,需要学生展现其创造力,学生可以设计出赏心悦目的界面、实用的功能按钮、功能封装的自定义函数,编写数据库操作的触发器和存储过程,及下位机的读写命令等等。凡是学生想要做的,就鼓励其大胆尝试,并配以指导教师,解决技术上的瓶颈问题,即使尝试失败了,也要求学生自己找出问题,总结教训,失败是为下次成功做最好的积累。
4 时间安排和考核方式
课程设计的时间通常安排在理论课程之后,将理论与实践相结合,有助于学生理解和掌握。课程设计的题目多源自于实际项目,学生对于实际项目的需求和设计目标缺乏感性认识,盲目开始设计,会多走弯路,影响设计的时间进度。因此,在课程设计正式开始前,学生需要必要的准备工作,包括基础知识储备和项目需求储备。基础知识储备在《C#程序设计》的理论课程及其前续课程中已讲授;对学生而言,大部分实际项目已经超出了他们的眼界,因此,花费时间,深入了解整个实际项目流程非常必要,步骤为:首先,为学生提供每个项目负责教师的联系方式,要求学生自己主动沟通,了解课题的实际需求;其次,在指导教师的监督下,已了解需求的学生向其它学生表述项目需求的核心内容,通过学生的表述及其他学生的理解情况,评估每位学生的理解能力、沟通能力及语言表达能力;最后,要求学生在开展设计前提交项目的总体设计方案。前期准备就绪,正式进入实际操作环节,指导教师在该环节中,应多听少讲,主要负责科学评价和必要的技术指导。
实践环节的考核,其方式和评分方法要实现公平、公开和公正是相当有难度的。通常在掌握学生基本编程能力的基础上,对其系统功能的实现进行考量,额外增加其创新部分的奖励。目前采用的考核为“三道基础问题的上机操作+系统汇报”结合的方式,尽管这种做法,教师和学生都需要付出更多的时间和精力。
此方法已在我校《C#程序设计》课程设计中连续实验了4轮,每个学期选择一个实验班和参照班,学生人数和层次大致相近,共8个班级的学生成绩。从成绩分析,实验班学生的平均成绩为80.71比参照班的平均成绩高5分,其中优秀等级(90~100)的总人数多于参照班,课程设计的题目类型覆盖面广,学生按照自己的兴趣及需要选择题目,并且在掌握了需求的基础上开始设计,因此成绩相对理想。实验总体效果表明,对学生学习和能力培养具有一定的促进作用。
5 结论
本文利用计算机专业课程设计结合农业特色背景,从选题出发,对创新能力培养、时间安排和考核方式方面进行了调整,并开展了多轮实践,从成绩比较结果表明,此方法有助于培养学生的学习兴趣,选题模拟实际项目,学生掌握实际编程能力,有益于缩短参与企业项目的对接时间。
[1]于海波,孟凡丽.课程设计研究20年:回顾与前瞻[J].基础教育研究,2002(Z2):10-13.
[2]陆正球.基于建构主义理论的C课程设计教学研究[J].中小企业管理与科技,2010(2):149-150.
[3]姜大源.论高等职业教育课程的系统化设计:关于工作过程系统化课程开发的解读[J].中国高教研究,2009(4):66-70.
[4]余秋明,陈瓅.C#课程教学探讨[J].电脑知识与技术,2012,8(29):7051-7052,7058.
[5]李俊.CDIO教学模式下C#课程教学模式的研究[J].牡丹江大学学报,2012,21(12):170,173.
[6]邓建新.C#课程一体化多层次问题引导式教学方法[J].计算机教育,2014(11):68-71.
[7]谢霞冰,陈晓峰,袁红春,等.NET版本演变引起的C#课程教学问题与对策[J].计算机教育,2012(1):92-93,104.