以竞赛为驱动的计算机专业教学方法探讨

2017-02-27 03:11芦立华王淮亭胡国燕潘晓蕾
软件 2017年1期
关键词:用电量计算机专业竞赛

芦立华,王淮亭,胡国燕,潘晓蕾

(上海电机学院 电子信息学院,上海 201306)

以竞赛为驱动的计算机专业教学方法探讨

芦立华,王淮亭,胡国燕,潘晓蕾

(上海电机学院 电子信息学院,上海 201306)

针对传统教育对计算机专业学生的应用能力的培养存在的问题,分析相关计算机竞赛对于传统教学方式的益处,提出大学生参加竞赛有利于提高学生对问题的分析解决能力,增强综合素质,培养良好的学习兴趣和团队协作意识,为学生未来的职业规划提供一定的引导作用的观点。

计算机专业;竞赛;传统教育;综合素质培养;团队意识

本文著录格式:芦立华,王淮亭,胡国燕,等. 以竞赛为驱动的计算机专业教学方法探讨[J]. 软件,2017,38(1):58-64

0 引言

信息时代的迅猛发展使得计算机专业俨然成了专业中的后起之秀,由于计算机类教育问题具有的实践性强、内容更新快等特点,不断的促使人们去思考如何更新教学形式以提高教学效果。传统的教学模式虽然不断改革以适应需要,但是偏向于基础知识的灌输,缺乏有效的、切合实际应用的操作,对学生综合能力的提升仍然存在较大的局限性。

随着高校和企业之间交流的不断深入,各种依托于实际问题的大学生比赛平台越来越多,计算机专业学生通过参加相关类竞赛能进行与实际有一定关联的实践活动,帮助学生更好的消化日常所学的基础知识,了解如何将其运用到实际操作中去。解决竞赛问题考验的不仅仅是学生所掌握知识的多少,更在于学生的创新联系思维,对新知识的吸收和掌握速度,团队协作意识等综合素质。这些良好的综合素质正是现今人才市场的招聘需求。CCF大数据与计算机智能大赛是由中国计算机学会主办的创新大型赛事。大赛提供了大数据问题众筹、数据众包、人才众创的新模式以及开放式创新创业平台,为社会输出了大量高质量的大数据人才,极大的推动了大数据技术及产业生态发展[1]。本文就以带学生参加2016年度CCF竞赛的感悟为主,阐述以竞赛为驱动的计算机专业教学方法。

1 传统教学模式分析

1.1 传统的教学模式重理论,轻实践

传统的计算机类教学模式以理论教学为主,缺乏对实践教学的重视。在这种情况下,学生实际操作能力的训练受到了一定的限制,不能有效的将理论知识消化。

1.2 传统的教学模式较为形式化

在学习一定的理论知识后进行相应的代码实践,虽然有助于理解课上的理论知识,但以报告的形势上交,容易本末倒置,使学生的大多精力放于报告上,而缺乏对于实践的探索,失去实践课的原本意图。

1.3 传统的教学模式与实际关联性不强

在不断的改进下,学生的动手能力虽有一定提高和改善,但实验多属于验证性实验,且难度不高。例如算法中的各类排序方法,堆、栈、队列等,学生停滞于课本上的理论知识,理解浅显。进一步地,在这种教学模式下,学生的动手能力过于机械,对于多种问题的解决方案应用不够灵活,且难以结合实际。长期采用此种教育模式易降低学生对学习的趣味性,且对于未来的方向性感到困惑和茫然,不利于社会对计算机专业应用型人才的培养。

2 以竞赛为驱动的教育模式

以竞赛为驱动的教学模式较好的弥补了传统教学模式的缺陷[2-3]。大多竞赛都会以生活中的实际情况为背景并提供相关研究数据,不限范围和方法地鼓励学生采用各种方式完成题目所需要求,这在一定程度上增强了学习的趣味性和挑战性,且使学生能够更好地扩散思维。而且,完成题目的过程中单靠已有的知识体系,个人能力往往不够,这同时促进了学生的学习能力,团队协作意识等等。这对于现今的人才需求都是必不可少的综合素质,也是各企业渴望录用的招聘指标。

