您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页使用Python进行非计算机专业程序入门教学的探讨

使用Python进行非计算机专业程序入门教学的探讨

来源:步遥情感网
龙源期刊网 http://www.qikan.com.cn

使用Python进行非计算机专业程序入门教学的探讨

作者:张茗芳

来源:《电子世界》2012年第17期

【摘要】本文探讨了一种创新的教学方式:使用Python编程语言进行非计算机专业程序入门教学。文章探讨和展示了新的课程设计和教学大纲。本文提供的教学方法也可以非常容易的扩展到对计算机专业和信息系统专业的教学。 【关键词】程序教学;创新教学;教学技巧;Python

计算机教学的目标之一,是要使学生具有“扎实的问题分析能力和的思考能力”。要达到这个目标,一定程度的算法能力和编程实践能力必须尽早的教授给学生,也许大一第一/二学期就应该开始。目前,很多学校的计算机相关专业都在不断的发展和实践各种不同的教学方法,期望能让学生更好更快的入门编程。

但是,众所周知,无论使用哪种编程语言(C,C++等),程序入门教学都是比较困难的。程序入门教学的对象是“初学者”(包括计算机专业和非计算机专业),他们一般只具有很少甚至没有任何编程经验和背景。程序入门课程面对的困难是:在教会学生掌握分析和思考能力的同时,也要让学生掌握一门具体编程语言的概念及使用。针对这个教学目的,衍生出很多创新的教学方式。而针对这个问题,本文也提出了一种创新的教学方式,即使用Python编程语言进行教学。这一教学方式在我校的计算机专业和非计算机专业都进行了尝试,结果证明这一教学方式是有效和令人满意的。根据学生的反馈和调查,以及不断增长的参加这门课程的学生人数,我们相信这个教学方式值得推广,可以广泛应用到各种不同的计算机专业和非计算机专业的程序入门课程。 1.为什么选择Python?

对大多数学校而言,针对非计算机专业开发这门课程是个挑战:首先,学习这门课程的学生完全是一张白纸,没有任何计算机编程或程序设计的概念。其次,通常程序入门是非计算机专业的一门选修课,学生来自不同的专业,有的具有很好的数学背景而有些没有。第三,这门课程教授的编程语言必须符合计算机发展的潮流,应该具有面向对象的特点。当然,可供选择的语言有很多,从C,C++到Java,但是,问题是,哪一种语言既足够简单能让学生快速上手,同时又能用来解决实际问题。在课程开始的一段时间里,大多数学校一直使用的是C语言。根据我们自己的经验以及学生的反馈,我们认为,C语言虽然强大,但并不适于教授给没有任何编程背景和经验的非计算机专业学生。

龙源期刊网 http://www.qikan.com.cn

问题是为什么选择Python?免费,开源,跨平台,面向对象,丰富的Python教程,这些都是选择的理由,但最重要的还是因为Python本身极高的易用性和强大的功能。根据我们最近两年的教学实践,Python得到这一评价是实至名归的。Python的极高的易用性是学生可以把精力集中在对问题的分析和思考上,而不是花在学习复杂的语言结构和语法上。 2.教学方式

给非计算机专业教授程序设计,即使是入门级的课程,也是很有挑战性的。传统的程序设计教学包含很多的课时,测试以及考试,对于非计算机专业入门课程来说,这并不是一个很好的方式。主要因为以下几点:第一,因为学生的背景是各不相同,因此需要很多课时来学习基础的编程知识。第二,大部分学生都不喜欢冗长的静态教学,100分钟的课堂很难一直保持注意力。第三,课后作业(包括练习,试验等)并不能真正的让学生理解编程。实际上学生总是在互相copy彼此的作业。为了避免这些问题,教学时应尽可能的使学生在课堂上练习思考和研究问题,以提高学生思考和解决问题的能力。为了鼓励学生,对于能在课堂上完成的学生,应给予额外加分。总的来说,教学方式的核心思想是把教师的职能从“高高在上的圣人”,变为“指导学生的助手”,从而来达到我们的教学目的。让学生通过有挑战性的问题,联系课堂活动,来理解程序设计。经过一段对课程的实践,我们观察到了学生的进步。首先,学生喜欢这样的互动教学模式(通过对学生调查和反馈);第二,学生愿意在课堂上花费更多的时间(有些学生甚至建议增加课时);第三,学生变得更加自信并且测验和考试通过率也更高。总而言之,学生比教学方式改变之前学得更好,期末平均成绩证明了这一点。 3.教学任务和目标

程序入门教学要达到以下教学目标:

(1)教授给学生足够的计算机组织与结构知识(软件和硬件); (2)教授给学生的使用Python编程语言的能力;

