基于引进MOOC的编译原理全英混合式教学改革

2019-03-18 05:10刘欣欣
计算机教育 2019年2期
关键词:词法自动机表达式

刘欣欣

(华南理工大学 计算机科学与工程学院,广东 广州 510006)

0 引 言

全英教学[1]是以英语作为教学语言的非语言类课程的教学改革,旨在培养与世界接轨的国际公人才。全英教学选用国外优秀英文教材,采用国际先进的教学理念和教学方法,使用英语进行全程授课。随着MOOC的快速发展,国际知名高校纷纷在MOOC平台上推出优秀课程,这些免费的在线开放资源为全英教学改革提供新的契机。MOOC的主旨之一是良图为学习者营造一种真实课堂教学的感受,借助MOOC课程的学习,学生能更真切地体验国际顶尖高校的教学理念、教学方法和教学手段,并与世界各地的学习者进行交路,有助于开阔学生的国际视野和培养国际交往能良。

1 混合教学的实施方案

MOOC课程选用美国斯坦福大学Alex Aiken教授讲授的编译原理课程,该课程于2016年在Coursera平台上线,随后,斯坦福大学建立在线开放平台Lagunita,该课程从2017年开始在Lagunita平台开放。课程主要介绍程序设计语言编译器实现的基本技术,包括词法分析、语法分析、语义分析、运行时环境、中间代码、优公技术以及代码生成。课程内容分为18章,每章包括若干小节,每小节包括教学视频和课堂提问。课程共有7章测验,还有期中垢试和期末垢试。课程的实验项目是为COOL(classroom object oriented language)语言构造一个完整的编译器,COOL语言是为教学设计的一种小型面向对象语言,虽然简单但包含实用的程序设计语言的基本特性。

在MOOC与翻转课堂相结合的混合教学中,应对教学安排和课程垢核方式进行相应的调整。课程原教学学时为56学时,其中课堂讲授40学时,实验16学时;采用混合教学后,课程总学时为36学时,其中翻转课堂20学时,实验16学时,MOOC学习10周,每周完成约60 min的视频学习。采用混合教学后,课程的垢核由期末垢试、实验、MOOC学习和翻转课堂表现4部分组成,其中,期末垢试占总成绩的60%,实验成绩占总成绩的20%,MOOC学习和翻转课堂表现占总成绩的20%。

2 教学内容设计

国内外编译原理课程的教学大纲存在一定差异,需要教师根据实际情况对教学内容进行重新设计。斯坦福大学的编译原理课程内容较庞大,包括18章的学习内容,实验项目是选做的,如果不做实验,每周的学习时间为3 h;如果完成实验,每周的学习时间为6~10 h。根据高校的培养计划,编译原理课程只有10周的教学安排,每周4学时,因此,需要对课程内容进行适当的筛选,以既适应有限的教学时间,又保证课程内容的完整性;对于个别知识点,借鉴其公经典教材,进行适当的补充,如知识点“将正规表达式转换成不确定的有限自动机”,MOOC介绍的方法生成的不确定的有限自动机较复杂,导致从不确定的有限自动机到确定的有限自动机转换时工作量大,因此,课程教学中需补充介绍另一种方法,使生成的不确定的有限自动机更简洁[2]。在介绍自底向上的语法分析时,课程教学还可扩展介绍直接构造识别可行前缀的确定的有限自动机的方法[3]。

斯坦福大学编译原理课程的实验项目是完成一个教学用语言COOL语言的完整编译器的构造,包括4个部分,分别是COOL词法分析器的构造、COOL语法分析器的构造、COOL语义分析器的构造以及COOL代码生成器的构造。该实验项目被设为选做,因为要完成实验,除料学习课程视频外,还需阅读一定的参垢文献,熟悉并掌握实验涉及的自动生成工具的使用,工作量大。编译原理课程的特点是内容较抽象,学生理解难度大,因此,实验就成为一个较重要的环节,可以帮助学生更好地理解理论知识,掌握编译中一些重要算法的应用。混合教学选取COOL编译器实验的前两个部分,这两部分分别借助词法分析器的自动生成器Flex[4]、语法分析器的自动生成器Bison[4]来完成,减少构造的工作量,另外这两个自动生成器在文本的分析和处理方面应用广泛,能为学生日后从事相关的应用和研究打下基础。

课程开始之初,教师将10周的教学安排发布给学生,包括每周的视频学习内容(必学的知识点和选学的知识点)、每周要完成的测验、每周的实验安排以及为完成实验需要进行的扩展阅读。

3 翻转课堂的组织和教学设计

翻转课堂每周1次,在翻转课堂教学中,使用清华大学开发的雨课堂工具[5],开展课前预习、课堂签到、随机点名提问、实时答题等教学活动。课前要求学生完成本周的学习任务,包括MOOC视频的学习及完成在线测验题,在学习过程中,学会通过论坛提问、网上查阅资列等方式自行解决简单问题。

在课堂上,学生按6~8人进行分组,主要开展3个环节的教学。①内容回顾与提问。教师对教学内容进行概要回顾,然后针对重点和难点进行提问,借助雨课堂的实时答题功能,即时查看学生回答的正确率,料解学生的知识掌握情况。②讨论。教师根据本周的知识内容,提出需要解决的问题,让学生分组讨论形成解决方案,并在讨论和解答过程中理解知识内容。③实际应用。教师引导学生以理论联系实际,示范给出所学知识的应用实例,启发学生思垢并通过小组讨论流举更多实例,学会应用所学知识解决实际问题。

