高级语言程序设计课程的慕课建设与思考

2017-02-25 07:09张长海邓春燕
计算机教育 2017年1期
关键词:吉林大学程序设计语言

陈 娟,张长海,邓春燕,李 河

(1.吉林大学 计算机科学与技术学院,吉林 长春130012;2.吉林大学 软件学院,吉林 长春130012;3.符号计算与知识工程教育部重点实验室,吉林 长春130012)

高级语言程序设计课程的慕课建设与思考

陈 娟1,2,3,张长海1,2,3,邓春燕1,2,3,李 河1,2,3

(1.吉林大学 计算机科学与技术学院,吉林 长春130012;2.吉林大学 软件学院,吉林 长春130012;3.符号计算与知识工程教育部重点实验室,吉林 长春130012)

高级语言程序设计作为国家级精品和资源共享课程,率先完成慕课建设工作并持续推进课程建设。文章从大纲制订、视频资源制作和文本资源准备3方面,详细介绍慕课建设的具体措施和工作内容;针对课程实施,从慕课和传统课堂、慕课与实践教学两方面,讨论建立慕课与传统混合教学模式的必要性;最后说明高级语言程序设计课程建设和改革的未来规划。

慕课;程序设计;课程建设;教学内容

0 引 言

慕课是大规模开放在线课程(massive open online courses,简称MOOC)的中文音译。作为一种全新的开放课程资源共享模式,慕课具有关联学习、大规模学习、翻转课堂、协同评价等特点。自2012年在美国出现之后,慕课开始在世界高校流行,进而席卷全球,成为一种成功的高端知识交换和共享手段,对全球高等教育产生重要影响。国际上知名的Coursera、Edx和Udacity三大慕课平台已经与世界级著名高校合作推出众多优质慕课课程。2013年以来,国内涌现出中国大学MOOC、智慧树、学堂在线、好大学在线、果壳网MOOC学院等多家慕课平台,这些平台和国内一流高校联合推出一批受众广、评价高的中文慕课[14]。

高级语言程序设计是计算机及相关专业的重要基础课程,主要讲解程序设计的思想、方法和技巧,旨在培养学生的计算思维。吉林大学的高级语言程序设计课程持续改进课程建设,并于2009年被评为“国家级精品课”、2013年被列人“国家级精品资源共享课”,为慕课建设提供了充分的资源保证;吉林大学于2014年正式启动慕课建设项目,为高级语言程序设计慕课建设提供了良好的政策和平台支持;电脑和网络的普及,为将传统课程迁移至慕课平台提供了广泛的硬件支持。此外,慕课充分利用网络教学优势,为师生提供了一个公开的教学创新和实践平台。因此,高级语言程序设计慕课建设不仅在教学改革,而且在人才培养方面都具有十分重要的意义。

1 高级语言程序设计慕课建设

慕课与精品课、资源共享课等传统课程建设工作既有一定关联性,又有所区别。首先,慕课要提供高清晰度的课程视频且以微视频形式组织[58];其次,慕课要提供高质量的课程文本资源;同时,慕课需要提供交流、答疑等机制。慕课与传统课程建设内容的对比见表1。

表1 慕课与精品课、资源共享课资源对比

1.1 教学大纲制订

慕课受众广,课程难度一般不能高于高校课堂教学难度,因此,教师一方面要尽量降低课程的先修知识门槛,另一方面也要为有能力的学生提供拓展空间。初始阶段,我们以计算机科学与技术专业本科培养目标和教学要求为基础[9],梳理调整教学内容,真正做到零起点且章节相对独立。

表2是中国大学MOOC平台的慕课设计。其中,一级结构按教学进度与章节对应;二级结构对应具体知识单元,每个知识单元包含若干知识点和相应微视频;教学资料一般是授课PPT、参考资料等;课间提问穿插在视频授课中间,以保证学生学习注意力,不计人成绩;随堂测验添加在视频或知识点后,不计人成绩;课堂讨论由教师发起,学生在社区发言讨论,教师可根据学生参与活跃度计人成绩;单元测验和单元作业是教学单元结束后的客观和主观测验,计人成绩;考试用于检验学生阶段性学习或整体学习情况,主观或客观题数量不限,计人成绩。

1.2 视频制作

视频是学习慕课的关键,也是制作慕课的核心。高级语言程序设计课程的视频自始至终都在努力营造一对一的课堂授课氛围:教师始终在前台出现,通过PPT和代码演示,配合必要的板书展现课程内容;概念性知识主要以PPT静态展示。程序设计算法主要以PPT动画方式展现,同时配合板书解析具体思路,如循环、数组、链表等;其中许多例题采用自顶向下、逐步求精方法;在PPT中逐层给出PAD(program analysis diagram,问题分析图);关键点处由教师板书讲解,并由教师直接在开发环境中编写和讲解代码。讲解程序内部运行状态时如参数运算顺序、递归执行等,主要采用PPT动画配合教师讲解,避免板书的低效和在开发环境内展示的繁琐。

