基于竞赛驱动的“C#程序设计”课程改革与实践
2020-05-11郭天一
郭天一,贾 林
(焦作师范高等专科学校 信息工程学院,河南 焦作 454000)
“C#程序设计”课程是我校计算机应用技术专业、软件专业、计算机网络专业、物联网技术应用专业的一门重要的编程类专业基础课。课程目标是培养学生使用.NET(微软操作平台)平台开发桌面及网络应用程序的能力,课程主要内容涉及C#语言基本语法、面向对象编程方法、Winform(Windows Form,Windows窗体)应用程序开发等。
高等职业教育是“以就业为导向,以应用为宗旨,以能力为本位”的一种高等教育类型,目标是培养实践能力强、具有良好职业道德、技术应用型人才[1]。但是,目前“C#程序设计”课程教学并不满足以上要求。为贯彻国家职业教育的方针,培养复合型人才,要注重学历教育与社会职业技能接轨。在课程改革中要结合全国职业院校技能大赛(高职组)—“物联网技术应用”赛项,探索“C#程序设计”课程改革的新模式,培养学生知行合一,理论应用于实践的能力。
一、“C#程序设计”课程教学的现状
在“C#程序设计”教学中大多数已经采用了项目化教学模式,极大地提高了学生的动手实践能力,但是还存在以下几个问题:(1)这些项目只是为了讲解某个知识点而编写的虚拟项目。就目前的应用层面而言,C#的应用开发方向主要是用于企业级的web开发[2],但是这些虚拟项目往往无法提供真实的硬件数据,一般是自己在代码里填写一个虚拟的数据。这会导致学生在学习完该课程之后,仅仅学习到了C#语言的语法,而对于一个项目中软件和硬件怎么配合,软件如何控制硬件执行操作并不清楚。(2) 教学中的实验项目是为完成某个知识点而设计的,针对性强,但是关联性弱,无法构成一个较完整的项目应用体系,学生通过学习之后缺乏完成一个整体项目的实践经验[3]。(3)高职学生的学习更倾向于动手操作。该课程目前的讲解多数局限于软件编程,没有涉及到硬件操作方面,导致学生的学习兴趣不高。(4)“C#程序设计”课程涉及的知识点多且抽象,如类、封装、继承、多态、接口等,理论性强,导致学生的畏学情绪严重。
二、基于竞赛驱动的课程改革方法
(一)“物联网技术应用”(高职组)赛项分析
“物联网技术应用”(高职组)赛项主要是检验学生在物联网组建、产品配置与应用、应用系统开发等方面的技术技能和职业素养。以某年河南省职业院校技能大赛高职组“物联网技术应用”赛项为例,竞赛主要通过对物联网工程应用实训系统的操作使用,检验学生对智慧城市、智能环境监控和智能商业等应用场景的掌握程度和应用能力。其中,物联网PC端应用开发主要基于.NET客户端进行,使用C#语言作为编程语言。
(二) 基于竞赛驱动的课程改革方法
WPF是微软新一代图形系统,运行在.NET Framework 3.0及以上版本,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。简单来说,WPF是桌面应用的一种UI(User Interface,用户界面)解决方案, 前台采用XAML(eXtensible Application Markup Language,可扩展应用程序标记语言)控制布局,后台可以采用C#、VB、C++等编程语言来响应控件的动作,相当于前台采用XAML编写控件,而控件的动作执行由后台的编程语言通过编写函数来实现。
基于此,可以在“C#程序设计”课程中增加WPF内容。在讲述了C#语言的基本语法之后,引入WPF相关的内容,借助物联网工程应用实训系统,可开发完成以下实训操作:LED(Light Emitting Diode,发光二极管)显示、实验室环境管理、人体红外感知、烟雾及火焰报警、智能路灯系统、视频监控等等。
(三) 基于竞赛驱动的课程改革方法实施
以实训项目“实验室环境管理”为例,来说明如何对“C#程序设计”课程进行改革。
“实验室环境管理”项目要求:(1)环境参数采集。该项目可以实时或者按照设置的时间来采集温度、湿度、光照度、噪声等实验室的环境参数。(2)预警提示。设置环境参数的预警提示。如当温度过高时,显示“温度提示:温度高,请采取降温措施!”提示语等。(3)安装执行器设备。当某个环境参数超过了设置的阈值之后,自动开启相应的执行器进行必要的处理。如当实验室内的光线较暗时,自动开启灯泡进行照明。
基于以上的要求,设计该项目的系统框图如图1所示:
图1 实验室环境管理项目的整体框
本项目的整体系统由传感器设备、数据采集器、无线网络、软件控制界面和执行器设备组成。其中,传感器设备代表各种各样的传感器(如:温湿度传感器等),负责采集实验室的环境参数有温度、湿度、光照度和噪声等;数据采集器代表数据采集集中器,传感器设备采集到的环境参数数据均汇聚于数据采集器处;无线网络指的是Wi-Fi无线网;软件控制界面指的是在计算机上利用WPF设计的环境管理软件;执行器设备指各种执行设备,包括风扇、灯泡和加湿器等。
在该系统中,利用IEEE802.15.4协议组建星型无线传感网,系统中各个传感器采集数据并将数据汇集到数据采集器。系统工作的时候,传感器自主加入无线传感网,周期性地采集各种环境参数,并发送至数据采集器,最终通过Wi-Fi无线网络传输至计算机上,并且在计算机的软件控制界面上显示、存储;同时,各类环境数据可设置预警阈值,当某种环境参数超过其对应的阈值时,系统软件会给出相应的提示,及时控制执行器设备采取对应措施[4]。
在该项目中,传感器、采集器、执行器属于硬件设备,需要在物联网工程应用实训平台上搭建;无线网络指实验室的Wi-Fi,需要通过路由器来设置;软件控制界面需要利用WPF在计算机上设计完成。
在项目实施的过程中,可以让学生3~5人组成一个项目小组,分工协作,共同完成任务。
综合分析项目的要求,实训项目“实验室环境管理”可按照以下步骤来实施:
(1)硬件搭建。包括各种传感器设备、数据采集器、路由器、执行器等。
(2)网络设置。利用路由器配置实验室的局域网环境。
(3)软件设计。软件控制界面的设计可利用WPF来完成。在Visual Studio 2012环境下,建立WPF工程,设计如图2所示的软件控制界面。在执行器设备处,仅列出了灯泡和风扇做演示说明。
利用该系统,在某时刻采集到的实验室的环境参数,如图3所示,图中可以看到,系统自动地采集环境参数,如:温度、湿度、光照度及噪声等,并将数据可靠传输到计算机的主控软件上进行显示和存储。从图中还可以看到,当前的温度为27.8℃,超过了设置的温度阈值,所以该界面上会显示温度提示“温度高,请采取措施降温!”并且自动开启风扇进行降温。当前光照度为100lux,光线较暗,系统自动打开灯泡,同时在软件界面上点亮灯泡。
图2 实验室环境参数监测的软件界面
图3 某时刻实验室采集到的环境参数图
(四)实践效果
对“C#程序设计”课程进行了以上改革之后,效果显著,体现在以下几个方面:(1)学生的学习兴趣极大地提高,积极主动地学习相关的软件和硬件知识,实现由传统的“教师教、学生被动学”转变为“学生主动学、教师辅导”的模式;(2)增加了学习的自信心和成就感,每设计完成一个项目,看到实验的效果如预期所示,学生会产生极大的满足感;(3)为学校参加后续的“物联网技术应用”比赛打下了良好的基础,培养了更多的后备人才;(4)提高了学生的实践动手能力,达到了理论知识和实践操作相结合的目的。
(五)考核方式改革
目前我校“C#程序设计”课程的考核方式采用“平时成绩+期末考试成绩”的方式,其中平时成绩包括出勤率、课堂表现、课后作业等,在总分中占20%,期末考试成绩以期末考试的机试成绩为主,占总分的80%。这种考核方式忽视了学生在学习过程中的表现,不能客观地评价学生的学习效果。因此,对“C#程序设计”课程进行教学改革时,需要对考核方式也进行改革,基本的思路是增加过程性考核,增加实训项目完成度的分值。实训项目的执行以及评分方式包括以下几个方面:(1)学生3~5人组成一个小组,选出一名组长,以小组的形式,分工合作来完成实训项目。(2)在LED显示、实验室环境管理、人体红外感知、烟雾及火焰报警、智能路灯系统、视频监控等实训项目中,根据本组成员的实际情况选择一种作为实训项目。每个项目的难易程度不同,在评分时会作为考虑点。(3)学期末,由每组组长对本组的实训项目进行阐述,并演示实验过程及效果,提交项目中涉及的文档和程序代码,由教师以及其他组的学生进行评分。其中,文档及代码等资料齐全占分值的10%,教师评分占60%,其他组评分的平均分占30%。实训成绩计入期末总成绩。
基于以上的思路和设计,改革以后的考核方式如表1所示:
表1 改革后的考核方式
三、结论
总结目前“C#程序设计”课程教学中存在的问题,在国家职业教育要求培养复合型人才的背景下,提出了基于竞赛驱动的“C#程序设计”课程改革,并应用于课程教学中。实践表明,基于竞赛驱动的“C#程序设计”课程教学模式,极大地提高了学生的实践能力和学习兴趣,实训项目采用的小组合作模式也锻炼了学生团队协作的能力,同时这种新模式的课程教学也增强了教师的教学能力。