APP下载

程序设计课程MOOC教学资源的开发和实践研究

2020-11-14殷荣网张少巍

合肥学院学报(综合版) 2020年5期
关键词:课程管理C语言编程

殷荣网,张少巍

(1.合肥学院 基础教学与实践中心,合肥 230601;2.安徽文达信息工程学院 计算机工程学院,合肥 230032)

0 引 言

MOOC是远程和开放教育中最具创新性的运动之一,通过提供作为“ 互联网+教育”产品的联合在线课程,学习者可以调整学习进度。这种新的教育模式与传统教学相比具有许多显著优势。关于MOOC教学法对高等教育的影响,已经有很多数据从侧面得到了验证,MOOC越来越受欢迎,并被接受为大型在线公开课程[1-4]。MOOC的开放性主要包含的含义有以下几方面:

(1)开放式课程。学习者将教育资源,不同学科的活动结合起来,以满足他们的需求。学习者负责自己的学习,他们将选择他们需要学习的东西来满足他们的个人目标和要求。

(2)开放式学习。教师,学习者将合作并参与各种活动,在学习过程中分享他们的想法和新发现。这为学习者提供了讨论,提问和回答的机会,同时使学习过程更加有趣和有效。

(3)开放式评估。学习者学习内容的评估是由他们的教师,同事和其他人在学习过程中通过点对点进行评估。

(4)开放平台。这为所有人提供了一个开放的学习平台,支持动态和互动的开放

程序设计基础课教学目标中需要学生们能建立较好的学科基础知识,能深入系统地应用到专业课程中,但在程序设计基础课的教与学中,课堂课时较少,而课程知识却繁多复杂,教学过程中面临许多“教”与“学”的问题。有数据表明,该学科领域的课程往往呈现较低的学习通过率和较高的辍学率[5-7],这种矛盾使得线上课程引入教学之中已经成为当务之急。通过建设线上教学平台,不仅可以扩大学生获取知识的渠道和途径,而且能够提高学生对程序设计语言的学习兴趣。MOOC与教学组织之间的合作,为编程领域的长期教育方法带来了新的机遇。[8-9]另一方面,MOOC关于创作或其他技术方面的研究文献不多,因此,应更详细地研究MOOC设计的质量。[10-12]

MOOC研究的热点已由最初如何建设课程转向如何建设优质课程。优质的MOOC是在线教育持续性发展的良好保障,但这又依赖于优质的MOOC设计。“计算机基础课程”学科组成教学团队,重点开展了优质MOOC课程教学的建设。从课程的设计、任务的分工、视频制作、课程在线运行及维护以及学生考评管理等建设过程中,对基于团队协作方法在优质MOOC课程建设方面的优势进行探索。通过提供计算机C语言编程MOOC的案例研究,提供优质MOOC课程建设的设计思路。

1 MOOC建设

根据合肥学院开设课程的现状和特点,分析了建立MOOC平台的要求,明确了课程安排和方向。只有这样,才能为学生开发适合的MOOC课程。“C语言编程基础”课程是针对整个学校的非计算机专业学生,学生人数达数千人,参与课程教学的教师工作量非常大。 MOOC的开放式在线教学模式将教师从繁琐的教室中解放出来,使他们有更多的时间和精力专注于教育改革研究和科学研究。优质的MOOC资源建设需要更科学的设计和更合理的规划。为此,通过团队协作进行线上课程开发,将不同学科的专业人员组成MOOC团队进行协作开发。基于协作开发方法,在每个阶段,特定团队都在合作。团队成员结构定义了协作课程开发所需成员的一组基本角色。[13]这些团队由专业人士和非专业人士(例如,即将毕业的学生作为助教)组成,帮助创建具有不同技能和能力的学习者可以使用的MOOC。

团队成员主要包括如下四个团队。

(1)课程管理团队:负责课程设计和实施。

(2)教育支持团队:负责所有阶段的课程管理。

(3)技术支持团队:负责MOOC平台的操作,维护和技术支持。

(4)额外工作人员:负责其他跟MOOC平台相关的工作。

基于团队协作方法,将MOOC的建设过程分为以下五个阶段。