3 学生参加2016年CCF大赛过程

3.1 前期准备

队伍组成后,考虑到学生已有的知识层次且没有过多的接触过复杂数据分析方面的问题,经过多次的开会讨论,在候选的11道题目中选择了“客户用电异常分析”一题。该题主要是对数值型数据进行分析,不涉及文本和图片等复杂的处理,一定程度上降低了问题的难度,对于大学三年级的学生较为适合。

本题要求:根据训练集中的用户用电量数据与窃电用户清单,建立用户用电异常行为分析模型,对测试集中的所有用户进行窃电可能性判断,并给出测试集用户窃电可能性排序。

3.2 比赛历程

3.2.1 数据集的解读

数据集的构成如表1所示。

表1 数据集Tab.1 Dataset

3.2.2 数据预处理

经过第一轮的讨论,为了方便数据的分析,首先进行了简单的数据处理,即将训练集和测试集中每个用户每天的用电量整合到一张Excel表格中。如图1到图2的转换。

图1 每个用户每天的用电量Fig.1 Electricity consumption of one person and one day

图2 每个用户365天的用电量Fig.2 Electricity consumption of one person and 365 days

3.2.3 构建模型的思路

为了更好地对窃电用户进行用电量的数据分析,将训练集中用户按用电量分为高用电量用户、普通用电量用户和低用电量用户。在Excel中分别对各层次阶段的用户绘制其用电量图,找出用电量曲线波动异常的用户,通过确认窃电用户清单来核证该用户是否为窃电用户。得到一定的数据证明后,依此验证测试集中的用户,思路分析如图3所示。

3.2.4 Excel数据分析处理

针对已有的思路,首先使用最熟悉的Excel工具来实现数据分析。图4为部分用户一年中日用电量的变化曲线图,其中对部分曲线升降异常用户抽取分析如图4所示。

上述分析方法在大量的数据处理以后缺陷暴露无遗,如图5所示。大多数异常曲线在经过窃电用户清单核实后发现,为不确定窃电用户的可能性更多,否定了之前的猜想。

为了更好地观察窃电者用户一年中的日用电量变化曲线,通过Excel的VLOOKUP()函数将训练集中的窃电者用户标记出来,再筛选后留下确定窃电者,将其日用电量绘制曲线图,如图6所示。

图3 构建模型思路分析流程图Fig.3 Flow char of constructing model

图4 部分用户一年中的日用电量变化曲线图-1Fig.4 Electricity consumption curve of part of the users’ daily-1 in the whole year

图5 部分用户一年中的日用电量变化曲线图-2Fig.5 Electricity consumption curve of part of the users’ daily-2 in the whole year

图6 窃电者用户一年中日用电量变化曲线图Fig.6 Electricity consumption curve of users of power theft in the whole year

据图6容易观察,确定为窃电者的日用电量曲线并不像之前想的那样起伏很明显,反而很多用户的曲线近乎于平稳状态。至此,认识到仅用Excel进行简单的数据处理和绘图,对于窃电者的分类几乎没有用处。在紧急的讨论之下,决定改变方针策略,开始使用分类里一个重要的工具:weka[4-7]。

3.2.5 weka数据分析处理

在紧张的比赛周期中,大家一致讨论决定花时间来研究weka工具。通过分模块学习和了解后,学生对weka工具有了一定的了解,并决定主要用探索者界面的预处理和分类两个小版块。

为了尽快找到适合本次参赛题目的分类器和相关算法,首先对weka自身的data数据包里的相关数据进行了大量分析和研讨。在不断的筛选后,发现其中的鸢尾花数据和窃电者数据有一定的相似度。由此仿照鸢尾花的分类方法进行了数据的第一次机器分类。

