浅谈Markdown 在程序语言类教学演示中的应用

2020-03-24 11:10曹天泽潘家志
科学技术创新 2020年2期
关键词:编辑器编程语言文档

曹天泽* 潘家志

(杭州师范大学,浙江 杭州310000)

让学生很好的阅读代码,理解程序的运行原理,一直是程序设计类课程的核心目标。现有的课程教学模式常常将课程类型为理论课和实验课。在理论课中使用ppt 进行演示,教述编程语言的语法,在实验课中让学生模仿教材或者PPT 中的代码。在实际教学中,常有以下缺陷:(1)ppt 并没有原生对于各类编程语言的高亮,在实际演示时,无法对代码中各类变量、方法、控制结构、类、类的成员进行鲜明的标记,增加学生辨识理解的难度;(2)在设计格式样式时,在ppt 中撰写的代码对常常误输入中文全角的符号。学生在复制ppt 中的代码到编译器中执行时,常常因为没有清楚认识到全角符号的样式,造成程序运行失败。对于这些错误,学生也经常不能自行排查,常困惑于此,进而打击学习编程的积极性。Markdown 作为一种简单标记语法,有别于LaTeX 的复杂和高耸的学习曲线,通过相对少量的标记即可渲染出简单明了的文档。2018 年微软推出的编辑器VS Code 就原生支持Markdown 语法,甚至各类网站都退出各类web 版编辑器,只需一个浏览器软件就可完成Markdown 文档的写作。笔者通过数年的探索和实践,在各类程序设计类课程中引入Markdown 进行教学演示,有些许体会,借此与同仁分享[1]。

1 MarkDown 语法概述

MarkDown 将具体文档的样式和文本的内容分离,在文本中只声明结构,而具体的样式渲染交由所依附的编辑器渲染引擎负责。最常用的语法如表所示。

Markdown 常用语法

1.1 在MarkDown 中设置标题

Markdown 通过在行首插入#来声明此行为标题,而定义为几级标题,取决于插入#的数量,编辑器会基于不同级别的标题,渲染为不同的字体、大小和间距。对于一级标题,除了字体设置比较大,还会带有下划线。对于除一级标题以为的二级、三级等标题,会依次设置为较小的字体大小。

1.2 在Markdown 设置文本样式

对于在文本编辑中的经常使用的加粗、斜体字、列表、引用、链接、插入图片等功能,Markdown 中都有相应的语法给予支持。对于要加粗的文本,只需在文本两端插入“**”;对于要设置为斜体字的文本,需要在在文本两端“*”;对于要设置为列表的内容,需要在个列表的行首插入“*”。对于要引用一段其他文献的内容,可以在引用的段落内容前加入一个“>”,编辑器会在设定该段文字的背景色有别于正文。当要插入超链接的时候,需要使用“[title](link)”的结构,在圆括号“()”中写入超链接,正文会显示出方括号"[]"中的内容,但点击文本,可以跳转到相应的超链接。当要插入图片的时候,需要使用“![text](path)”的结构,在方括号中写入要显示图片的本地或者在网络中的路径,如果显示失败,编辑器会显示方括号中的文本内容[2]。

1.3 在Markdown 中插入表格

在日常编辑文本中难免需要插入表格,Markdown 支持通过在不同单元格内容之间使用“|”来设置单元格,通过使用“-”来声明该行上一行的内容为行首内容,编辑器会相应的将行首的内容加粗,如图1。通过在使用“-”来分割行首和其他行的单元格中不同位置插入英文冒号,可以分别声明该列为左对齐、右对齐和居中对齐。

1.4 在Mardown 中插入公式

Markdown 支持使用Tex 或LaTeX 格式的插入数学公式,只需在两个美元符号“$$”包括住LaTeX 格式的公式,就能正确的显示出精美的公式,如图2。

2 Markdown 在程序语言类教学中的应用

2.1 在Markdown 插入程序语言代码

Markdown 本身支持对于代码块文本的整体高亮显示,只需在两个“```”符号之间输入代码,并在第一个“```”后标注对应的编程语言。Markdown 会基于相应的编程语言特性对代码文本进行高亮。如图3,分别编写了C 编程语言和Python 编程语言的Hello World 程序。Markdown 文本对于各语言的头文件、解释器声明语句、方法以及各类字符串常量分别用各类鲜明的颜色进行区分,便于快速阅读代码,知晓代码运行逻辑。

图2 使用LaTex 公式的代码和样式

图3 C 代码块和python 代码块在Markdown 中的渲染效果

在日常教学中,放弃以PPT 展示的纯理论课教学形式。采用机房实验室授课,学生都必有一台电脑。基于Markdown 编写教案,将示例代码穿插的写入教案文档中。上课时,利用同屏传输软件InletexEMC,同步传输文档内容给学生,按小节为单位讲解教学,并现场示例代码的实际运行过程。完成一节教学后,立刻让学生动手实际操作,加强记忆。学生也可根据自己的理解,修改Markdown 教案,便于反复的回溯。

在基于Python 和R 语言编程的演示性教学中,更是可以用Jupyter Notebook 替代普通的Markdown 文件。学生可以直接运行文档中的示例代码得到结构,所见即所得,省去了复制文档中代码到自己编辑器中运行的繁琐步骤[3]。

2.2基于现代电子教育技术的程序语言类教学演示

3 结论

Markdown 因为其简单文本标记的特点,原生支持各类代码的语法高亮,非常适合在计算机信息类程序语言教学工作的作为承载教案资料的媒介,从而让学生更快,更好的学习编程。

猜你喜欢
编辑器编程语言文档
浅谈Matlab与Word文档的应用接口
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
有人一声不吭向你扔了个文档
司空见惯感觉烦 锁屏画面快走开
计算机软件开发的JAVA编程语言及其实际应用分析
编辑精选APP
你距离微信创作达人还有多远?
浅谈不同编程语言对计算机软件开发的影响
Word文档 高效分合有高招
高职计算机编程语言课程教学方法的相关分析