(1)分析阶段:在分析阶段,分析课程的教育主题,以指定学习目的,知识领域和主要学习目标。参与分析阶段的团队是负责产生阶段结果的课程管理团队和协助支持第一团队的教育支持团队。

(2)设计阶段:在设计阶段,学习活动和学习对象旨在展示向学习者提供知识的方式。教学设计不是为了创建标准格式,而是根据分析阶段发现的需求设计每门课程。在此阶段,课程管理团队参与支持团队的协作。

(3)开发阶段:在此阶段,开发学习对象。课程管理团队与多媒体开发人员(额外工作员工)合作。教育支持团队协助该过程,而技术支持团队配置MOOC平台并将教育材料集成到平台中。

(4)实施阶段:使用定义的时间范围实施教育过程。应该运行一个试点课程,以便发现需要改进的事项。在此阶段,课程管理团队在教育过程中与教育支持团队协作。技术支持团队在整个教育过程中提供技术支持。

(5)评估:对拟议方法的评估在两个层面上进行。在每个步骤中评估方法学过程,并在所有阶段结束时进行最终评估。评估的目的是审查需要改进的数据,通过这些数据来评估过程成功的实现。

2 MOOC开发

本节介绍用于创建MOOC的方法实现。课程管理团队由两名具有工程背景的教师组成。教育支持小组由另外两名教师构成,其中一名是计算机领域专家,另一名是教育学领域专家。

2.1 分析阶段

课程管理和教育支持团队在分析阶段进行协作,以定义课程描述。MOOC开发指南已提供给课程经理团队,包括方法程序。团队主要通过电子邮件进行沟通,讨论有关实施过程的想法和问题。主要课程描述如下。

计算机C语言课程主要培养计算机编程的基本概念,并通过编程语言中的程序开发来检查其实际应用。它还提供了必要的工具来管理结构化程序的开发过程,理论上通过结构化的呈现和分析来管理编程技术,并在实践中通过使用应用程序开发环境开发程序。程序或结构化编程的一个关键要素是通过重复使用子程序来构建程序,子程序执行通用任务或解决整个问题的一部分。目的是了解编程的基础知识并巩固其理念,以便学习者能够毫无困难地转向其他编程方法,例如面向对象编程。

C语言是最常用的过程编程语言,它可以成为快速彻底理解编程语言基础知识的最佳起点。C语言展示了许多有趣且有用的功能。例如,它相对较小且易于学习、支持结构化编程、可以用作低级编程语言,允许直接访问计算机资源等等。

2.2 设计开发阶段

在设计阶段,相同的团队进行了合作。首先,该课程围绕6个基本部分构建:

(1)“编程环境”。描述C语言在软件开发过程中的作用,并简要介绍了C语言的开发以及分类中最重要的类别。最后介绍了C语言语法的基本概念,以及程序编写过程的主要限制。

(2)“变量、常量,数据类型”。介绍C语言的基本元素,支持的数据类型,变量的类型,表达式的计算方式以及每个程序的结构。随后。还将介绍编程语言C的基本命令,变量值的赋值命令以及程序与用户交互的输入输出命令。

(3)“运算符、表达式,指令”。介绍运算符的基本概念以及如何用于表达表达式和计算这些表达式的值。C拥有丰富的运算符集,比其他编程语言更丰富,此外,它几乎可以无限制地混合其类型。此外,还介绍了作为程序编程的基本构建单元的指令。

(4)“数组,指针”。介绍C编程语言中数组和指针的基本概念,以及这两种类型用于声明变量的方式。数组是C中最有用的元素之一,支持字母、数字的管理等。特别强调字符数组。最后,指针为我们提供了另一种引用计算机主存储器中存储的信息的方法。

(5)“流程控制”。程序执行流程配置是程序员在程序编程中最重要的工作。熟悉语言的可用结构有助于选择合适的结构,并导致编写结构化,可读和有效的代码。一组规则适用于流控制指令的使用。因此,在程序中引入流控制的概念,同时,给出允许程序员根据每个应用程序的要求配置执行流程的基本指令类别。