weka数据分类流程图具体如下图7所示。

图7 weka数据分类流程图Fig.7 Classificaton flow chart of Weka dataset

首先,在分类之前,预处理阶段采用无监督过滤器对数据的属性进行过滤,将用户ID、窃电者的0、1判断均由数值型改为标称型。然后选择J48分类算法对用户训练集进行分类。令人惊喜的是分类正确的实例百分比达到90%以上,于是添加测试集,进行窃电预测,并按照预测的分类概率进行窃电可能性排序,得到我们的第一份排序结果。线上提交后所得排名如图8所示。

图8 J48分类器分类结果成绩截图Fig.8 Screenshot of classification results of J48

在多次的分类器试验后,成绩得到了进一步的提升,如图9所示,是选择Part分类器后得到的成绩。

图9 Part分类器分类结果成绩截图Fig.9 Screenshot of classification results of Part

通过观察Part分类器分类后的数据发现,被判断为窃电者用户的大多数为缺失值较多的用户,如图10所示。而分析训练集中缺失值较多的用户可发现,缺失值多的用户大多为不确定窃电可能性的,而非窃电者用户。

受该情况的启发,将Part结果中判定为窃电的用户逆序,使缺失值多的用户尽量排在窃电与不确定窃电之间,从而得到Part部分逆序的结果。事实证明,此种分析是有一定效果的。线上提交成绩如图11所示,对比Part结果有一定的提高。

在不断尝试分类器的同时,学生对数据的处理也做了一些尝试。例如:对缺失值进行平均值填充、0值填充,删去对数据影响不大的用户实例、缺失值严重的用户实例、对数据影响不大的属性等,达到降维的效果。多次提交结果如图12所示。

为了得知预测窃电的准确性,学生还将测试集的数据进行分类处理建模,从而验证训练集的窃电者用户是否准确,结果如图13所示。从图中可观察,训练集中对窃电者的判断相异的有750名用户,对未知窃电用户的判断相异的有676名用户。其中训练集本身窃电用户1394名,未知窃电用户8563名,用测试集结果反测训练集中,预测未知窃电的用户有8636名,预测窃电的用户有1320名。

综上,此预测有一定的准确性,不过对于窃电者用户的判断不准确。

图10 Part分类结果部分截图Fig.10 Screenshot of part results of Part classifier

图11 Part部分逆序分类结果成绩截图Fig.11 Scores screenshot of reverse classification results of Part classifier

图12 多种方法提交结果Fig.12 Submitted results of various methods

图13 反测试数据分析Fig.13 Anti-test data analysis

3.3 比赛结果

本次比赛参与本赛题的共有888支队伍,学生队伍最后的提交成绩正确率为0.45476,排于275名,如图14所示。

图14 竞赛结果Fig.14 Competition result

4 通过竞赛对比两种教育模式

4.1 提升了学生解决问题的能力

竞赛中所遇到的问题属于复杂问题,要求的知识远远超出本科教育的学习范围。在竞赛过程中,重点引导和培养学生解决问题的能力,遇到问题不放弃。首先引导学生使用能想到的所有方法来解决问题,在不能很好处理问题的情况下,再一步引入新的学习内容。本次竞赛为学生引入了weka[7],一个能对数据进行预处理,分类,回归、聚类等功能的数据挖掘工具。在weka的学习使用过程中,学生研究讨论weka中内置的各类数据集,找到与竞赛相似的数据集后,研究对应的分类算法和相关的GUI界面使用,找到解决问题的相关途径和方法,并在不断地试验中得到进步和提高,掌握了更多更好解决问题的方法。

4.2 增强了学生的学习能力和兴趣