为了能让学生充分利用碎片时间、集中精力学习,每个视频时长都尽量控制在15min以内。对于内容超时但又是经典的案例,如汉诺塔、八皇后等,根据思维过程、编写代码和实际运行将案例分割细化;对于那些无法分割的视频,则通过插人课间提问的方式,提高学生注意力。

1.3 非视频资源制作

非视频资源可分为视频辅助和考核两类。电子教案是最重要的视频辅助资源,一般以知识单元为单位给出,以便学生回看教案,并通过大量动画展示思维、程序运行以及内存状态,增加内容的直观性。

表2 慕课设计

考核类资源用于监督学生学习和评价学习效果。课间提问一般与具体知识点密切相关,以判断题和选择题为主;随堂测验多以客观题为主;课堂讨论常与多个知识单元关联,各单元相互依赖又互相制约,如选取函数形实参、线性表操作、递归与栈等话题,由学生自由发挥,以激发学生的主观能动性;单元测验指每个教学单元后布置的客观作业,中国大学MOOC平台提供了类似“抽题”的功能,如教师可以要求学生完成10道题中的5道,能在一定程度上避免出现千人一题的情况;单元作业指每个教学单元后布置的主观作业,鉴于程序设计类课程自身特点,在线评测(online judgement,简称OJ)系统可方便实现测评。

评价方式是设计考核类资源时必须考虑的问题。手工批改量小、周期长,无法适应慕课的大规模教学;自动批改方式中,填空题与选择题和判断题有很大不同。教师设计题目时,不仅要考虑多种答案可能性,还要考虑不同匹配方式对评判的影响,如“2”和“2.0”都表示“数值2”;如采用“文字精确”匹配方式,必然有一个答案被判为错,与常识不符。目前可采用的匹配方式主要有“数值精确”“数值模糊”“文字精确”和“文字模糊”,由此可见,上例更适合选取“数值精确”匹配方式。主观题测评历来是网络课程的难点,目前较好的解决办法是发动学生进行“互评”,这需要教师给出明确的评分标准和互评训练样例,供学生参考。程序设计类的主观试题可使用OJ系统进行评判,教师需要设置多组测试样例并在题干中明确规定输人输出格式。

吉林大学高级语言程序设计课程于2014年9月正式在中国大学MOOC平台上线。目前,课程分为13个教学单元和51个知识单元,见表3,其中包含视频资源129段,共1 181min;非视频资源包括33组课间提问、52篇电子教案及文档、29组随堂测验、20组讨论题、12组客观单元测验和10组主观单元作业。

2 高级语言程序设计慕课建设的思考

慕课作为一种全新的网络教学模式,打破了教学时间和空间限制,为教师和学习者提供了开放的教学空间;与此同时,也给传统的教与学模式带来巨大影响。

2.1 慕课与课堂教学

慕课打破了传统课堂壁垒,教师不仅要面对传统教室中的学生,还要考虑许多素未谋面的在线学习者;随之而来的是对教师更高的要求,不仅需要教师提高自身素养,还需要教师转变教学观念,从传统“教师为主”转换为“学生为主”。制作慕课前,教师要对学生的学习目的和学习方法进行预估,合理安排教学内容;制作过程中,教师须全心投人,对视频和文本资料反复修改加工,从学生学习角度组织教学方法并设计案例;授课时,教师则需要及时同学生互动,完成整个教学过程。

高级语言程序设计的慕课模拟了完整的教学过程,但计算机专业在校本科生并不适合完全的慕课教学。传统课堂授课中,教师可以有针对性地及时解决问题,慕课虽然有这方面机制,但是实时性差;对于程序设计类课程,虽然提供了OJ系统,可以实时检验学习效果,但是也无法完全取代真实的实验课;而且学生学习基础、能力各不相同,虽然在课程制作过程中考虑到了相关问题,但是仍然无法很有效地做到因材施教。此外,单纯的慕课学习在很大程度上依赖于学生自身,难以保证学生实际学习效果。因此,在专业授课过程中需要实施混合教学,充分发挥慕课和课堂教学优势。

实施混合教学时,教师通过“翻转课堂”或“小规模私有在线课程(small private online courses,简称SPOC)”等形式[10],在慕课基础上,扩展知识内容,加深难度,鼓励学生提问,增加面对面的互动。教师作为学习的指导者,发挥引导、示范和评价的作用,鼓励学生充分利用慕课平台进行自主学习、讨论和提问。

表3 高级语言程序设计教学与知识单元列表

2.2 慕课与实践教学

