王梦菊
(哈尔滨金融学院,黑龙江 哈尔滨150030)
课程内容设置“颗粒度小”,总体组织“逻辑关系完整”。视频长度一般在10到20分钟左右,适合模块化学习。打破学科界限和传统教材内容,跨学科组织课程,强调广度。通过课程视频的在线开放,使学习者能够实现过程化共享,而不仅仅局限于知识点的共享。
在授课过程中,教师预先在讨论区中发布主题供学习者参与讨论。通过社交媒体增强学习者交互的共享性和社会化。
通过分析在线开放平台的学习数据,掌握学生的学习情况,及时调整教学进度。因此,在线开放课程对学生的评价不仅包括终结性评价,而且突出诊断性评价与形成性评价。
教材的首要目标是保证教学的科学性,即能够体现教学大纲和教学目标的要求,具备完整严谨的知识体系结构,内容阐释准确、深入浅出,将“原理-技术-应用”相结合,编排内容合乎逻辑、科学合理。
数据结构的内容十分丰富,初学者往往会感到知识点庞大混乱、学后忘前。解决这一问题最好的方法就是知识组织清晰、重点突出。同时,从教学需求及读者需求出发,对课程知识体系进行梳理。为此,数据结构教材应围绕“全局概述—三大数据结构—两大算法”这条主线展开讲述,知识体系应力求清晰完整;对于各章中的重点、难点及总结性知识点可考虑设置突出标识(如阴影文字),使学生易于抓住重点,便于学习。也可考虑配以知识结构图、使读者对本章知识结构一目了然。作为在线开放课程“算法与数据结构”的通用教材,在编写中应注意到知识模块的独立性和相关性,不同院校、不同专业、不同基础的学生可以根据不同的需要进行组合使用,从而适应各类高等院校和各类学习者的多样化人才培养需求。可在各章设有“重点知识整理”环节,帮助读者记忆总结。各章节围绕“基本知识提要—典型题解析—拓展知识—测试习题”这条主线展开,符合教学和学习规律。
就教材而言,编者的主要工作是讲解准确、突出重点、讲透难点,这也是在线开放课程教材编写遵循的原则。基础概念和术语、算法思想及规律应作为重点讲解内容;将算法的设计、实现和分析比较作为难点。针对难点,应配以适当的例子,帮助学生参照例子进行模仿练习,举一反三。因此,对于经典算法应采用实际编程语言,编写函数。如采用C语言,只要添加上主函数,程序既可运行。这样,有利于读者的在难点问题上的模仿训练。同时,算法编写应注意要风格统一、可读性强。各种数据类型的抽象数据类型设计应考虑便于用其他高级编程语言来改写,这有利于读者在难点问题上的拓展学习,也有利于在线开放课程的讲授。
在专业基础课教材中,概念准确十分重要。然而,由于计算机科学十分年轻,发展又快,使得许多概念在文献中没有统一的定义。因此,在概念第一次出现的位置提出可能的不同定义,尽可能给出所有概念的准确定义。对“一名多义”及“多名一义”的术语进行介绍,方便读者辨别和阅读相关文献,也为后续课程的学习作铺垫。同时,在线开放课程面向的受众具有多元化特点,不同的学习者同一概念的理解和接受能力是不一致的,多方面讲解有助于引领学习者尽快领悟概念、术语在计算机领域的相关内涵。例如,数据结构课程中出现的二维表中的记录,在先行课C语言程序设计中对应的是结构体,在后续课程数据库原理中对应的是关系中的元组,而在Excel等应用软件中又可称为“行”。也就是说,记录、结构体、元组、行,是在不同的课程中同一概念的不同称谓或实现方式。以上述方式讲解概念、名词、术语,有助于打破课程间壁垒,帮助学习者更早地看到计算机专业知识架构的全貌。
语言流畅是提高教材可读性的基础。语言风格可考虑讲义的方式,并通过润色使其更加准确、流畅。
可设置“典型题解析”环节,对于经典题目不只是简单地给出参考答案,而是进行详细的阐述解析,道其所以然,并讲解解题技巧,有利于学生举一反三,运用原理规律。由于在线开放课程的过程化特性,学生容易忽略课程中提及的中英文术语,可在教材中加入附录——常用术语中英文对照,对于初学数据结构课程的学生将大有帮助。
习题与实训教材的题型应尽量丰富,“典型题解析”部分则不局限于某种题型,针对知识特点以图示、列表、过程演示等方法进行解析,为学生提供丰富多样的学习素材。习题来源应广泛,如历届考研真题、软考真题、企业校招真题及多年一线教学的教案。选题应参考多所本科高校计算机类专业的教学大纲,依据教学重点、难点设置各知识点习题比例。
针对教学的讲授需求,注意下述方面。教材中引例与典型例题取材应适当,重点突出、深度适宜,适合在讲授中引课、论证、练习,有利于培养学生的科学思维与科学方法;具有丰富的实例,经典算法应给出相应的C语言函数及程序,稍加改动即可上机运行,以方便教师演示和学生验证。考虑案例启发式的知识编排,以激发学生的思考,方便带动课堂气氛;各章末可安排小结,注重问题的探索性,为学生和教师留有足够的空间,使统一要求与因材施教相结合。
为满足学生的自学需求,可注意以下方面。通过对复杂理论知识进行梳理并模块化设置,使学生能够按照不同需求来选择、整合;设置重点知识整理与典型题解析,为学生进行自主学习和相互合作创造良好的教材环境;设置测试习题与参考答案,为学生提供了检测学习效果的平台,便于发展学生的自学能力。
为便于开展实验实训,可设置如下内容。提供了向实际应用的实践性题目和需要综合运用多种数据结构才能解答的题目,使学生通过上机实践,一方面巩固、深化了课堂讲授内容,另一方面又能提高学生独立综合运用所学知识解决实际问题和难题的能力,从而激发学生学习的主动性,提升实验课教学效果。
目前,数据结构教材采用的语言主要有面向对象语言和面向过程语言两大类。作为面向对象的C++和JAVA描述,程序表面的可读性很好,内涵十分丰富,但要具体分析一个独立算法的时间和空间的代价往往比较困难。而这些内容恰恰是学习数据结构的一个重要目标,也是许多专业学生学习计算机的主要因素。加上教学计划安排的课程顺序、学时要求等因素,所以在编写教材时也可考虑C语言描述。C语言虽然是一个小语言,但具有丰富的表达能力,这使它简单、易学,又能满足基本的教学需求。另外,C语言是一个过程语言,用C描述的算法,其时间和空间代价分析最直观、准确。同时,算法编写风格应统一,以便具有良好的可读性强和可移植性,用其他高级编程语言来改写这些程序也可以轻松实现。
教材的文字表达是否规范、严谨,论证是否明确,严重影响着教材的质量。教材中的图表制作应清晰规范;编写形式和版式设计应规整、有吸引力;印刷应力求精美,装帧精致,同时注意纸质和装订质量;教材定价应合理,为多数学生所能承担。