传统本科教学模式下,学生从课堂上获得的知识点是零散的,学生很难将理论知识点和实际问题联系,而以竞赛为驱动的方法对学生的知识体系要求较高,涵盖的外延性知识也很广泛。通过对更深层次问题的探索,可以激发学生的学习热情。众所周知,学习趣味性是催化剂,它能使学生充分发挥学习的主动性,增强学习的信心,开拓他们的思维。

由于本次竞赛所选题目主要是针对数值型数据进行处理,在传统教育模式下,以学生现有的知识体系,优先想到的就是Excel工具。在参赛过程中,学生对于Excel的功能有了更多的掌握和了解,如:VLOOKUP()函数(按列查找,最终返回该列所需查询列序所对应的值),COUNTIF()函数(对指定区域中符合指定条件的单元格计数的一个函数)等。局限于传统教学的课时,上述方法可能没有涉及到。

在现有知识无法解决问题的情况下,促进了参赛学生寻找其他方法来解决。通过预备知识的学习,考虑到weka中涉及大量的算法,有可能解决竞赛过程中遇到的难点,因此按算法功能分配学习任务。在此过程中,提高了他们分析问题和解决问题的能力,同时激发了对学习的兴趣。

4.3 提升了学生团队协作能力

传统的教学模式,由于涉及的知识点有限,工作量不是特别大,通常要求学生独立完成相关理论和实验内容。但是在参赛过程中,囊括的内容较多,不是一个人的能力所能完成的。因此就促使大家分解任务,分头思考,各自完成份内的子任务。通过多次的讨论,集思广益,最后确定一个较为完善的解决方案。在此过程中,突破了传统教学模式个人思维的局限性,有利于学生发散思维,从不同的方向和角度观察解决问题。同时,有些难以依靠个人能力解决的问题,在团队合作中体现的尤为重要,让学生体验到团队合作的重要性。这在一定程度上,强化了团队队员间合作意识,为培养学生未来踏入工作岗位,协同完成复杂工作提供了积累和保障。

4.4 促进学生尽早找到专业的方向性

传统的教学模式主要针对学生知识点的掌握和应用,局限于课本上的练习题和相关训练,不能促进学生更好的接触更多超出自身学习范围的知识。专业课的授课安排往往放在大三到大四上学期,学生在短期内集中学习多项专业课,且需在此过程中找到未来发展方向实在是过于紧促,甚至有些学生临近毕业仍然困惑于未来的方向性。适时的参加竞赛有利于学生在竞赛中提前接触未学到的知识,让学生对相关专业的多方向有所了解,尽早选择感兴趣的方向并为之钻研。

本次竞赛的学生因参赛了解到大数据以及相关的知识和实用工具。部分感兴趣的学生在比赛过后仍然在此方向上主动自觉的开展研究,并针对相关的职位需求继续努力,为以后的方向打下扎实的基础。

如图15为某单位的招聘需求,由该企业的职位要求可知,本次的CCF大赛对于学生找到专业的方向性有极大的推动作用。竞赛过程中,学生通过接触相关数据并对其分析和处理,整个过程涉及对海量数据的建模,体现了良好的逻辑能力,团队合作意识和较强的沟通能力等综合素质。

图15 某单位招聘信息Fig.15 Recruitment information of some company

4.5 培养学生阅读英文文档的能力

目前,传统的教学模式大多采用中文教科书作为教材,而在计算机领域英文原版书内容较之中文教材更加新颖和前沿。在参赛过程中,通过对weka相关英文文档[6]进行研读,增强了学生对英文相关资料的查找、阅读和应用的能力,对未来解决相关问题起到了辅助的作用。

5 结语

