基于C语言教学效果的比较探索高职院校Python的教学模式
2019-06-17刘宗妹
刘宗妹
【摘要】通过将Python与C语言比较,探讨高职院校计算机专业将Python作为首门编程语言的可行性。进而提出建设有专业特色的Python课程设置、教学内容、教学方法,共同探讨培养面向综合应用能力的Python课程教学。
【关键词】高职院校 C语言 Python 实施计划
【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2019)17-0239-02
一、比较Python语言与C语言
(一)Python与C语言背景
C语言是1978年由美国电话电报公司(AT&T)贝尔实验室的Bjarne Stral-strup推出的一种程序设计语言。由于C语言的诸多优点,被广泛应用于系统软件和嵌入式软件的开发中,如游戏客户端和后台服务器的开发。高职院校开设C语言的目的是为了培养学生的编程能力,使学生具备编程思想,为进一步从事软件开发奠定基础。随着计算机的发展,其应用越来越广泛,C语言已很难满足广泛领域的使用,从而出现了一些新的高级语言来解决实际问题[1]。
Python由荷兰人Guido van Rossum于1989年发明,被称为“胶水语言”,可以把用其它语言编写的各模块联结在一起,以实际应用为主的高职院校更适合教授此课程。Python很多语法既参考了C语言又参考了ABC语言和Modula-3,所以Python的设计既强大又优美。Python既有面向对象的特征,又像脚本语言一样容易操作,可在各种操作系统运行,不必关注配置如何,一般编程语言能做的Python都能做,功能性非常强,并且简单易学,可把其它语言编写的模块程序很容易联结起来,开发效率极其高。Python提供了丰富的第三方库,覆盖领域很广,并且简单好用,提高了编程效率[2]。2016年3月的TIOBE编程语言排行榜上,Python已升到前5名。2016年教育部高等学校大学计算机课程教学指导委员会发布了《大学计算机基础课程教学基本要求》,首次建议将Python语言作为高校编程语言的入门课程[3]。
(二)C语言教学现状与困境
以某校为例C语言教学效果欠佳,根据某年对某高校的MyCOS调查发现,学生对母校教师的授课情况满意度不高,其中最重要的一个原因是C语言,在省计算机水平考试中C语言的通过率也是整体偏低,很多教师尝试过用不同方法来讲授这门课程,但仍然无法调动学生的听课积极性。出现以上情况的原因归结如下:
1.高职院校学生学习能力略差,特别有些学校计算机及其相关专业招生时是文理兼收的,有些文科学生一直以来对数字的敏感度不高,逻辑思维能力欠佳,喜欢学习容易的、有趣的课程,这部分学生学习C语言时面临较大困难。
2.高校生活丰富多彩,学生学习时间有限,课程涉及内容既多又抽象,理解起来较困难,甚至有些学生虽然会读程序,可一旦让他自己写程序就显得捉襟见肘、无从下手。由于C语言是学生步入高校以后接触的第一门编程语言,因此编写程序代码的思维能力有待提高。
3.高职院校学生基础稍弱,特别有些学生英语和数学功底较差,而C语言中有大量的代码使用英文单词,并且教学的实例很多都是围绕着数学问题,如:求1+2+3+···+n的结果,这是一个用C语言解决求值问题的典型实例。这种数学问题远离生活实际,无法吸引学生的听课积极性。
4.C语言的编写程序比较自由、语法格式不固定;代码的开发细节较多,难度很大,用时较长,不利于学生编程兴趣的培养;代码的可读性较差,有时出现同一问题不同的人编写出完全不同的代码,加大了调试的难度。
基于以上情况,探索有无类似C语言,又可以使学生较容易掌握的课程来代替C语言出现在高职院校的课堂上,由专家领导和骨干教师共同探讨,一致认可探索Python教学的新路子。
(三)Python语言的特点
1.简洁,易掌握。Python可解决C语言的不足,首先其简洁、易学习,同样实现一个功能,Python语言编写的代码有时会比C语言少很多,减少了调试时间,提高了执行效率;其次虽然其代码的编写比较规范,有强制缩进的要求,但程序非常美观,初学者读起来较容易;再次Python有强大的内置标准库,简化了开发过程,使初学者有更多时间用在编程思维的培养上,从而避开了繁琐的语法的困扰[4]。
2.Python是一门面向对象的高级语言,函数、模块、字符串都是对象,并且支持重载、派生;C语言中的指针是比较难掌握的知识点,而Python中不再使用指针从而降低了学生学习的难度;Python简化了面向对象语言,消除了接口、抽象等面向对象的元素。
3.Python是解释执行,较容易实现跨平台操作,可以在很多平台运行,如Linux,Windows等;Python语言是一种脚本语言,不但支持模块还支持包,应用于多种平台并且可拓展,由于代码开源,解决问题可以直接修改源代码,比较方便快捷,有利于Python的广泛使用。
(四)Python语言的应用
Python在Web开发、人工智能、网络爬虫等方面应用广泛,具体有如下几方面:
1.自动化运维
如Linux运维,平时只可以依靠人力或管理工具来进行服务器的运维,学习Python后可以开发自动化运维的脚本或程序来实现服务器的运维,从而减轻运维人员的劳动量。
2.云计算
云计算近几年发展很快,由于Python编程语言的优势,通过研究Nova和Swift模块,可以快速搭建公有云、私有云、企业云。Python中最值得学习的云框架是Openstack.
3.人工智能
人工智能的發展方向主要在无人驾驶、机器学习、图像设别、博弈等领域,98%的人工智能的开发用的是Python,Python是神经网络等领域的编程语言。