贾瑞凤+马曾+侯春龙
摘要:大学计算机基础课程是本科学生必修的科学文化基础课程。旨在培养学生计算思维与计算机基本技能,为后续课程学习和终身发展奠定基础。Python编程语言在课程学习过程中,对培养学生计算思维和解决问题能力起着非常重要的支撑作用。该种作用主要渗透在每部分知识的具体应用之中。
关键词:大学计算机基础课程;计算思维;Python
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)02-0117-02
Using Python as a Tool to Train Students Computational Thinking
JIA Rui-feng, MA Zeng, HOU Chun-long
(Navy Submarine Academy, Qingdao 266199, China)
Abstract: The basic computer course of university is a required course of science and culture for undergraduate students. The purpose is to train students computational thinking and computer basic skills and lay the foundation for the follow-up curriculum learning and lifelong development. Python programming language plays a very important supporting role in students` Computational Thinking Training and problem solving ability in the course learning process. This function permeates the specific application of each part of knowledge.
Key words: The Basic Computer Course of University; Computational Thinking; Python
大学计算机基础课程是本科学生必修的科学文化基础课程。旨在培养学生计算思维与计算机基本技能,为后续课程学习和终身发展奠定基础。计算机的学习可以分为两个层面,一是学会如何有效使用计算机;二是培养计算思维。计算机思维是一种根本技能,是每一个人为了在现代社会中发挥职能所必须掌握的。它是人类逐渐意识到计算机解决问题的强大能力后而自然产生的思维模式,以设计和构造为特征,是人类求解问题的一条途径。当计算思维真正融入人类活动的整体时,它作为一个问题解决的有效工具,人人都应掌握,处处都会被使用。以python工具为主线,展开课程内容,对培养学生计算思维有着积极的作用。
1 Python与计算思维,计算思维培养的工具
对于普通的计算机使用者,程序就像是一个黑匣子。当这个程序的黑匣子获得一个输入,它就按照事先定义好的变换规则,对输入进行变换,得到结果并输出。所以,普通用户只需要了解黑匣子的输入格式,就能使用黑匣子所提供的功能,不再需要了解黑匣子的内部结构。这是把计算机作为一个快速、方便、精确的工具来学习。而对于信息时代的本科学生来说,仅仅知道黑匣子的功能和使用方法是远远不够的。为将来职业服务、终身发展需要,应当一步一步打开这个黑匣子,探索和了解其内部的构造,从而进一步设计具有个性功能的、属于自己的黑匣子。在这个探索过程中,学生对计算机特有的算法进一步认识,计算思维在不断地形成,解决问题的能力在不断提高。在程序设计范畴,计算思维主要反映在理解问题的计算特性、将计算特性抽象为计算问题、通过程序设计语言实现问题的自动求解等几个方面。Python程序设计语言是一种被广泛使用的高级通用脚本编程语言,其语法简洁,通用灵活,强制可读、支持中文、模式多样、类库丰富等特性,为计算机基础课程的学习提供了良好地支持。在Python语言学习过程中,重点解决程序设计的基本方法和解决问题的具体算法。程序设计通常采用自顶向下的设计方法,以一个总问题开始,试图把它表达为很多小问题组成的解决方案。在用同样的技术一次攻破每个小问题,最终问题变得很小,以至于可以很容易解决。在程序执行过程中,小规模程序直接运行,稍微大规模的程序采用自底向上的执行和测试,有助于定位错误。以上所有这些思想与方法都是计算思维应用的具体表现。在程序学习过程中还要注重算法的设计,让学生体会计算方法对解决问题的重要性,培养对应用的敏感性,进而培养计算思维。Python为人人都能使用的科學计算提供了有力支持。
2 Python与算法,计算思维的核心
算法是计算机科学魅力的体现之一。是一系列的计算步骤,用来将输入数据转换成输出结果,是计算机问题求解中非常重要的步骤,在分析清除问题后,需要通过设计算法把问题的数学模型或处理需求转化为使用计算机解题步骤,然后再将算法实现为程序,最后在计算机上运行从而得到问题的解。把算法理解透彻,成为习惯思维,自然而然地就成为了计算思维。对算法的深刻理解到计算思维的养成,可以帮助我们在日常生活、行政管理、时间规划、经营理财等各类问题的解决上会得到莫大的助益。大学计算机基础课程涉及建模与模拟基本技术与方法;解决问题的基本思路——递归法;解决问题的基本方法——分治法、贪心算法、动态规划;具体算法——排序、查找、背包等典型算法;算法评价标准——算法正确性、时间复杂度、空间复杂度等。
算法虽然与编程语言没有关系,独立于编程语言之外,但是算法却是编程的第一步,算法设计是否合适,关系着是否能以正确的方式解决问题以及解决问题的效率。离开程序,独立的算法也没有实际意义,程序也是实现和验证算法的一种途径。Python语言的易学易用性为学生进一步熟练掌握各种算法提供了有力支持。endprint
3 Python与计算机硬件,计算思维实现基础
如果说程序是实现用户需求的直接实现者,那么计算机硬件则是支持程序运行的物质基础。数据在程序运算过程中的传输与计算都以硬件为基础。大学计算机基础课程中,计算机硬件学习主要内容包括计算机工作原理、CPU工作过程、存储工作系统、输入输出系统等。在硬件知识学习过程中渗透计算思维的主要手段是通过构造模型,让学员从计算本质来探讨计算机的硬件组成与工作方式,使其从本质上知道计算机的产生是源于计算的需要。为理解现代计算机工作原理,可以借助计算机思维对冯诺依曼体系结构机器进行建模和模拟。在建模过程中,忽略掉CPU、内存等的设计工艺、工作频率等细节,抽象出CPU、内存的行为机制,并基于抽象出来的行为模型,利用Python程序设计语言进行描述,变成计算机可理解的模型,在该抽象模型上自动化地执行指令和程序,以此来模拟其工作过程。学生在整个建模、模拟和程序实现过程中,体会计算机工作过程和实现算法,追溯计算机进行计算的初衷,不仅知道计算机能够进行计算,还知道了计算机怎么计算,培养了计算思维和解决问题能力。
4 Python与操作系统
操作系统是计算机系统软件的核心,它对计算机系统的软硬件资源进行管理、协调,并代表计算机与外界进行通信。大学计算机基础课程对操作系统知识的要求是操作系统对硬件资源管理、操作系统对应用软件提供服务,操作系统对多程序执行环境的管理以及操作系统的文件系统对文件的管理。在操作系统知识部分的学习过程中,培养学生计算思维主要体现在能够通过Python使用操作系统典型功能。如利用Python创建进程、枚举进程、终止进程;查看进程信息,系统存储信息;获取磁盘信息,读写文件等。让学生更深入地了解操作系统的工作方式,理解每个数据的含义,体会操作系统设计中抽象、并发、共享等基本概念,培养计算思维。
5 Python与网络、数据库和多媒体
计算机网络最基本的功能就在于信息传送和资源共享。大学计算机基础课程关于计算机网络部分掌握的内容主要包括网络的概念、组成、结构和功能;拓扑结构和网络协议;网络的典型应用等。这部分知识学习过程中,计算思维培养主要体现在网络应用以及通过Python编程进行网络通信、发送邮件、抓取网页等。通过这部分的学习让学生体会在目前的复杂信息系统阶段,如何游刃有余地在网络上享受大数据带给我们的便利。
数据库在计算机中的使用带来如下好处:降低数据的冗余度、节省数据的存储空间、易于实现数据资源的充分共享等。在大学计算机基础课程中,数据库部分主要掌握的知识点有数据库系统功能与组成、数据查询与数据发掘以及数据库系统的应用。培养学生计算思维主要体现在构建数据模型、使用Python数据库程序设计、数据分析等。通过构建模型、编写程序,让学生了解数据挖掘方法,理解使用数据库处理数据的强大优势,形成使用计算机处理信息、解决问题的思路。
多媒体技术是计算机技术的重要技术领域,多媒体技术似的计算机从原来只能处理数字、文字信息发展到可以处理声音、图形、图像、视频等多种媒体信息。大学计算机基础课程中关于多媒体部分主要是常用影音播放工具、图形图像处理、动画制作、数字视频制作等。在学生计算思维培养方面主要体现在能够意识到使用多媒体工具处理信息;能够利用Python编程,进行多媒体信息处理,如绘制图形。让学生理解数字多媒体编码标准与格式,掌握图形处理的编程方法。
总之,大学计算机基础课程的主要作用是以培养学生计算思维为目标,以使用计算机解决问题为基础,通过掌握计算机基础知识,形成计算机应用能力,为在未来信息化社会中终身发展奠定坚实的基础。
参考文献:
[1] 陆汉权. 基于计算思维的“大学计算机基础课程”教学内容设计[J]. 中国大学教学, 2012(9):55-58.
[2] 沙行勉. 计算机科学导论[M]. 北京: 清华大学出版社, 2016: 1-4.
[3] 嵩天, 礼欣, 黄天羽. Python语言程序设计基础[M]. 北京: 高等教育出版社, 2017: 3-24.
[4] 安利, 赵永梅. 大学计算机基础课程教学改革探索与实践[J]. 计算机工程与科学, 2014(12):179-181.
[5] 陳国良, 董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学, 2011(1):7-12.endprint