强化实践学习提高程序设计类课程的教学质量

2018-12-22 10:55李海荣
电脑知识与技术 2018年32期
关键词:程序设计实践教学

摘要:程序设计课程是高校的一门必修课,其重要性不言而喻,而实践是学好该课程的不二选择,只有多动手编程,才能达到熟练掌握并应用的目的。在强化实践、强调动手方面,我校做了一系列的改革,包括教学技术、教学方法、教学手段、实践平台等,激发了学生的学习兴趣,取得了很好的教学效果。

关键词 :程序设计;实践;教学

中图分类号:G433 文献标识码:B 文章编号:1009-3044(2018)32-0146-03

众所周知,程序设计类课程具有综合性和实践性等特点。只有多上机,多动手,在不断地尝试中才能把课程内容全部消化、接收,进而达到运用自如的程度,也才能真正掌握程序设计的思想与方法。目前,众多高校普遍存在着学生深陷语法而编不出程序的现状。鉴于此,强化实践教学就成为改进计算机程序设计类课程教学质量的途径与方向。为此,我校采取了以下做法,并取得了较好的教学效果,希望能为同行提供借鉴与参考。

1 教学模式的改进之将上课地点由教室改在机房

传统的程序设计课程,采用的教学模式一般都是先由教师在教室讲授理论课,然后安排实验教学,老师在机房进行辅导。这样做的弊端是,听课与上机练习之间存在时间差,学生课上即便全部听懂、理解了,但上实验课时,也需要重新复习,才能再上手编写程序,从而致使课堂教学效果不尽理想,同时也无法突出对学生实践能力的培养。基于这种考虑,我校将非计算机专业学生的程序设计课程,包括《C语言程序设计》《Visual Basic程序设计》《Python程序設计》及《计算机文化基础》等课程,全部都安排在了机房授课,每个学生有一台计算机,并安装了“教学控制软件”来辅助教学,其核心功能有:屏幕广播、收取作业、示范教学等等。首先,教师在教师机上利用广播教学进行内容的讲授。需要学生练习时,采用练习模式,将学生机的控制权交还给学生。这样,学生能够根据教师的讲解,立刻动手进行程序的编写,此时,教师可以进行辅导,并观察学生的掌握情况,见图1。大部分学生编写完后,教师就可以有针对性地进行纠正、点评。这样的好处是能够让学生及时练习所学习的内容,“趁热打铁”,提高学习效率,收到很好的学习效果。并且,针对不同掌握程度的学生,基于所讲例题,教师可以抛出不同难度的要求,以满足不同学生的学习情况。

2 教学方法的改进之推行项目式教学

为了提高学生学习兴趣与积极性,推行项目式教学[1]。即:将课程的教学内容分解在一个完整、难度适中的项目中,随着项目的逐步推进,教学内容也逐步完成。项目式教学能够把理论教学与实践教学有机地结合起来,在应用中讲解理论知识点,将理论知识融合在实践——即项目的完成中。

学生通过项目的完成,能够了解并把握课程的整体架构及每个环节所需要的知识,有效地避免了知识点的割裂感。教师由“主角”转变为“配角”,同时强调小组的协作,培养学生团结合作的能力。如《Visual FoxPro程序设计》以完成一个完整的“学生成绩管理系统”为例,将内容分解为:登录界面的设计、增删改界面的设计、查询界面的设计,菜单与报表等六大部分(见图2)。学生逐步完成每一部分,结课时,就能完成一个自己设计的、完整的管理系统,学生获得一种很强的习得感和成就感。

我校实行“项目式”教学已有三年了。三年期间,不断改进考核方式、调整教学内容,最终形成了完善的项目式教学体系,被列为四大“校级重点教改项目”之一,并入选内蒙古自治区高等学校教学改革项目。

3 教学手段的改进之推行基于SPOC的混合式教学

SPOC(Small Private Online Course 即小规模限制性在线课程),最早由美国加州大学伯克利分校的Armando Fox教授提出。我校进行了基于SPOC的混合式教学模式的推进[2][3],实现线上线下结合、课内课外互补的混合式教学,为学生“随时上课”提供保障。

混合式教学对教师的要求较高,一方面需要教师掌握混合式教学理念,不能为了混合而混合。另一方面,需要教师对教学有清晰的规划与把控,要事先设计好资源(包括导学单、课件、微视频、讨论、作业)与活动,并要随时关注学生的线上与线下学习情况,及时进行指导与分析。

