推荐星级:
- 1
- 2
- 3
- 4
- 5
基于Python语言程序设计的交互式课堂教学探索
资料介绍
本文讨论了如何在程序设计基础课程中实现交互式的课堂教学.通过使用Jupyter Notebook和Python Tutor等工具,提高课堂教学效率,激发学生的学习热情.本文提出的教学设计,也适用于其它编程语言的教学.
部分文件列表
文件名 | 大小 |
基于Python语言程序设计的交互式课堂教学探索.pdf | 2M |
部分页面预览
(完整内容请下载后查看)科 教 创 新
基于 Python 语言程序设计的交互式课堂教学探索
510000ꢁ广州中医药大学医学信息工程学院ꢁ广东ꢁ广州ꢁ罗晓牧
【摘ꢀ要】本文讨论了如何在程序设计基础课程中实现交互式的
课堂教学。通过使用ꢀJupyterꢀNotebookꢀ和ꢀPythonꢀTutorꢀ等工具,提高
课堂教学效率,激发学生的学习热情。本文提出的教学设计,也适用
于其它编程语言的教学。
使用ꢀJupyterꢀNotebook,有以下的明显优点:
(1)运行一次代码,保存结果,可以多次阅读,不需要为每一
个程序段保存单独的文件,程序段之间并不互相影响。
(2)交互式编程,通过 Pythonꢀ的内核运行程序段,并且可以随
时修改,重新运行,方便学生“试错”,立马得到结果。
(3)除了可以根据ꢀPythonꢀ的语法在代码段后面注释外,还可以
通过ꢀMarkdownꢀ语法撰写文档。
【关键词】Python;交互式教学;JupyterꢀNotebook;PythonꢀTutor
计算思维是国内外各界重点关注的一种先进的教育理念,已经成
为计算机程序设计课程教学的指导思想。在我国,Cꢀ语言是目前众多
高校所教授的第一门编程语言,对于刚接触计算机编程的学生,具有
一定的难度和挑战性。C 语言注重的是“计算机系统结构时代”的计
算思维,教学内容围绕数据类型、指针、内存、字符操作等展开,初
学者很容易陷入ꢀC 语言语法的细枝末节中,并不能很好的激发程序设
计的兴趣。相比之下,Pythonꢀ语言的受欢迎程度日益提升。Pythonꢀ是
目前最接近自然语言的计算机编程语言,近年来在美国高校中广受
欢迎,在众多的知名高校中取代ꢀC 和ꢀJavaꢀ成为计算机入门的编程语
言。ꢀPythonꢀ语言简洁高效,能让学生关注计算问题的求解,其轻量级
的语法和高层次的语言表示充分表现了应用计算机解决问题的计算思
维理念。Pythonꢀ语言除了应用于教学,在工业界也有广泛的应用。如
Googleꢀ用于深度学习的开源平台ꢀTensorFlow 支持ꢀPythonꢀ语言进行神经
网络的搭建与计算。
要学好ꢀPythonꢀ语言,除了学生的认真学习之外,教师的课堂教学
方法也十分重要。以前那种用黑板或用ꢀPPTꢀ的静态传统教学模式,也
应该适应时代的发展,与学生进行有效的互动,提高教学效果。
一、JupyterꢁNotebook 的使用
在传统的程序设计课堂上,通常都是采用“理论课”+“上机课”
这两种模式,并且这两个环节通常是分开的。然而,这样的教学效果
并不好。在理论课上,教师的主要教学手段是对着ꢀPPTꢀ进行讲解,学
生在下面记笔记。由于刚入学的学生基础各不相同,有的同学缺乏对
计算机体系结构的理解,仅仅靠教师的静态的讲解,并不能很好地理
解程序设计的要点。能跟得上老师讲课节奏的学生,能“脑补”各种
(4)可以添加各种元素,比如图片,视频,链接。
这样通过 JupyterꢀNotebook,就可以很好的实现互动式教学。教师
可以先讲解一个知识点,马上让学生做练习题,然后再讲解下一个知
识点。在统一的环境下,学生对于不懂的知识点可以及时反馈,教师
进行答疑。
二、PythonꢁTutorꢁ的使用
在使用计算思维解决问题的过程中,把复杂而庞大的问题按照比
较合理的方式进行分解简化,然后逐步求解,是基本的思想。对于刚
开始接触编程所面对的难以理解的概念,如:递归,通过可视化的运
行环境将对学生的理解将十分有帮助。PythonꢀTutor 是由加利福尼亚
大学圣迭戈分校ꢀPhilipꢀGuoꢀ教授所开发的一款免费的在线教育工具,
可以帮助学生攻克在开始学习编程时所遇到的障碍,理解每一行源代
码代码在计算机内部的执行过程。通过这个工具,学生和教师可以在
Webꢀ浏览器中编写 Pythonꢀ代码,然后一步一步地可视化执行。截止
2017 年,有来自超过 180 个国家和地区的超过 350 万人使用过ꢀPythonꢀ
Tutor,超过 3000 万个代码段被执行。这个工具通常作为教材、讲义
和在线编程指南的补充。使用者不仅仅包括自学的编程者,如ꢀedX、
Courseraꢀ和ꢀUdacityꢀ等在线课程的学生,还包括ꢀMIT、加利福尼亚大学
伯克利分校等国际著名高校的教师。
图ꢀ2ꢀ是 PythonꢀTutorꢀ运行递归程序时的截图。图的左边是代码段,
可以通过“Back”和“Forward”两个按钮查看每一步程序的运行结果。
图的右边是程序运行到某一步时的情况,包括定义的函数、全局和局
部的变量、以及每一个变量所指向的对象及其值。通过单步执行,学
计算机程序的实现;对于跟不上的学生,容易注意力涣散。到了上机课, 生可以形象化的理解“递归”这个程序设计的关键概念,这是传统通
学生需要完成一定的练习题。然而,这时候老师不可能再重新讲解程
序设计的要点。对于理论课上没有掌握好知识点的学生,就会出现“两
眼一抹黑”的情况,完全不知所措。因此,我们在实际的教学中,可
以尝试将“理论课”和“上机课”结合起来,实现交互式教学。
要实现程序设计课程的交互式教学,需要合适的教学软件。教学
软件要能满足以下的基本要求:
过静态ꢀPPTꢀ教学所不能比拟的。
(1)包含文档和图片,将知识点完整表达。
(2)实时运行程序段,将程序运行的结果表示出来,并且可以
方便修改,重新运行。
基于上述的要求,我们在课堂上使用 JupyterꢀNotebook,取得良好
的教学效果。JupyterꢀNotebookꢀ是包含在 Anacondaꢀ的一个组件。图 1ꢀ为
JupyterꢀNotebookꢀ的运行环境截图。
图 2 Python Tutor 单步执行时的截图
本文讨论了针对基于ꢀPythonꢀ语言的交互式课堂教学,有助于全面
提升教学质量,激发师生的创新热情,让学生掌握一门终身受用的程
序设计语言。要实现高效的交互式教学,必备的软件运行环境不可或
缺。作为教师,应该时刻关注最新的教学方法与工具,及时调整,才
能激发学生的学习热情。
参考文献:
[3]ꢀPythonꢀTutorꢀ[EB/OL]ꢀhttp://pythontutor.com/
作者简介:
罗晓牧(1980.05~)男,广东省广州市,学历ꢁ博士研究生,职
称ꢁ讲师,研究方向ꢁ无线传感器网络。
图 1 Jupyter Notebook 的运行截图
179ꢀ都市家教
全部评论(0)