(3)提供符合教学要求和大纲的各种不同的实例和项目,帮助学生掌握思考能力和实际问题解决能力;课程是入门级的课程,基本不考虑学生背景的差异。 我们教学方式符合下面这些教学目标: (1)教授给学生基础的Python程序语言概念 (2)教授给学生基础的程序设计概念

(3)让学生理解以下概念:抽象,调试程序,函数和对象,递归,重用等 (4)教授学生程序逻辑思维和解决问题技巧

龙源期刊网 http://www.qikan.com.cn

(5)教授学生发展团队合作技能 (6)教授学生发展交流技巧

(7)教授学生把学到的编程技巧应用和其他知识融合 4.课程特点和结构

为了适应此种教学方式,我们依据课程特点设计和测试了以下课程结构并得到了学生的积极反馈:

●Python语言的易用性使得学生把精力集中在对问题的分析和思考上,而不是花在学习复杂的语言结构和语法上

●强调逻辑推理能力,课程理论和实践都围绕这一点

●每个星期课程都包含三部分内容,分别有理论学习,课堂实践,学生练习以及团队合作。课后作业也是紧密联系本节所讲授的重点。如表1所示。

●每节课都包含有一个“解决问题”环节,紧密联系当前阶段所学习的内容,重点是问题分析能力以及把字面问题转换为计算机能理解的问题。

●如果时间允许,和计算机相关的高级内容也可以介绍一些。

●课堂时间环节重点培养学生用软件方法解决问题的能力。选择的问题要尽可能的接近实际并鼓励学生去解决实际问题。课堂要尽可能互动,要选择一些容易让学生互动的方式和问题。

●详细讲解每一个课堂示例。

●试验环节要包括需要团队合作才能完成的内容。 5.教学大纲

●介绍:计算机里面有什么?

○这节内容简要的介绍一下计算机组织与结构,操作系统和编程语言。 ●Python开发环境

○这节内容介绍Python的安装以及运行环境。

龙源期刊网 http://www.qikan.com.cn

●Python的第一个程序

○这节内容介绍几个简单的Python程序

○课堂实践环节介绍一下Python的运行模式:运行模式和编辑模式

○跳过main函数,直接在命令行中运行程序,以便降低难度并让学生有一个直观的认识 ●介绍软件开发流程

○这节课程,对软件开发流程进行一个详细的介绍

○根据内容,例举一些软件开发的例子(如Windows是如何全球协作开发) ●Python基础语法和命令

○介绍Python的输入和输出,以及赋值语句

○介绍Python的两种基础数据类型:数值型和字符串类型 ●循环和判断

○介绍if,if-else,if-elif-else ○介绍for循环 ●函数

○介绍基础的函数式编程(根据我们的经验,对于非计算机专业学生而言,函数式编程要容易理解的多)

○函数的概念,对于没有属性背景的学生而言,会有一点困难 ●递归函数

○本节是整个课程中的一个难点

○通过分解复杂问题为简单问题,通过实例介绍此概念 ●简单数据类型,比如列表,数组和字典 ○介绍数据类型的概念

龙源期刊网 http://www.qikan.com.cn

○通过实例使用列表,数组和字典来理解它

○介绍Python的两种基础数据类型:数值型和字符串类型 ●算法

○介绍算法的设计基础

○重点介绍算法是如何让复杂问题变得简单并如何应用到实际生活中 ●高级话题,包括面向对象设计,网络编程等 6.结论

无论对于计算机专业还是非计算机专业,程序设计都不是一门简单的课程。对于非计算机专业的学生,根据我们的教学经验,Python编程语言因其极为简洁的语法和强大的功能,以及优秀的面向对象能力,非常适合于编程入门教学。我们使用的创新的教学方法已经在我们学院被测试过。教学成果表明课堂实践联系要比冗长的课程更有效率。课堂实践总是和当前教授的内容紧密结合,团队协作任务和完成任务也总是相辅相成。总的来说,这种教学方法是有效的将学生与教师结合在了一起,提高了学生的学习主动性,也提高了教师教学的积极性,这种教学方式是值得推广的。 参考文献

[1](挪)Magnus Lie Hetland.Python基础教程(第2版)[M].北京:人民邮电出版社,2010. [2](美)Magnus Lie Hetland.Python核心编程[M].北京:人民邮电出版社,2010. [3](美)Mark Lutz.Python学习手册[M].北京:机械工业出版社,2011.

[4]David Ranum,Bradley Miller,John M.Zelle,Mark Guzdial.Successful approaches to teaching introductory computer science courses with python.Technical Symposium on Computer Science Education-SIGCSE,2006:396-397.

[5]Nitin Madnari.Getting started on natural language processing with python.ACM Crossroads Student Magazine-XRDS,2007,13(4):5-5.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务