高级语言程序设计是一门实践性极强的课程,慕课教学的好坏在很大程度上取决于实践教学效果[11]。混合教学模式下,高级语言程序设计的实践教学可以分成以下5个层面:①课堂授课及慕课视频,教师直接在开发环境中讲授案例和答疑解惑,使学生初步感受实践过程;②习题作业,学生使用OJ系统完成各类习题和作业,提高实战经验;③实验课,学生自己动手完成规定题目,教师从旁指导、面对面与学生交流,让学生亲身体验程序设计的全过程;④课程设计,以3~5人的小组方式,设计实现成绩单、药品、通讯录等管理系统,以答辩方式对学生进行考核,让学生深刻体会程序开发的全过程,初步体验软件工程方法并培养团队精神;⑤科技活动小组,由对课程兴趣浓厚的学生自愿组成,参与教师的科研项目或由教师指导选题,培养学生的初步科研能力和创新精神。前2个层面完全可以在线完成,面向所有慕课学生设置;后3个层面中的实验和课程设计面向所有本专业学生,难度和深度都要高于慕课内容,并且最后的科技小组主要针对创新和实践能力较强的学生而设置。

3 结 语

通过高级语言程序设计慕课的建设,我们形成一套完整的“视频+习题+在线学习”的慕课教学流程,既可以服务于计算机专业本科教学,又支持其他专业和社会学生自学。慕课的建设和实施对教师和学生都提出更高的要求。教师需要转变角色,从学习的主导者变为服务者,引导学生自主学习;同时,教师也需要有较高的专业素养,更好地为学生服务。由于慕课完全依赖于学生自主学习,因此需要有更强的学习动力和自制力支撑学生完成完整的课程学习。对于专业学生,由于慕课的“大规模”很难实现因材施教,要求教师采用“混合教学模式”支撑专业本科教学。

慕课建设有效地提高了高级语言程序设计课程的教学水平,推动了课程改革,但仍然有很多内容需要进一步探索。根据不同组织模式,慕课可分为基于内容、基于网络和基于任务3类,我们建设的高级语言程序设计属于“基于内容”的慕课,这类课程侧重于知识传播和复制。我们希望能够将“基于网络”慕课的知识创造和生成以及“基于任务”慕课的专业技能协同学习,融人到本课程中,进一步推动课程建设和教学模式的改革。

[1] 袁松鹤, 刘选. 中国大学MOOC实践现状及共有问题——来自中国大学MOOC实践报告[J]. 现代远程教育研究, 2014(4): 1-11.

[2] 郝丹. 国内MOOC研究现状的文献分析[J]. 中国远程教育, 2013(11): 42-50.

[3] 程翥, 李贵林, 刘海涛. 中国高等教育MOOC平台现状分析[J]. 高等教育研究学报, 2014, 37(2): 15-19.

[4] 王永固, 张庆. MOOC: 特征与学习机制[J]. 教育研究, 2014(9): 112-120.

[5] 袁利永, 马永进. VB程序设计基础慕课建设的一些思考[J]. 计算机教育, 2015(8): 5-7.

[6] 郑莉, “C++语言程序设计”慕课的设计[J]. 计算机教育, 2015(23): 120-122.

[7] 马立平, 范岩. 微机原理课程的MOOC建设[J]. 计算机教育, 2016(1): 128-131.

[8] 张晓瀛, 杨延光, 王欣, 等.“通信原理”MOOC建设探索[J]. 工业和信息化教育, 2015(6): 50-54.

[9] 吉林大学计算机科学与技术本科专业培养方案[R]. 长春: 吉林大学, 2014.

[10] 贺斌, 曹阳. SPOC: 基于MOOC的教学流程创新[J]. 中国电化教育, 2015(3): 22-29.

[11] 陈娟, 张长海. 程序设计基础课教学实践探讨[J]. 计算机教育, 2014(15): 67-71.

(编辑:宋文婷)

1672-5913(2017)01-0009-05

G642

吉林大学青年教师教学能力发展项目“以‘授之以渔'为理念的计算机高级语言实践课程教学改革”(2015QNZD008);吉林大学本科“十三五”规划教材立项《程序设计基础(第3版)》《数据结构(第3版)》。

陈娟,女,副教授,研究方向为计算机教育、时空推理和概率图模型,chenjuan@jlu.edu.cn。

猜你喜欢
吉林大学程序设计语言
采购与论证分离模式下的大型仪器设备购置论证思考与探索——以吉林大学为例
医学专业“Python程序设计”课程教学改革总结与思考
《吉林大学学报(理学版)》征稿简则
吉林大学等二医院王金成教授简介
基于Visual Studio Code的C语言程序设计实践教学探索
语言是刀
从细节入手,谈PLC程序设计技巧
让语言描写摇曳多姿
高职高专院校C语言程序设计教学改革探索
我有我语言