摘要:针对地方院校非计算机专业的教学现状,分析非计算机专业程序设计课程目前存在的问题,结合榆林学院程序设计类课程的实际教学情况,提出将易读、易学、接近自然语言、应用范围广的Python语言作为公共程序设计课程面向全校非计算机专业学生开设。本着“思维培养、能力培养,服务专业”的教学目标,设计合理的教学内容。Python程序设计课程的开展,可激发师生的兴趣和创造力,可提升教学质量,让学生喜欢编程、会编程。
关键词:地方院校;Python;程序设计;教学改革
1引言
目前榆林学院非计算机专业第二层次课程包括C语言、VB、Access和高级office,其中艺术体育类专业开设Access,文科管理类院系开设高级office,理工科院系开设C语言或VB。C语言和VB属于程序设计课程,目前教学过程中存在理论知识理解不够深刻、编程缺乏算法思想、依赖教师指导示范、实践兴趣难以培养、学习积极性较差、课堂参与力度不够、自学能力不足等诸多问题[1]。程序设计类课程对于非计算机专业的学生来说是一种挑战,学生之前没有编程和设计的概念,编程和设计思维难以形成,因此学生学习难度较高,教学效果难以提高,面对这种情况,应选择一种简单、易学、上手快,能解决实际问题的程序设计语言[2]。Python语法结构简单,接近自然语言,解决问题直观,功能强大,应用范围广泛,适合于解决各类计算分析类问题,适合于低年级和非计算机专业大学生学习,可培养计算思维和提高创新能力,因此在许多高校中得到广泛的应用,取得良好的教学效果[3]。
2程序类课程特点分析
目前榆林学院程序类课程主要为C语言和VB程序设计,下面对这两种语言的特点进行分析。(1)C语言程序设计国内很多高校针对非计算机专业普遍开设C语言,C语言接近底层,主要内容包括数据类型、表达式、运算符、程序结构、函数、数组、指针等,是基于计算机系统结构时代的计算思维、计算机原理知识的抽象和自动化,注重学生理解能力培养和程序的高效运行的方法[4]。但是,由于非计算机专业学生缺少计算机体系结构知识的学习,没有专业背景需求,缺乏学习兴趣,学习效果差,每年我校公共计算机C语言程序设计考试的卷面过关率不到50%,教学效果不理想。(2)VB程序设计VB程序设计的特点是可视化的、事件驱动的、结构化的和面向对象的,其主要用于开发Windows系统中的视窗应用[5]。其教学内容主要包括数据类型、表达式、运算符、程序结构、函数、数组,船体对象、各种控件等,其抽象了交互逻辑和响应关系,其开发的程序可见即可得[6]。VBA继承了VB的语法,在办公自动化及一些网页脚步文件中应用广泛,对非专业学生有一定实际应用作用,VB学习难度较低,教学效果比C程序设计好。但是VB程序设计语法知识多,控件多,每个控件都对应相应的属性、事件和方法,学习内容多且杂,学生在学习的过程中对界面设计、属性设置方面掌握较好,但编程方面就比较差,缺乏编程思维。VB程序设计适合于编写视窗应用方向,语言应用面窄、使用局限性大。(3)Python程序设计Python是一种重要的动态脚本语言,发展了近30年,是目前美国大学生最喜欢的程序设计语言。近年来随着Web应用的不断深入,由Python等动态语言为基础构建的项目较多[7]。软件行业对掌握动态语言的技术人员的需求增加。Python具有C、Java、VB等程序类语言所不具备的动态语言特征,且Python语法简练、接近自然语言、应用范围广、易学易上手,在数据处理、数据分析、机器学习和网络爬虫等方面能力突出[8]。Python教学内容主要包括分支、循环、函数等基本语法知识和函数库的应用。Python语言轻量级的语法、高层次的语言表示表达了应用计算机解决问题的计算思维理念,其抽象了问题和解决方案,自动化问题求解,是利用计算机解决问题最直观的表达工具[9]。从目前已开设高校的实际教学效果来看,Python语言的开设,教学效果较好。目前,榆林学院计算机专业开设的第一门程序设计类课就是《Python程序设计》,学生学习兴趣较高、课堂气氛活跃、教学效果良好。非计算机专业的学生和计算机专业的学生学习程序设计课程是基础一样,预计教学效果较好。
3地方院校程序设计课程面临的问题
(1)学生学习程序设计时,对基本语句格式、规则和用法理解不透彻、操作不熟练,实践操作问题多,随着学习的深入,学新忘旧。(2)教学过程中注重语句格式和语法规则,忽略了计算思维和解决问题能力的培养,学生分析、解决问题的能力训练不够。学生编程时遇到问题,立即通过网络或课本查阅相关代码或提问老师,没有解题思路,缺乏独立思考问题、分析问题和解决问题的能力。(3)理论和实践教学过程中,理论课堂,学生发呆犯困、偷玩手机、看小说等,注意力不集中,听课不认真。实践课堂,学生东张西望、闲聊、玩手机、打游戏,看视频,不能认真、踏实、及时地完成学习内容,课后存在抄袭作业现象。课前课后这些现象导致教学效果、教学质量一般。(4)教学内容没有针对专业做部分调整,学生认为学习该课程没有用处,对教学内容没有兴趣,以考试过关为目的。(5)教学模式仍已教师为中心,采取讲授、实践、课后作业的传统教学方式,导致学生学习兴趣缺失。(6)课程考核结果不理想,挂科率偏高,且难以解决。
4地方院校开设
Python语言程序设计课程的意义随着大数据、云计算、移动互联网、网络空间安全等领域的兴起,要求大学生具备一定的计算机操作技能和计算思想,来解决学习和工作中遇到的各类非通用计算问题。(1)在解决计算问题方面,传统C和VB语言过分强调语法并不适合非计算机专业学生解决一般计算问题,Python语言是一种轻语法程序设计语言,适合非计算机专业程序设计课程的学习。(2)Python语言抽象了问题和解决方案,自动化问题求解。便于非计算机专业的学生理解编程的本质,(3)Python语言解释器是开源的,开源协议限制很少,受制约度低。(4)Python语言易学、易用、具有丰富的开源库,可增强学生学习程序设计的信息,改变想学学不好的状况,可使学生学会一种终身受用的编程语言,最终可利用计算机解决所面临的各类计算问题。(5)Python语言编写效率高,加快程序实现和修改节奏,降低程序出错率,可提高学生的编程自信心。(6)在我国全面提升地方院校教育质量、加快地方院校转型背景下,Python语言教学改革将是一门全新有趣的程序设计课程,可进一步释放师生活力和创新热情,全面提升教学质量。(7)目前已有部分高校面向非计算机专业开设了“Python语言程序设计”,取得了学生的认同,不及格率有所下降,学生反馈教学效果有所提高。鉴于上述Python语言程序设计的特点和优点,建议地方院校非计算机专业开设Python语言程序设计课程。
5Python语言程序设计课程教学内容设计
(1)理论教学内容理论课时为30课时,在机房进行,边讲边练。Python语言程序设计课程的主要内容基本数据类型、程序流程控制、复合数据类型、函数与模块、文件操作、图形绘制、模块库应用等。(2)实践教学内容实践课时为30课时,在机房实践操作,根据任务案例编程。6结语地方院校非计算机专业程序课程存在诸多问题,在讨论了Python语言程序设计的应用特点和优势后,得出Python语言适合在地方院校非计算机专业教学中推广和应用。
参考文献:
[1]嵩天,黄天羽.Python语言程序设计教学案例新思维[J].计算机教育,2017(12):11-14.
[2]冉娟,张钢.独立学院非计算机专业Python程序设计课程教学改革探索[J].计算机教育,2017(9):15-20.
[3]刘卫国,奎晓燕.Python语言程序设计教学体系建设[J].计算机教育,2017(8):13-17.
[4]赵广辉.面向新工科的Python程序设计交叉融合案例教学[J].计算机教育,2017(8):23-27.
[5]张乐平,李东方.医科院校Python程序设计课程教学研究[J].计算机教育,2017(8):28-31.
[6]朱鹏飞.论Python程序设计语言———对大学生计算思维能力的培养[J].数字技术与应用,2017(3):238-239.
[7]郑戟明.Python程序设计课程中计算思维的应用[J].大学教育,2016(8):127-129.
[8]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(2):42-47.
[9]狄博,王晓丹.基于Python语言的面向对象程序设计课程教学[J].计算机工程与科学,2014,36(S1):122-125.
[10]李玉香,于张红,李可强,等.试析Python程序设计语言对计算机多元化人才思维能力的培养[J].电脑与电信,2017(10):17-19.