为此,我校引进了清华大学的优慕课平台作为混合式教学的支持系统。图3所示为某门程序设计课程的建设平台。其中,教师可以布置课前或者课后作业,检验学生的学习效果,查看学生的学习记录(包括在线时长、视频的学习时间),组建讨论小组,并根据学生的各项完成情况给出分数,计入期末成绩等。

经过一年的使用,证明混合式教学模式能够充分利用线上、线下多时空资源,为学生提供更加灵活的学习途径与时间,激发学习兴趣,提高教学活动的参与度,从而大幅增加学生对教学的满意度。

4 教学平台的改进之构建实践操作平台

程序设计课程是实践性很强的课程,学习并掌握它需要进行相当数量且有针对性的综合性训练。为了便于学生练习,我校开发了多套辅助教学系统,成为学生练习的重要平台。

1) 基于Docker的大数据教学与实验开放平台

在大数据时代,为了让师生可以更方便地进行大数据的教学与科研,我校自主开发了大数据教学与实验开放平台。

该平台通过应用Docker技术,以少量机器虚拟大量实验集群,为学生提供真实实验环境,可供大量学生同时拥有多套集群进行试验。其优点是:每个学生的实验环境不仅相互隔离,能够方便高效地完成实验,而且实验彼此不干扰,即使某个实验环境被破坏,对其他人也没有影响,一键重启就可以拥有一套新集群。

该平台以Web形式提供,学生只需登录,就可以拥有属于自己的、真实的、多节点的各种集群,包括Hadoop、Spark、YARN、Storm等各种大数据基础的实验环境,均可一键搭建,见图4,这样学生在拥有了自己的集群后,就可以根据平台提供的实验资源(课件与视频)进行练习,包括进行分布式数据的采集、存储、分析等大数据处理的相关程序设计。

该平台大幅度节省了硬件和人员管理的投入成本,降低了师生学习与研究大数据的门槛,被列为我校重点教改项目之一。它不仅可以为非计算机类的学生提供大数据的分析,而且也可以为计算机类学生进行大数据课程的研究与学习所用,为高校进行大数据的教学与科研开辟了一条新的道路。目前是内蒙古首个由高校自主开发的大数据平台。

2) 基于Web的自主学习平台

我校开发了基于Web的自主学习平台,目前在C、VB、Python三门课程中使用,见图5所示。该系统采取分章节的方式,将各个章节的重点、难点均进行了讲解、标注,并设置了各种类型的练习题目,包括选择、填空、编程等,目前均能够实现自动评分[2]。学生可以登录系统,进行课程内容的学习,然后做题。并可以就某个题目,與教师互动。学生做题会得到相应的积分,该积分可以供教师参考。我校是将该平台作为程序设计类课程的课堂练习或者完成课下作业使用,积分计入平时成绩。

以上所列举的实践操作平台均由我校一线任课教师自己开发,因此在功能的设置、题目的编制等方面都很接地气。投入使用后,受到师生的一致好评。其优点在于:一方面让学生能真正动手进行程序的开发,另一方面也减轻了任课教师批改作业的工作量。同时积累了很多教学数据,为下一步做教育大数据的分析、实现“精准教学”奠定了基础。

“纸上得来终觉浅,绝知此事须躬行”,程序设计类课程更是如此,而且“教学有法,教无定法”,这就需要我们不断探索更多、更适合学生的方法、途径与形式来增强实践环节的训练,提高教学质量,这样就能够更好地增强学生实践能力、创新能力,从而帮助他们更好地适应社会需求。

参考文献:

[1] 王猛.以“项目开发”为导向的VFP教学改革[J].电脑知识与技术,2014.10:6914-6915.

[2] 徐扬,黄迎久,李海荣.计算机技术基础课程SPOC混合教学模式探究[J].中国教育信息化,2017(23):73-76.

[3] 王世蓉,高腾刚,黄政.程序设计课程混合教学模式改革与实践[J].大学教育,2017.5:29-30.

[4] 尹存燕,刘奇志,陈家骏. 激发学生编程兴趣的程序设计实验教学实践[J].计算机教育,2018(3):81-83.

[5] 袁凤玲.计算机程序设计类课程实践教学的有效性研究[J].辽宁科技学院学报,2016,18(3):52-53.

[6] Jia L., Han M., Gao S., Zhang Y., Sun G. Research and Practice on Advanced Language Programming Teaching Mode Based on O2O[C]. eLEOT 2018: e-Learning, e-Education, and Online Training, vol 243: 33-40, Springer, Cham

【通联编辑:闻翔军】

猜你喜欢
程序设计实践教学
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
“自我诊断表”在高中数学教学中的应用
对外汉语教学中“想”和“要”的比较
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
跨越式跳高的教学绝招