李顺琴 蒋小东 何娇
【摘要】本文结合现今大多数MOOC平台中《C语言程序设计》课程出现的知识点选取缺乏内在逻辑联系,不符合学生学习理解规律,缺少学习连贯性和及时知识校验的问题提出了完整的教学设计方案。
【关键词】MOOC C语言程序设计 在线课程
一、引言
在“互联网十教育”的大环境下,在线课程的建设与应用现已成为现阶段高校教学信息化变革的重要举措。计算机程序设计类课程如《C语言程序设计》是电子信息类相关专业的基础入门课程。然而由于其具有很强的逻辑性,程序编写较为复杂,对于基础较差,形象思维能力远强于逻辑思维能力的高职生来说,这类课程的学习尤为困难。而MOOC作为一种多模块化的在线教学模式,不仅提供网络教学视频,还同时附有随机提问,单元测试,课后作业,网络论坛,结业考试等单元,为解决C语言程序设计课程教学过程中遇到的传统课堂教学时间短且内容多,吸收难,无法实时跟踪教学进度,讨论答疑时间有限等问题提供了崭新的解决思路。
二、国内外发展现状
在诸如“学堂在线”,“Coursera”等国内外知名MOOC网站中均有来自于不同名校的教师开设的《C语言程序设计》课程,在线选修学生群非常庞大。然而在此类在线课程中我们不难发现,绝大多数教师缺乏对整门课程的总体规划,章节设置不合理,知识点选取零散,资源本身缺乏内在逻辑联系。学生看到的是独立毫无关联的微课视频罗列,以及各章节最后附上的测验和实训资源等,学生的学習缺乏连贯性,学习成效差。
本文就是以《C语言程序设计》课程为例,结合课程特点及学生的学习理解规律,设计出一套合理的在线课程教学设计方案,以充分保障学生在线学习的科学性及有效性。
三、MOOC背景下C语言程序设计在线课程的教学设计
(一)学习连贯性原则
由于《C语言程序设计》往往是电子信息类相关专业的第一门专业课程,大多数学生并没有形成成熟的编程思维。因此,在教学设计时应充分结合学生的学习基础及理解规律,考虑前后微课的上下承接关系。所以并非所有知识点都需做成微课,我们仅需在学生的学习理解规律线上抽取重要的知识点即可。
(二)章节环节设计及选题
通过梳理整门课程的所有知识点及内在联系,可以将《C语言程序设计》课程的学习分为五个阶段。
第一阶段:初识C语言。这一阶段的主要任务是明确C语言程序到底长什么样以及C程序在计算机中如何运行。
第二阶段:走进C语言。这一阶段的主要任务是带领学生学会解读C程序结构,对编写C程序建立起初步的轮廓概念及编程思维。
第三阶段:浅触C语言。这一阶段的主要任务是从有趣的程序案例出发,带领学生开启正式的C语言语法学习。
第四阶段:深探C语言。这一阶段是整门课程的核心部分。因此该阶段需要通过合适的举例问题分析、步骤拆解、编程引导及讲解应用让学生养成良好的编程习惯,形成正确的编程思维。
第五阶段:进阶C语言。这一阶段的主要内容包括文件操作及异常处理。
(三)微课教学设计
主要微课教学设计举例如下:
(1)第一阶段——初始C语言。以微课“程序初识”为例。首先抛出问题——C语言程序到底长什么样?接下来,以递进的方式,从最简单不包含任何语句,到有一条输出语句,再到有函数调用的三个范例程序,让学生认识程序的不同面貌及执行的原理,让他们明确看到程序由简到难的演变过程。
(2)第二阶段——走进C语言。以微课“算法流程图绘制”为例。通过两段视频案例引出算法设计及流程图绘制的重要性。案例一:某同学拿到任务就开始写代码,由于没有整体规划,条理不清晰,结构不明确,越写越迷茫,事倍功半;案例二:某同学拿到任务首先进行算法分析,建构流程图,然后再将其转变为程序代码,高效准确,事半功倍。以此为基础首先介绍什么是算法,接下来介绍流程图的具体绘制方式。
(3)第三阶段——浅触C语言。以微课“常用输入输出函数”为例。抛出一个打印输出问题引出有哪些常用的输入输出函数,并通过讲解分析介绍它们的使用方式,并用以完成一开始抛出问题的输入输出。
(4)第四阶段——深探C语言。由于这一部分的内容是整门课程的核心技术部分,相对生涩难懂,学生需要通过具体的应用案例反复练习才能真正地掌握。因此这一阶段的微课设计主要从应用出发,通过动态地拆解问题,分析讲解让学生能顺藤摸瓜找到循环、数组、函数及指针使用的本质原理。
以微课“一重循环的应用”为例。抛出问题——用循环怎样解决“猴子吃桃”问题。由此引出怎样用For/While循环去解决所有的类似循环问题。第一步:分析猴子吃桃问题本质,得出可以用循环来快速求解;第二步:分析循环的四要素——循环变量初始化、循环条件、循环体和循环变量更新,确定循环结构;第三步:绘制流程图;第四步:流程图转换为程序代码。通过以上一步步准确明了的分析引导学生真正掌握循环结构以及循环语句的使用原理。
(四)合理设置测验辅助微课学习
通常的MOOC在线学习系统中,微课与测验、作业等教学资源是独立开来的。往往一个章节只有一个测验,教师会安排学生在结束这个章节前完成测验以检验这一章的学习成效。其实这样的做法没错,但是效果不佳。正确的方式应该是让测验贯穿在整个学习过程中,方法是将测验放入微课演示环节中,当学生学习完某个知识点或技能点后马上弹出测验,让学生及时检测自身的掌握情况。
四、结束语
现如今线上的MOOC平台很多,上线使用中的《C语言程序设计》课程也不少。可是普遍存在微课视频与测验等配套资源相对独立,知识点选取也缺乏内在联系,没有遵循学生的真实学习习惯及规律,无法让让学生完成连贯性的学习的问题。本文从章节环节设计及选题、微课教学设计、合理设置测验辅助微课学习等方面提出了一套完整的《C语言程序设计》在线课程教学设计方案。通过以上改革措施,势必能有效地提高该课程的教学质量,取得更好的教学效果。笔者也将继续努力探索,力求进一步完善该课程的教学实施。