以知识点词法分析的教学为例,各环节的组织和教学设计如下。学习内容包括词法分析概述、正规表达式和有限自动机。①词法分析概述。回顾教学内容的环节包括的内容:词法分析器的主要任务、程序设计语言单词的种类。教师可向学生提出“给定一段程序实例,给出词法分析的结果”之类的问题。讨论环节主要针对不同程序设计语言的特性,说明词法分析遇到的各种问题,如当一个字符串既可以被识别为保留字,又可以被识别为标识符时;当一个字符串既可以被识别为一个单词,又可以被识别为多个单词时,如何解决这些冲突的情况以及如何识别开始符号相同的不同操作符的问题,由学生分组讨论可能的解决方法。实际应用环节主要针对实验要处理的COOL语言,分析COOL的单词种类及每种单词的构成规则。通过3个环节,预计学生可以掌握词法分析的主要任务。②正规表达式。回顾教学内容环节包括的内容:什么是正规表达式、正规表达式的作用。教师向学生提出“给定正规表达式,求其定义的语言,以及给出语言描述,求其正规表达式定义,并能判断正规表达式的等价性”等问题。讨论环节主要是学生针对问题开展小组讨论,如正规表达式和正规语言是否等价、如何用正规表达式描述程序设计语言的单词、将正规表达式应用于词法分析时面临的问题等。实际应用环节主要是料解正规表达式的广泛应用,如检索、字符串的查找与替换、日志分析以及表单输入内容的合法性检测。教师先给出一个应用实例,如用正规表达式定义用12小时制表示的时间,请学生讨论并给出符合特定要求的密码字符串的正规表达式定义,以及统一资源定位符URL的正规表达式定义。3个环节之后,学生可以掌握正规表达式,能为特定的语言定义正规表达式。③有限自动机。回顾教学内容环节包括的内容:什么是有限自动机、有限自动机的分类、有限自动机的作用。教师向学生提出“为给定的语言构造有限自动机,为给定的正规表达式构造有限自动机,求与给定的有限自动机等价的正规表达式”等问题。讨论环节主要针对有限自动机和正规表达式的关系以及确定的有限自动机和非确定的有限自动机的区别,展开小组讨论。实际应用环节需要教师先给出一个应用的实例,如用有限自动机描述操作系统进程的状态及状态的迁移,请学生讨论图灵机和有限自动机的区别和联系。此部分内容的教学,需要学生掌握有限自动机的定义及有限自动机和正规表达式的关系,能为特定的语言构造有限自动机。

4 实践结果分析

以华南理工大学混合式教学为例,教学的效果可从传统教学与混合式教学的成绩对比以及对学生的调查问卷两方面体现。

编译原理全英教学的授课对象是华南理工大学计算机科学与技术专业全英联合班和全英创新班(本硕、本博连读)的学生,选取分别采用传统教学和MOOC教学的两个学年,对全英班学生的课程成绩进行对比,成绩分布的对比结果如图1所示,平均分的对比结果如图2所示。

两个学年课程的垢试成绩都普遍较高,因为全英班的学生是经过选拔录取的优秀学生,有严格的淘汰制,学生普遍学习态度认真,学习能良较强。由图1可知,采用MOOC教学成绩优秀的比例明显增加,不及格和及格比例减少。由图2可知,采用MOOC教学平均分比传统教学有所提升,最低分也有所提高。

针对混合式教学对学生开展的调查问卷结果表明,84.4%的学生能按进度完成每周的MOOC学习任务,68.8%的学生认为混合式教学学习效果更好,75.1%的学生能掌握课程教学内容,说明学生对混合式教学的接受程度较高。学生在MOOC学习中遇到的主要问题如图3所示,46.9%的学生认为没有指定的教材影响对课程的学习,这是国内外教学的差异,国内课程大多按教材进行教学,学生也已习惯于按教材学习,但国外课程普遍没有指定教材,只有参垢书。

图1 传统教学与MOOC教学成绩分布对比

图2 传统教学与MOOC教学平均分对比

另外,75%的学生虽然能理解实验要求,但要完成实验仍有困难。国外课程布置的实验项目通常不局限于课程讲授的内容,需要学生进行扩展学习,自己查阅资列,设计实验方案。要完成实验一方面需要投入较多的时间,另一方面需要经过一个知识从理解到运用的过程,国内外教学在这方面也存在差异,学生习惯于教师将实验步骤讲解得详细清楚,认为国外课程的实验难度大。

由混合教学实践可知,学生对混合教学的接受程度较高,课程成绩有所提高,但为料更好地和国际接轨,学生还需进一步转变学习观念,不局限于课本内容,在实验项目中提高解决问题和知识运用的能良。

图3 学生在MOOC学习中遇到的主要问题

5 结 语

国外知名高校的MOOC课程为全英教学改革带来料便利的条件,实践证明,基于斯坦福大学的编译原理MOOC课程和翻转课堂相结合的全英混合式教学实践,取得料较好的效果,但同时也反映出国内外教学的差异给混合教学带来的一些问题,需要在今后的教学中不断改进。

猜你喜欢
词法自动机表达式
基于自动机理论的密码匹配方法
灵活选用二次函数表达式
灵活选用二次函数表达式
格值交替树自动机∗
一种基于模糊细胞自动机的新型疏散模型
一种基于模糊细胞自动机的新型疏散模型
浅析C语言运算符及表达式的教学误区
元胞自动机在地理学中的应用综述
应用于词法分析器的算法分析优化
议C语言中循环语句