论Python程序设计语言
2017-05-17朱鹏飞
朱鹏飞
摘要:随着科技的不断发展,也带动着社会的持续进步。相对而言,对于多元化人才的需求也在不断提升,特别是在当前信息化时代背景下,市场对于计算机人才的要求不仅仅局限于技术能力方面的需求,更体现在计算思维能力是否具备。虽然目前我国诸多高等院校也开设了对应的计算机课程教学,但是目前教学仅仅以传授知识为主,对于学生能力的培养往往过于忽视,因而研究如何针对大学生的计算思维能力进行培养,同时引导他们运用这种能力去解决一些现实问题,也是目前值得重视的问题之一。本文就以当今高校中开设的程序设计课程Python语言为例重点阐述对学生计算思维能力的培养。
关键词:计算机课程教学;程序设计;Python语言;计算思维
中图分类号:TP301 文献标识码:A 文章编号:1007-9416(2017)03-0238-02
1 引言
就一般计算机教学而言,主要以学习程序构成、编程方法以及软件开发等为主,特别是对于大学计算机教学而言,可以分为课程教学与上机实践两个教学阶段,对于前者,一般是要求学生初步了解程序的基本理念、构成,获得更多编程基础语言的知识储备;而对于后者则更加注重对学生计算思维能力的培养,同时让学生能够将这种思维能力用于处理一系列问题,从而达到学以致用的效果。当然,计算机学习过程也是较为缓慢的过程,而要解决普遍学习者入门难的问题,对于教学,特别是上机实践教学引入科学的教学方式也是十分必要的。基于面向对象的、解释类型的Python程序设计语言,其主要优势体现在其程序语法的简洁性,易读性,其整个学习过程特别是上机实践过程入门简单,上手容易,非常适用于满足不同计算机基础学生的学习需求,且具有泛用性,与其他程序设计语言良好的通用性等特点。因此,笔者将通过本文,从Python程序设计语言对学生计算思维能力的培养方面入手,进而进行具体的分析与探讨。
2 计算思维的基本概念
计算思维就是一种思维方式,而其主要是依靠基本的简化、嵌入、转化及仿真等程序处理方式,将单个看似难度较大的程序难题二次整合,同时诠释成为一个公众能够知晓问题如何处理的思维方式;同时它也是一种递归思维方法,即推行并行处理,就是将程序代码与数据之间实现双向翻译转换,而且它还能够达到多维研究推行检测的效果;当然,计算思维还能够保证通过抽象及解析来调控繁琐的任务或者展开大规模的、繁杂的系统设定,当然也是以关注分离作为基础;而且可以挑选科学的方法去产生单一问题,或对某个问题的有关内容进行建模,从而降低其解决和处理难度性的思维方式;当然,对于计算思维而言,同时还会衍生出防护、预案,或者根据冗杂、容错、改错以达到对整个程序控制的效果,并根据最差的状况下完成系统修整工作;此外,可以采用诱导推演方式获得解答,而这种思维方式也能在不定状态中完成对应的策划、学习与调整过程;可以借用大量数据资源提升运算速度,从而保证在时间与空间、解决效率与存储容量方面找出一种均衡的方案[1]。
3 目前大学生计算机基础课程教学存在的问题
3.1 教学时长有限
对于计算机课程教学而言,虽然属于大学的基础教学,但是随着社会人才需求方向的变化,课程时长也受到相应的缩减和影响。特别是对于非计算机专业的学生而言,往往在计算机课程学习的机会较少,而很多计算机教师也为了“赶进度”,从而加快了教学速度,也忽视了学生的接受效果以及学习情况。此外,程序教学也是计算机教学中不可缺少的内容,而教学时长的缩短也让学生很难通过短期的学习和练习,熟练掌握和运用这些理论化、抽象化的知识内容,因而学习效果也难以达到。
3.2 语法学习不足
语法是所有语言学习的基础,而计算机语言的语法学习即是代码,若在程序设计过程中学生语法学习程度不够,就会导致代码语法出现错误、疏漏等问题,从而导致整个程序功能实现受到影响,最大的影响就在于很多程序无法运作,对于学生学习的热情也将是一个巨大的影响。此外,在程序运行过程中,未能体现显著的运行情况,这也导致多数学生學习出现无从下手的情况,教学整体效率差。
3.3 算法教学较少
算法是多数计算机编程的基础,也是保证学生学习热情的“催化剂”。但是在传统高校的大学计算机课程教学过程中,仅仅只有部分教师会将其视为程序设计的教学引入,即如各类基础算法(包含递归、迭代、排序、查找等等),而这些算法可以降低学习的难度性,也能直接对学生的思维产生共鸣,从而激发后者的兴趣和热情,而且各类算法的运用也将对学生学习产生正面的效果[2]。
3.4 缺乏引导教学
无论是C语言或JAVA语言,虽然都属于泛用性的程序语言,但是学生在学习过程中往往需要经历较长的磨合期,而且入门往往需要花费大量的精力与时间进行摸索,再加上教学流程缺乏相应的引导教学,从而导致多数学生会在学习过程中陷入学习的误区,进而引发更多学习问题,这也是由于教学流程缺乏对应的引导流程所致。
4 Python语言特点及对学生计算思维能力的培养
Python语言是一种被广泛使用,面向对象的高级通用脚本编程语言,其程序语法简洁,明晰易懂[3]。对比其他的编程语言来说,Python语言有许多鲜明的特点,主要有如下几点。
(1)语法简洁易学。Python程序语言的语法比起其他编程语言来说比较简练,易于学习掌握,很适合初学者学习。Python程序的重点在于问题本身的解决,而不是纠缠于某一条语句语法。
(2)代码的开源,免费。Python的程序代码面向所有使用者是完全免费,开放的。程序使用者可以自由的阅读,修改和发布新的Python程序。Python语言所提倡的开源理念为其发展奠定了坚实广泛的使用基础。
(3)程序的可移植性、扩展性。Python程序可以被移植到不同的操作系统平台上,如计算机常用的Linux,Windows,移动设备的Android系统平台等。Python语言也与其他编程语言,如C,C++等有着良好的兼容性,能实现有机统一的整合。
(4)程序应用的灵活通用。Python语言是一种灵活通用的编程语言,可用于编写各个领域的程序。例如在图像处理、数据分析、应用计算、人工智能等方面,Python语言都能发挥非常重要的作用。
(5)丰富的类库。Python除了自带的标准库(如math,turtle)之外,还有很多程序设计人员通过开源方式编写的第三方库,可以说涵盖了各个领域,这些第三方库都可以直接加以利用,大大的提高了编程的效率。
我校于14-15学年正式开设《Python语言程序设计》为计算机程序设计方面的基础课程,最初在我校计算机系开设此门课程,随后面向机械系,管理系,化工系等非计算机专业也开设该课程,今后将逐步面向全校推广此门课程。虽然本课程开设时间不长,但规模和教学效果已经取得了显著的发展。同学们普通反映比起C,C++,Java等编程语言的枯燥难懂,不易理解,Python语言比较容易学习与掌握,并与学生所在专业的联系较为密切,改变了过去学习程序设计语言把大部分时间都花费在了语法的理解和纠错上,使学生们现在可以把精力集中在对各类具体问题的思考,分析上,极大的提高了课程的教学效率,十分有助于培养学生们的计算思维能力。
5 上机实践教学中的Python应用及计算思维培养实例
Python语言虽然简单易懂,但与其他编程语言一样,同样是非常重视具体的上机实践操作,只看书不实践是无法学好任何一门编程语言的[4]。Python语言与其他编程语言一样,将程序构成为统一的运算处理模式,即数据的输入,处理和输出,也称IPO(Input,Process,Output)方法。一般来说,一道编程题目都可分为六个步骤,即问题的分析,功能边界的划分,算法的设计,程序的编写,程序的调试测试,程序的维护升级等。下面就以一道程序设计中的经典题目——温度转换为例来进行详细的讲解。
温度的表示方式有两个不同的体系,即摄氏度和华氏度。不同的国家可能使用不同的温度表示方法,如中国采用摄氏度,美国采用华氏度。这里首先提出问题,如何编写一个程序实现两种温度体系的转换。其大致的分析解决过程如下。
(1)问题的分析。可以从许多不同的角度来理解温度转换问题的计算部分,这里从题目的实际出发,由用户输入温度值,通过编写相关的程序给出输出结果。
(2)边界的划分。在问题计算部分确定的基础上进一步明确问题的输入数据,数据处理要求,输出数据。由于本问题是两种温度体系的转换,所以输入和输出都为华氏或摄氏温度,数据处理为选择合适的转换算法。
(3)算法的设计。根据两种温度体系的定义,给出相应的转换算法公式,即
C=(F-32)/1.8,F=C*1.8+32,其中C表示摄氏度,F表示华氏度。
(4)程序的编写。
根据以上IPO描述分析和算法设计,编写如下程序代码
temp=input("请输入带符号的温度值:")
if temp[-1] in ['F','f']:
C=(eval(temp[0:-1])-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif temp[-1] in ['C','c']:
F=1.8*eval(temp[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))
else:
print("Error.")
(5)程序的调试测试。将上述程序代码保存为.py文件后使用Run Module(或按键盘F5键)运行程序,其运行结果如下。
输入华氏温度
>>>
請输入带符号的温度值:82F
转换后的温度是27.78C
输入摄氏温度
>>>
请输入带符号的温度值:-30C
转换后的温度是-22.00F
(6)程序的维护升级。由于各国使用不同的温度标准,所以这个程序的生命周期将会一直存在。随着问题的使用场景,输入输出等因素的改变,这个程序将会不断的进行改进,升级与维护。
6 结语
综上所述,对于Python语言来说,主要就是将复杂的问题按照合理的方式进行简化与分离,即将一个大的问题分解为若干阶段,然后再去逐项解决,同时激发学生进行自主分析与思索,让他们能够主动将其与现实生活进行深刻关联,同步激发学生潜在的程序设计的学习热情,然后进行积极引导,让他们构建科学的计算思维方式,即如关注分析、构建模型、保护、去繁、容错、改错与修正的一系列过程,而且能够以诱导推断探寻其中科学的答案,并且以规范的方式进行整合,从而保证他们能够历经思索、分析、研究、沟通等一系列过程,深刻了解程序的构成以及功能实现的流程,同时得出解决实现过程中存在的不足,最终以编写程序代码并运行结果的方式展示运作结果。
参考文献
[1]曹建芳.基于“计算思维”能力培养的《计算机操作系统》课程教学改革[J].软件导刊,2014,07(07):174-175.
[2]刘琼,史诺.基于计算思维视角的程序设计教学改革研究[J].自动化与仪器仪表,2015,12(12):93-94.
[3]郑戟明. Python程序设计课程中计算思维的应用[J].大学教育,2016,08:127.
[4]乔亚男,李波,谢涛.基于Python的“大学计算机基础”课程教学设计[J].课程教学,2016,11:122.