网络资源辅助下的Python程序设计教学

2018-01-18 21:10嵇立安
电子技术与软件工程 2017年21期

摘 要本文对于Python学习网络资源做了归纳分类,说明了每类资源的特点,具体介绍了几个有特色的学习网站,就网络资源辅助下的Python学习进行了讨论,阐释了利用优质网络资源可以提高课堂教学效果,增加教学的生动性、直观性和交互性。同时说明了这些资源的利用能够方便学生的编程训练,使学生有更多的时间和机会动手编程,实现编程教学中“做中学”的教学理念。文章还讨论了这种教学模式下对应的教学指导和管理。

【关键词】Python 编程教学 在线编程 MOOC

1 前言

Python是一种解释型的、面向对象的、免费的、开源的跨平台高级动态编程语言,它可以处理系统运维、图形处理、数据库编程、多媒体编程、软件分析、Web编程、科学计算与可视化、机器学习、人工智能等。

Python 语言已经成为国际上最受欢迎的程序设计语言,国外众多大学从2009 年开始针对该语言广泛开设相关课程。2016年,教育部高等学校大学计算机课程教学指导委员会发布了《大学计算机基础课程教学基本要求》,首次建议将Python 语言作为程序设计入门课程的教学语言。现在国内很多大学在计算机类专业和非计算机类专业开设了这门课程。因此我们有必要研究符合认知规律的教学方法,以提升这门程序设计课程的教学效果。

传统程序设计课程的教学方式是“课堂讲授理论——上机操作——课后练习”,教师花费大量时间用于课堂讲解语法结构和基础理论知识,学生在实践课上按照教师布置的实验题目将程序录入,调试程序就算完成任务。这种教学模式下,教学过程枯燥无味,学生容易失去学习兴趣。为解决这个问题,我们认为理论教学应结合实践,同时强化学生的实践环节,提高学生的自主学习能力和兴趣。要实现以上的教学思路,就需要一定的技术支撑条件。我们发现已有的一些网络资源可以很好地满足我们的要求。

2 适用的网络资源

现在网络上适于Python学习的资源十分丰富,除了免费的电子图书之外,还有很多网站提供了各种学习帮助。按功能来划分大致将这些网站分为三类,第一类,提供编辑和运行平台,这样用户就不需要搭建开发环境,只要上网登陆这些网站就可以进行开发工作。这类网站有http://www.dooccn.com/python3/,http://yishouce.com/python/run,http://codepad.org/等。第二类,具有编排好的学习内容,同时还有编辑和运行环境,这类网站有https://www.codecademy.com/、http://pythontutor.com/、http://interactivepython.org/等。第三类,是各种MOOC(慕课)网站,特点是除文字学习材料外,还提供了视频讲解,这类网站有http://www.icourse163.org/(中国大学MOOC)、http://www.mooc.cn/(MOOC中国)、http://mooc.guokr.com/(MOOC学院)、https://www.edx.org/、https://www.coursera.org/等。

第一类网站为用户提供了随时随地编辑运行Python程序的平台,而不需要在所使用的计算机上安装Python IDE。学生登陆这样的网站就可以编辑、调试和运行自己的Python程序,进行编程练习及程序开发。

第二类网站更适合学生学习Python,它们不仅有在线的Python IDE,还系统合理地编排了学习内容。这类网站各具特色,有些还提供了很强的交互学习功能。这里介绍几个有特色的网站。

网站http://pythontutor.com/的特点是它可以演示程序执行的步骤,其截图如图1所示。

网站https://www.codecademy.com/是个流行的编程学习网站,登陆后进入Python学习页面,如图2所示。页面窗口分为三部分,左边是学习内容的讲解,中间是编辑器,右边是程序运行后的输出面板。如果你编辑的程序出现错误,那么在执行时就会给出错误提示,帮助你修改错误。该界面不仅可以编辑运行网站上的例子程序,也可以编辑运行你自己的程序。