传统的计算机教学模式以理论教学为主,缺乏实践,且实践形式单一,深度不足,难以培养学生解决实际问题的能力[8]。依托于实际问题的大学生竞赛赛题大都是以实际生活应用为背景,通过对题目背景的了解,判断该题目从属于哪一种类型的问题以及该类型的问题可以通过哪些方法解决,并对比不同的解决方法,得出最适合本题目环境的解决方案。竞赛过程中,学生通过将日常所学的基础知识得以实践,增加了对学习的浓厚兴趣,培养了实际动手能力。进一步地,他们能梳理已有的知识体系,通过和老师的交流,寻找解决实际问题的新方法,丰富相关的知识结构。在整个此竞赛过程中,尝试让本科学生接触并掌握了一些数据挖掘和机器学习等研究生才会接触到的内容,在解决实际问题过程中找到高出本科生知识领域的更多解决问题的方法、途径和策略,开阔了他们的眼界,拓展了解决实际问题的思路。此外,通过竞赛学生更能尽早地找到职业规划的方向,有利于学生未来职业的发展。总之,以竞赛为驱动的学习方式促进了学生对于学习的动力[9],提升学习效率,能够更好地将日常学习的知识与实际实践相结合,增强综合素质,对分析问题、解决问题的能力有很大程度的提高。有望在未来的教学改革中进一步普及。

[1] http://www.wid.org.cn/data/science/player/news/detail/22.

[2] 韩忠愿. 以竞赛促进大学生的专业与职业衔接—中国大学生计算机设计大赛的特点与意义[J]. 计算机教育,2015, 12(3): 26-29.

[3] 袁国武, 赵杨, 赵征鹏, 杨泽榆. 依托程序设计竞赛,提高计算机专业学生培养质量[J]. 计算机教育, 2009(15): 104-106.

[4] 数据挖掘与机器学习WEKA应用技术与实践. 袁梅宇. 清华大学出版社.

[5] 史尤昭. 数据挖掘技术研究与应用[J]. 软件, 2015, 36(11): 38-42.

[6] 数据挖掘使用机器学习工具与技术. Ian H. Witten, Eibe Frank, Mark A. Hall. 机械工业出版社.

[7] http://weka.wikispaces.com/.

[8] 贺宁, 汤明伟, 贺萌. 大数据课程在高职学院中的建设和发展[J]. 软件, 2015, 36(10): 50-52.

[9] 陈晨, 隋雪莉. 计算机基础分层教学和任务驱动教学方法的探究[J]. 软件, 2015, 36(8): 41-43.

Discussion on the Teaching Method of Computer Specialty Based on Competition

LU Li-hua, WANG Huai-ting, HU Guo-yan, PAN Xiao-lei

(Shanghai Dianji University (Shanghai) School of Electronic Information Engineering, Shanghai 201306, China)

Aiming at the existing problem of training application ability of the traditional education on computer major students, the paper firstly analyzes the benefits associated with computer competition for the traditional teaching mode. And then it proposes that through participating in the competition the comprehensive quality of students can be improved including analyzing and solving the problems, cultivating good learning interest and awareness of team cooperation. Furthermore, it will provide certain guidance for the students in the future occupation planning.

Computer major; Competition; Traditional education; Comprehensive quality cultivating; Team cooperation

G642

A

10.3969/j.issn.1003-6970.2017.01.013

上海电机学院软件工程专业学生创新能力提升(A1-5701-16-008-03-11)

芦立华,女,博士,讲师,研究方向为数据集成,数据融合和调度模型优化。王淮亭,男,(1960-),副教授,主要研究方向:计算机人才培养、软件工程人才培养;胡国燕,女,(1995-),大三学生,软件工程专业;潘晓蕾,女,(1996-),大三学生,软件工程专业

猜你喜欢
用电量计算机专业竞赛
02 国家能源局:1~7月全社会用电量同比增长3.4%
01 国家能源局:3月份全社会用电量同比增长3.5%
2020丝绸之路数学竞赛
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
1~10月全社会用电量累计56552亿千瓦时同比增长8.7%
我看竞赛
职业高中计算机专业教学改革浅析
2014年全社会用电量
非计算机专业C语言教学探讨
新形势下技校计算机专业人才培养探讨