- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
基于Python语言程序设计的交互式课堂教学探索
?
?
【摘要】本文讨论了如何在程序设计基础课程中实现交互式的课堂教学。通过使用JupyterNotebook和PythonTutor等工具,提高课堂教学效率,激发学生的学习热情。本文提出的教学设计,也适用于其它编程语言的教学。
【关键词】Python;交互式教学;JupyterNotebook;PythonTutor
计算思维是国内外各界重点关注的一种先进的教育理念,已经成为计算机程序设计课程教学的指导思想。在我国,C语言是目前众多高校所教授的第一门编程语言,对于刚接触计算机编程的学生,具有一定的难度和挑战性。C语言注重的是“计算机系统结构时代”的计算思维,教学内容围绕数据类型、指针、内存、字符操作等展开,初学者很容易陷入C语言语法的细枝末节中,并不能很好的激发程序设计的兴趣。相比之下,Python语言的受欢迎程度日益提升。Python是目前最接近自然语言的计算机编程语言,近年来在美国高校中广受欢迎,在众多的知名高校中取代C和Java成为计算机入门的编程语言。Python语言简洁高效,能让学生关注计算问题的求解,其轻量级的语法和高层次的语言表示充分表现了应用计算机解决问题的计算思维理念。Python语言除了应用于教学,在工业界也有广泛的应用。如Google用于深度学习的开源平台TensorFlow支持Python语言进行神经网络的搭建与计算。
要学好Python语言,除了学生的认真学习之外,教师的课堂教学方法也十分重要。以前那种用黑板或用PPT的静态传统教学模式,也应该适应时代的发展,与学生进行有效的互动,提高教学效果。
一、JupyterNotebook的使用
在传统的程序设计课堂上,通常都是采用“理论课”+“上机课”这两种模式,并且这两个环节通常是分开的。然而,这样的教学效果并不好。在理论课上,教师的主要教学手段是对着PPT进行讲解,学生在下面记笔记。由于刚入学的学生基础各不相同,有的同学缺乏对计算机体系结构的理解,仅仅靠教师的静态的讲解,并不能很好地理解程序设计的要点。能跟得上老师讲课节奏的学生,能“脑补”各种计算机程序的实现;对于跟不上的学生,容易注意力涣散。到了上机课,学生需要完成一定的练习题。然而,这时候老师不可能再重新讲解程序设计的要点。对于理论课上没有掌握好知识点的学生,就会出现“两眼一抹黑”的情况,完全不知所措。因此,我们在实际的教学中,可以尝试将“理论课”和“上机课”结合起来,实现交互式教学。
要实现程序设计课程的交互式教学,需要合适的教学软件。教学软件要能满足以下的基本要求:
(1)包含文档和图片,将知识点完整表达。
(2)实时运行程序段,将程序运行的结果表示出来,并且可以方便修改,重新运行。
基于上述的要求,我们在课堂上使用JupyterNotebook,取得良好的教学效果。JupyterNotebook是包含在Anaconda的一个组件。图1为JupyterNotebook的运行环境截图。
图1JupyterNotebook的运行截图
使用JupyterNotebook,有以下的明显优点:
(1)运行一次代码,保存结果,可以多次阅读,不需要为每一个程序段保存单独的文件,程序段之间并不互相影响。
(2)交互式编程,通过Python的内核运行程序段,并且可以随时修改,重新运行,方便学生“试错”,立马得到结果。
(3)除了可以根据Python的语法在代码段后面注释外,还可以通过Markdown语法撰写文档。
(4)可以添加各种元素,比如图片,视频,链接。
这样通过JupyterNotebook,就可以很好的实现互动式教学。教师可以先讲解一个知识点,马上让学生做练习题,然后再讲解下一个知识点。在统一的环境下,学生对于不懂的知识点可以及时反馈,教师进行答疑。
二、PythonTutor的使用
在使用计算思维解决问题的过程中,把复杂而庞大的问题按照比较合理的方式进行分解简化,然后逐步求解,是基本的思想。对于刚开始接触编程所面对的难以理解的概念,如:递归,通过可视化的运行环境将对学生的理解将十分有帮助。PythonTutor是由加利福尼亚大学圣迭戈分校PhilipGuo教授所开发的一款免费的在线教育工具,可以帮助学生攻克在开始学习编程时所遇到的障碍,理解每一行源代码代码在计算机内部的执行过程。通过这个工具,学生和教师可以在Web浏览器中编写Python代码,然后一步一步地可视化执行。截止2017年,有來自超过180个国家和地区的超过350万人使用过PythonTutor,超过3000万个代码段被执行。这个工具通常作为教材、讲义和在线
文档评论(0)