还有一个网站http://interactivepython.org/runestone/static/thinkcspy/index.html,打开这个网址就进入到互动电子书“How to Think Like a Computer Scientist: Interactive Edition”页面,点击有关章节的超链接就打开具体学习内容的页面,如图3所示。这个网站是Python学习功能完整的网站,电子书中的代码可以随时运行,并且还可以显示代码执行的步骤,每一章后面附有练习,练习包括问题、答案和讨论,如图4所示。

第三类是MOOC(慕课)网站,其网站上每门课程一般包括课件、测试与作业、考试和讨论区等内容。每一部分学习内容不仅有文字材料,还有视频。总体而言,MOOC网站基本上是把现实中的授课学习模式移植到了网络上。

3 网络资源辅助学习方式下的教学指导与管理

网络资源的使用为学生和教师都带来很大的帮助和便利。学生善用这些资源就可以自主学习,增加动手编程的机会。我们知道,要掌握编程技术一定要多加练习,只有在做中学才能取得好的学习效果和效率。教师利用这些网络资源可以提高课堂授课效果,改变以往授课过多依靠幻灯片的情况。这些网站上的程序执行步骤演示功能为学生理解程序执行过程提供了直观手段。

以往的教學过程是“课堂讲授理论——上机操作——课后练习”,由于受实验室资源的限制,老师课堂讲授理论占去了多半课时,学生缺少上机操作的时间。学生课后进行练习也不方便,因为必须在安装了Python 编程环境的计算机上才可以做练习。现在,利用这些网站,就可以在任何一台上网的计算机上进行在线练习。endprint

在网络资源辅助学习的模式下,教师对于学生的学习指导和管理会发生相应的变化,比如,会要求学生登陆某个网站,自学一部分内容,完成网上的练习,老师在上课时可以检查学生的作业完成情况。也可以布置更多的实验练习让学生课下完成,上实验课时老师可以把有限的时间用在为学生答疑和检查编程练习的完成情况,为每个学生提供针对性的指导。

4 结语

现在,网络上的Python学习资源越来越丰富,合理恰当地利用这些资源有利于实现理论教学的演示性、交互性和实践性。对于学生来说,网络资源为学生的“做中学”提供了更多的便利和时间,使上机练习不再局限于上实验课的时间。此外,这种学习模式还有助于培养学生的自主学习能力,裨益学生的成长。

参考文献

[1]刘卫国,奎晓燕.Python 语言程序设计教学体系建设[J].计算机教育,2017(08).

[2]胡平.国外MOOC主流平台的调查与分析[J].河北科技图苑,2015(05)。

[3]陈肖庚,王顶明,MOOC的发展历程与主要特征分析[J].现代教育技术,2013(11).

[4]秦科,刘贵松.面向 Python应用的大学教学改革初探[J].计算机教育,2017(09).

[5]赵霞,张珣等.Python语言教学中问题解决能力和创新能力的培养实践[J].计算机教育,2017(09).

[6]张莉,金莹,张洁.多样化可扩展的Python教学体系探索与实践[J].计算机教育,2017(08).

[7]狄博,王晓丹.基于Python语言的面向对象程序设计课程教学[J].计算机工程与科学,2014.

[8]http://www.dooccn.com/python3/.

[9]http://yishouce.com/python/run.

[10]http://codepad.org/.

[11]http://interactivepython.org/runestone/static/thinkcspy/index.html.

[12]https://www.codecademy.com/.

[13]https://www.edx.org/.

[14]https://www.coursera.org/.

[15]http://www.icourse163.org/,中国大学MOOC.

[16]http://www.mooc.cn/,MOOC中国.

作者简介

嵇立安(1963-),男,河南省卫辉市人。碩士学位。讲师。研究方向为数据储存技术。

作者单位

河南工业大学信息科学与工程学院 河南省郑州市 450001endprint