APP下载

在新冠病毒疫情期间“程序设计基础(C/C++)”实验课线上教学的探索与思考

2020-12-28宋初一姜静清刘那仁格日乐王秀清

关键词:数组C语言实验课

宋初一,姜静清,明 珠,张 妍,刘那仁格日乐,王秀清

(1.内蒙古民族大学 数理学院,内蒙古 通辽028043;2.内蒙古民族大学 计算机科学与技术学院,内蒙古 通辽028043;3.内蒙古民族大学 工学院,内蒙古 通辽028043)

自2020 年初以来,新冠病毒疫情迅速在全国乃至全球蔓延. 针对新冠病毒疫情,国家主席习近平亲自指挥、亲自部署,千万人口的武汉封城,全国2.86万医护人员人支援武汉,取得了巨大的胜利. 为了有效降低因人员聚集而引发交叉感染的风险,保障师生健康安全,教育部要求各个高校延迟开学[1]. 本着“停课不停学、停课不停教”原则,按照教育部的要求,各高校都开始使用了线上教学模式. 2月3日上午10点,清华大学全校5万名师生同上一堂网课,吹响了线上教学的号角. 内蒙古民族大学全面部署了线上教学工作,在学生不到校的情况下,开展线上教学. 本学期作者承担的是2018 级数学与应用数学专业蒙授班级的“程序设计基础(C/C++)”课程. C 语言是理工科学生必须掌握的一门程序设计语言.“程序设计基础(C/C++)”课程包括理论课和实验课两个部分. 理论课讲授数据类型、语法规则、程序结构等内容,实验课上学生在老师的指导下上机编程,完成实验项目,加深和巩固所学知识,因此理论课和实验课同等重要.

通常,讲授C语言课程时,教师通过黑板板书、课件及师生课堂互动等线下教学方式进行[2]. 自从爆发新冠肺炎疫情以来,学生无法到校,传统的线下教学模式受到了巨大的挑战. 如何充分利用互联网资源开展线上教学活动,创新教育教学方式方法,激发学生的学习兴趣,提高教学效果,成为一线教师急需解决的现实问题. 通过网上查阅资料、摸底和调研等,腾讯课堂和钉钉进入备选授课平台,通过与授课班级学生的进一步沟通,发现每个同学都有微信,通过微信号可以直接登录腾讯课堂,所以本学期课程最终选择腾讯课堂作为直播教学平台,这样比较好的解决了理论课的教学问题.

1 疫情期间实验课的授课

通过腾讯课堂解决了理论课的问题,但比较棘手的是实验课的授课[3]. 因为实验课要求学生在电脑上编写程序,完成实验项目. 2018级数学与应用数学专业蒙授班级共有37名学生,通过调查,该班级有电脑(台式电脑、笔记本电脑、平板电脑)的10人,占比为27%,还有73%的同学没有电脑,但是每人都有智能手机. 经过查阅资料发现,智能手机上可以安装C语言编译器APP,也能编写和运行C程序[4],这样就解决了没有电脑同学的编程工具问题.

为更好地完成实验任务,把学生分成5 组,每组选出一个组长,组长是班级里学习成绩前5 名的同学,负责组织该组的实验课学习. C语言课程共72学时,其中理论课58学时,实验课14学时. 实验课按学校教务系统排好的课程表进行,一共完成7次实验. 下面以“二维数组”实验项目为例,探索实验课的线上教学. 实验课的教学采用学校优慕课网络教学综合平台,实验环节分为5个步骤:

步骤1. 在学校优慕课网络教学综合平台上提前一周布置实验课的实验内容,如图1所示.

【实验】二维数组实验

(1)求出该矩阵所有元素的和.(2)求出该矩阵中最小元素的值以及最小元素所在的行号和列号.

此实验项目中所包含的知识点为:数据类型、二维数组的定义和初始化、二维数组元素的访问、if 语句和打擂台算法. 学生拿到实验项目后,复习基本概念、语法,选择数据类型,设计算法、画流程图,如图2所示,在纸上写出程序代码,如图3所示.

步骤2.学生进行实验

学生用电脑或手机编写程序,在写程序过程中出现问题时,首先在自己的本组内进行讨论,组长负责将出现的问题和解决的方法总结后发到班级的C语言微信群里. 如果组内无法解决,组长也把问题提交到班级的C语言微信群里,与班级的其他同学进行讨论. 如果还是解决不了,教师帮助给予解决. 教师

对在实验过程中积极主动、表现好的、能解决问题的学生在班级C语言微信群里表扬,平时成绩加15分.

步骤3.实验源代码和程序运行结果的提交

学生在电脑或手机上写完程序,经过调试和运行,将最终的源程序(图4)和程序运行结果(图5)提交到学校优慕课网络教学平台上,如图6所示,同时完成本次实验的实验报告.

步骤4.批改实验项目

教师在网络教学平台上批改学生实验项目,如图7、图8所示.

步骤5.实验总结

给每个学生的实验项目打分,总结学生程序中普遍存在的问题. 例如,在查找最小值程序中,大部分学生使用了多余的if语句.说明学生对二维数组元素访问掌握不牢固,把数组元素和数组整体混淆了. 二维数组的所有元素访问是通过双层for循环来实现的,这是一个最常用的典型方法. 最后实验项目完成好的同学在班级C语言微信群里表扬,对个别抄袭别人程序的同学提出严厉批评,公布最好的程序源代码.

2 问卷调查

通过7个实验项目,学生把C语言的数据类型、运算符、程序控制的三种结构(顺序、选择、循环)、数组(一维、二维)、函数、指针、结构体、文件等重要概念复习强化,并在程序中进行实现. 实验课结束后,用问卷星软件做了学生对实验课网上教学满意度调查[5-6]. 发出调查问卷共37份,收回有效问卷32份. 统计结果见表1和表2.

表1 学生对线上教学的满意程度Tab.1 Student satisfaction with online teaching

表2 线上教学对学生的影响Tab.2 The effect of online teaching on student

从问卷调查表的统计结果可以看到,学生对实验课网上教学比较满意,但学生还是希望到学校,在课堂上进行面对面的线下学习模式或线上与线下结合的模式. 同时学生也看到了线上教学的好处,能培养自学能力和自控能力. 没听懂的内容可以反复观看,自己调整学习进度. 还可以通过互联网查阅相关的资源,例如中国大学MOOC. 智能手机上可以安装各种教学平台的APP,例如,钉钉、腾讯课堂、腾讯会议、学习通、智慧树等,为学生和老师提供了多种选择. 学生对线上和线下相结合的学习方式也比较认可.

3 结束语

新冠病毒疫情对人类的生活学习产生了巨大的影响,尤其是教育行业经受了严重挑战. 作者在这个非常时期,探索了线上实验课教学模式,与同行们一起探讨.

猜你喜欢

数组C语言实验课
JAVA稀疏矩阵算法
小学科学实验课中学生思维的培养
小学科学实验课中学生思维的培养
互联网+教育背景下的C语言程序设计教学改革探究
基于Visual Studio Code的C语言程序设计实践教学探索
JAVA玩转数学之二维数组排序
计算机中C语言的应用特点探析
有趣的实验
汇编语言与C语言的混合程序设计技术研究
魔术师的考验