富交互型C语言在线课程的设计与实现

2017-09-18 04:24王玉峰
计算机时代 2017年9期
关键词:在线课程C语言

王玉峰

摘 要: 针对在线编程学习平台学习模式相对单一的不足,面向编程语言的初学者,给出了富交互型C语言课程的设计思路、表现形式和实现技术。在分析初学者学习规律和应用需求的基础上,深入挖掘了课程内容。在线课程在引导、讲解、分析、练习、测试、扩展等环节突出交互性,平滑初学者的学习难度曲线,开拓初学者思维,提高初学者编程技能。在线课程部署后得到了实践的检验,可为其他在线课程的改造提供思路。

关键词: C语言; 在线编程; 在线课程; 课程改造

中图分类号:TP311.52 文献标志码:A 文章编号:1006-8228(2017)09-39-03

Abstract: Considering the relative monotonous mode of the existing online programming learning platform, this paper puts forward the design idea, learning mode and implementation technology of the rich interactive online C language course, for programming beginners. On the basis of analyzing the learning regularities and application requirements of beginners, the contents of the course are deeply excavated. The Online course highlights the interaction in aspects of guiding, explaining, analysis, practice, testing, and expansion and so on, to smooth beginners' learning difficulty curve, pioneer thinking, and improve beginners' programming skills. The online course has been tested by practice and can provide ideas for the reform of other online courses.

Key words: C language; online programming; online course; course reform

0 引言

当前,随着在线教育的兴起,在线编程学习平台也得以蓬勃发展,其形式多样、内容新颖、体验良好,解决了班级授课及课内实验教育模式的一些缺陷,吸引了不少学生参与[1]。

在线编程学习平台,提供在线知识讲解、编辑代码、即时编译等功能,国外以codecademy为代表,口号正是“以交互的方式学习编程”,提供了Javascript、PHP、Python、Ruby等脚本编程语言的课程[2]。国内的“计蒜客”课程学习形式与codecademy类似,提供C、C++、Python、数据结构、操作系统、数据库等互动式的在线课程。国内的“实验楼”, 基于虚拟化技术提供IT技术实训平台,提供在线编程环境来进行“在线实验”。codecombat创造性地将在线游戏与学习编程(CoffeeScript脚本语言)相结合,驱动用户在游戏中编码实现一定功能来渡过关卡,趣味性很强,思路新颖。

总体来讲,在线编程学习平台课程以用户练习为核心,通常是任务驱动的,而且注重循序渐进。然而,由于需要提供平台化服务,其练习模式相对单一。另外,课程的引导提示相对单调,编程练习较多而讲解偏少。在线编程学习平台课程的设计思路和表现形式值得借鉴,课程本身的特点和学生的学习需求还要进一步挖掘,以进一步完善在线课程,促进课堂教育和在线教育的互补融合,提高教学效率。

1 富交互型C语言在线课程的设计与实现

相比于现存的在线编程学习平台课程,富交互型C语言在线课程主要面向初学者,更加突出了交互性,在学习思路、交互形式、学习内容上做了更精细的挖掘和探索。

1.1 挖掘C语言初学者学习需求

对初学者而言,C语言具有抽象程度高,难以入门及精通等特点,传统的课堂授课、视频讲解、课内实验等,并没有很好地平滑理论到实践之间的衔接,难度曲线陡增,需要一种辅助机制来循序渐进推进知识和技能的掌握。

初學者首先需要掌握繁琐且精细的语法规定,需要反复验证来识记并理解。面对具体程序设计任务,重在以程序设计思维来分析问题,这需要大量练习及分析总结来转变思维方式。在掌握编码、调试、排错技能的基础上,初学者还应当全面把握C语言的特点、规律、运行机制[3],课程的广度和深度应当作适当扩展。

富交互型在线课程旨在全程“陪伴”初学者进行辅导,加入引导启迪及总结扩展环节,侧重分析案例要点及运行机制,注重培养程序设计思维及提高编程技能[4],通过大量精巧设计的交互及练习,让初学者由易到难、由点及面、由浅入深来复习、巩固、提高,学习难度曲线得以平滑。不断的交互实践,能带给学生较强的沉浸感,提高了专注力和学习效率。

1.2 富交互型C语言在线课程的版块形式