(6)“高级流程问题”。抽象是简化的描述或文档,突出了许多功能。有两种抽象形式:过程抽象和数据抽象。本节由三部分组成:第一部分描述过程抽象。(数据抽象将是本课程中可能添加的另一部分的主题),涉及抽象的概念以及如何在编程中使用它来支持代码部分;第二部分描述了模块化设计的问题;第三部分介绍了如何应用第二部分的功能进行程序设计。

根据上面提到的部分,通过详细课程描述,为学习者设计学习活动。每个部分都以一个演示文稿开始,该演示文稿引导学习者学习该部分的主题。每个部分至少包含两个活动。在下表中,提供了设计过程中学习活动描述的示例。题为“变量、常量,数据类型”的第二个课程章节,包括三个与C中基本数据类型相关的教学活动,侧重于处理每种类型变量的方式,常量和变量的概念以及输入和输出语言的功能。表1描述了第三项学习活动。

表1 学习活动描述

2.3 实施阶段

为此,团队共开发了86个学习对象,这些对象是在上一阶段设计的。这些学习对象包括教育视频,超文本,自我评估练习(例如测验,多项选择题,填空)以及编程项目。在此之后,技术支持团队与教育支持团队合作,将教育材料整合到平台中。使用的平台是合肥学院在线学习平台,该平台由超星公司负责开发。图1是在线学习平台,图2是基于平台设计的C语言学习平台。该MOOC已经在平台上进行了发布。在开设课程之前,团队开设了一个试点课程,以便对课程和平台进行故障排除和评估。测试阶段的参与者是少数学生和经验丰富的教师。在此阶段,课程管理团队在教育过程中与教育支持团队合作。技术支持团队在整个教育过程中提供技术支持。

图1 在线学习平台

图2 计算机C语言学习平台

3 结果和讨论

结合 MOOC 课程特点,从课程本身,教师以及学生等3个角度设计了 MOOC 课程评价体系,细化的体系指标包括知识点、内容编排、习题设计、教学方法、课程答疑、视频录播、课堂测验、课堂作业,作业完成率,考试及格率以及学生参与度等。整个评估阶段包括两个方面。

(1)形成性评估:在过程的每个阶段都提供形成性评估,包括收集信息以识别问题。因此,形成性评估包括小组访谈以及试点实施。此外,在试点实施期间,会给出问卷调查或访谈,以便考虑任何出现的问题和需要的改进措施。

(2)最终评估:最终评估旨在为用户提供反馈机会。具体而言,在最终评估期间,通过调查问卷和访谈的结果以及来自平台的有用信息进行分析,以提供有价值的信息反馈。

通过采用网络层次分析法(Analytic Network Process,ANP),计算MOOC课程评价指标的重要性权值,为MOOC课程评价提高参考。[14-15]计算结果如表2所示,从计算分析结果可知,课程答疑和在线直播交流对课程质量影响程度较大,这是因为课程本身的难度大,而且参加学习的大多数学员为低年级学生。同时,课堂测验以及教师在直播过程中对学生的随机提问对保证课程质量也产生积极的影响。因此,根据评估反馈结果,课程建设团队对课程建设的各个阶段进行梳理和细化。例如,针对设计阶段,重新对知识点和学习活动进行细化,针对重难点部分提高答疑次数,录播视频进行多段小时长的方式进行录制。在实施阶段,采用视频录播和在线直播相结合的方法,适当加大提问等课程活动。

表2 指标评价权值

4 总 结

本文提出了一种基于团队的协作方法,侧重于计算机C语言编程的MOOC建设。由于建设优质MOOC资源的需要以及参与学习的人员规模原因,MOOC本身需要一种基于团队的方法来进行课程开发。在MOOC开发完成之后,根据研究目标以自上而下的方式收集和分析有关学习者的数据。这些研究结果将为团队开发建立MOOC提供有价值的参考。此外,通过调整,采用这种协作建设方案也可以为其他教育机构创建一个基于团队合作的在线课程开发提供参考。

猜你喜欢

课程管理C语言编程
学校发展视角下中小学课程管理问题探究
学校发展视角下中小学课程管理问题探究
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
51单片机C语言入门方法
基于C语言的计算机软件编程
探究新课程背景下如何完善小学课程管理