传统授课很多时候需要初学者被动地接受讲解,富交互型C语言在线课程将练习分解为众多小版块,让学生通过交互来主动把握课程进度。在线课程的版块形式如下:

⑴ 演示示例:可交互图形展示课程引入案例、数据运算过程、代码执行过程、数据存储机制等。将已有知识经验迁移到课程新内容,或者从C语言的底层软硬件基础设施如汇编语言、编译原理、计算机体系结构等视角剖析C语言,加深对C语言及程序运行的理解。演示示例如图1所示,单击右侧的流程图虚线框,可以推进流程图并选中左侧的相应代码行。endprint

⑵ 在线简单练习:形式多样,包括抄写代码、运行代码、调试代码、改动代码、模仿编程、引导编程、独立练习任务等[5],由易到难循序渐进提高初学者编程技能。

⑶ 在线测评:通过在线选择题、填空题、判断题等对知识点进行测评,通过对题目进行深入解析,帮助学生区分易混淆知识,避免常见错误。

⑷ 在线视频:关键知识点制作短视频,进行关键知识点的精讲及总结,或者进行思维开拓。

⑸ 在线综合练习:提供项目驱动的综合练习,可对综合练习的解决方案进行展示,并允许同学们留言讨论。另外,提前对项目进行分解[6],进行针对性练习。

设计富交互型在线课程时,知识讲解和编程练习居于同样重要的地位,而且两者的难度增加曲线非常平缓,充分考虑了初学者的特殊情况。

1.3 富交互页面的关键技术

在线课程的前端基于Bootstrap框架等,服务端基于Node.js,关键技术如下。

⑴ 基于Ace Editor的高度定制编辑器:ACE Editor是一款开源的强大的Web端代码编辑器,提供丰富的编辑特性、配置选项及控制接口。

⑵ 基于SVG(可缩放矢量图形)的可交互动态图:图形化逐步演示动态执行过程(如图1右侧)正是基于SVG的强大绘制功能,用户交互时可实时绘制。

⑶ 远程编译执行:在线运行代码时将代码上传到服务端,服务端提供远程编译功能,支持并发编译,并提供一系列安全检查控制机制,保证远程执行安全。

⑷ 用户访问数据分析:记录学生的完成情况并进行统计分析,将评估结果反馈给学生,并基于评估结果推荐练习题目。

2 结束语

目前,富交互型C语言在线课程的设计思路相对成熟,表现形式基本稳定,部分实现技术已经模块化。在线课程部署到云主机后,经过近几年的运营,获得了学生的好评,成为学生课余学习的有力助手。

富交互型在线课程需要深入挖掘课程的知识点,以合适的形式在线呈现给初学者去体验,这对课程的策划及制作提出了较高的要求。下一步将进行平台化建设,扩充课程形成体系,开发Java、Fortran、C#等初学者入门编程语言在线课程,开发数据结构、图形学、游戏开发等交互特性突出的在线课程,继续在富交互型在线课程的制作上进行探索。

参考文献(References):

[1] 周翔,高辉.国内互联网在线教育的现状及发展策略研究初

探[J].新疆广播电视大学学报,2015.2:67-71

[2] 潘雪峰,张宇晴,毛敏,崔鹤.在線教育产业发展现状及产品设

计研究[J].科技和产业,2013.8:15-16

[3] 程传鹏.基于大学生心理特点的C语言教学方法[J].计算机

教育,2012.1:68-70

[4] 徐艳艳,陈志泊,徐秋红.基于“计算思维”的C语言课程教学

改革[J].计算机教育,2015.7:87-89

[5] 吴永芬,陈卫卫,李志刚,李清.面向创新实践能力培养的C语

言程序设计实践教学改革[J].计算机教育,2014.3:88-90

[6] 刘芳.项目驱动教学法在C语言课程中的应用研究[J].计算

机时代,2017.6:96-98endprint

猜你喜欢
在线课程C语言
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
C语言程序设计课程教学与学科专业相结合的探索
植入式在线课程“走进俄罗斯”的教改模式
MOOC:我国未来高等教育发展过程中的危机与转机
在线课程教学融入网络消费者行为预测研究
基于SPOC的“数理逻辑”在线课程教学改革探究
高职高专院校C语言程序设计教学改革探索
慕课“课程资源”体系的探讨与研究
高校传统教学模式与MOOC相结合的改革实现