仲晓芳+庞胜楠+尹百慧
摘要:针对非计算机专业编程语言公选课教学问题,文章分析了Python语言作为其优先选择的原因,并针对非计算机专业学生特点结合Python語言特点重点从教学内容、教学方法方面进行了设计与探讨,提出了“分方向的理论与实践指导”的教学设计,有助于全面提升教学质量,使学生有机会掌握一门终身受用的程序设计语言。
关键词:Python编程;教学设计;非计算机专业;编程语言
Python是一门免费、开源的跨平台高级动态编程语言,可以处理系统运维、图形处理、数据库编程、多媒体编程、软件分析、Web编程、科学计算与可视化、机器学习、人工智能等,拥有众多狂热的支持者,使得各个领域的人员能快速实现和验证自己的思路与创意。
Python早就广泛应用到企业之中,早在2004年,Google便己决心在快速开发方面使用Python。近日,IEEESpectrum发布了第四届顶级编程语言交互排行榜。因为有各种不同语言的排行,所以IEEESpectrum依据不同的变量对流行度进行了排行。Python击败Java,C,C++等语言,跃居编程语言交互排行榜第一名。
非计算机专业学习编程的目的并非为了培养专业的编程开发人员,而是一方面为了锻炼学生逻辑思维、扎实的问题分析能力;另一方面为了方便学生在各个领域进行研究实践。Python语言的优势在于资源丰富,拥有坚实的数值算法、图标和数据处理基础设施,建立了非常良好的生态环境,吸引了大批科学家以及各领域的专家使用。这也是非计算机专业学生学习Python编程的必要性。
1编程语言的学习对非计算机专业的重要性
1.1程序设计基础在非计算机专业开设情况
我国大学针对非计算机专业开设的程序设计基础课程,使用C语言作为基础语言的较多。C语言作为程序设计基础语言,能够让学生明白程序运行原理,计算机各个部件如何交互,程序在内存中是怎样的状态以及操作系统与程序有怎样的关系。但是对于非计算机专业学生来说,C语言语法复杂,调试程序困难,学生缺少对计算机体系的整体认识,也无需了解计算机底层知识,后续工作很难使用C语言来解决问题,所以并不适合教授给没有任何计算机认知背景的非计算机专业学生。
Java语言也是部分高校面向全校开设的程序设计基础编程公选课,是一门面向对象的编程语言,具有简单性、分布式、健壮性、可移植性、平台独立、动态性等特点。Java语言
广泛应用在Andrmd应用、金融业应用的服务器程序、网站、嵌入式领域、大数据技术和科学应用等领域。但是对于非计算机专业学生而言,Java语言学习成本比较高,工作后的应用场景较少,语言本身重点关注代码复用性和可移植性,这些特点说明Java并不适用于非计算机专业学生
1.2非计算机专业选择Python的原因
Python语言由荷兰人GuidovanRossum丁1989年发明,第一个公开发行版发行于1991年,己经有28年的历史。Python在设计上坚持了清晰划一的风格,这使得其成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python的设计哲学是“优雅”“明确”“简单”,具有丰富和强大的库[2]。
Python语言是最接近自然语言的编程语言,代码简洁高效,对于没有编程经验的学生来说较易上手,学生无需纠结语法和程序编写方式,而是更快的抽象问题并提出解决方案,这样更容易激发学生的学习热情。非计算机专业涉及范围较广,Python所能完成的工作也非常广泛,除了Web编程、图形处理、计算机视觉、软件件分析、物联网管理、科学计算与可视化等领域,一些意想不到的领域Python也能涉及。例如Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作,从集体渲染到批量处理再到影片合成,Python将所有步骤都紧密黏合在了一起。2017年,“人工智能”首次被列入政府工作报告,Python也借助人工智能(ArtificialIntelligence,AI)和数据科学,攀爬到了编程语言生态链的顶级位置。随着AI应用的发展,数百万之众的教师、公司职员、工程师、翻译、编辑、医生、销售、管理者和公务员将裹挟着各自领域中的行业知识和数据资源,涌入Python和AI大潮之中,深刻地改变整个IT,或者说数据科技(DataTechnology,DT)产业的整体格局和面貌。
2非计算机专业Python编程教学设计
对于非计算机专业学生,学习编程语言是很有挑战性的,学生专业不同,思维方式也不相同。为了引发学生学习兴趣,达到较好的教学效果,教师要转变课堂上的角色,让学生成为课堂的主角[3]。针对该课程和学生特点,提出“分方向的理论与实践指导”,学生可以有重点、有目标地进行学习。
2.1教学目标
计算机编程延伸到非计算机专业,对学生的掌握计算机理论知识和实践技能要求较高。“程序设计基础”作为入门课程,除了教授学生一门编程语言的概念、语法及使用,还要教会学生编程思想、分析问题和解决问题的能力。
2.2教学内容
非计算机专业Python编程教学涵盖的基本内容包括:基础知识、Python序列、流程控制语句、函数、面向对象程序设计等。后续应当着重针对学生的学习方向或者兴趣点,有针对性地讲解Python的标准库和扩展库,并以案例或者项目的形式展现Python在各个领域中的应用。通常,不同学校的公选课的学时不同,32学时或者48学时。无论多少,学生都无法只利用上课时间达到最佳的学习效果,所以课下的自主学习尤为重要。在学习每个知识点后,教师安排部分课下自主学习的内容,以帮助学生更充分地掌握所学内容,并安排大量与实际工作学习相关案例。
2.3教学方法
除了讲授法、案例法等传统教学方法,教师应当充分分析学生特点,并时刻观察学生的反应。教师在引入新概念、新理论时要以学生学习或者生活中熟悉的内容为切入点,自然并具有逻辑性,能够解决问题,引发学习积极思考问题。
实践是编程语言学习必不可少的过程,通过实践夯实理论知识,并亲自动手操作解决实际问题。教师应当分专业引导学生参与课题或项目中的部分模块,给学生创造更多机会去实践,学生完成课题或项目后,充分体验到编程的乐趣,从而更好地激发学生学习兴趣。
2.4拓展学生视野
由于学生专业不同,教师应当充分备课,了解Python在各个领域中的突出应用,并学习相关领域中的应用背景与相关知识。如果能将所学知识带入实际情境中,学生用于解决工作和学习中遇到的各类非通用计算问题,理解并实践计算思维[3]。在拓展学生视野的过程中同时增进了教与学的相互促进,教师与学生都积极参与到教与学的互动中,提升了教学效果。随着互联网与传统行业深度融合以及人工智能的火热,前沿性、基础性、交叉性的学科研究越来越多,有利于培养学生的创新意识和开拓精神。
3结语
身为教育工作者,从教与学的理论上思考编程语言公选课的教学问题。笔者认为,“分方向的理论与实践指导”能够培养学生基于自身学习、研究方向,学好用活书本知识,更重要的是与实践应用相联系,有利于培养学生的创新能力、探究精神和创新思维能力。本文提出了面向非计算机专业学生开设Python编程教学入门的必要性,并针对该编程语言特点阐述了“分方向的理论与实践指导”的教学设计,这是编程公选课教学适应高素质人才培养要求的一种尝试。只有在教学过程中,联系本校学生实际情况,不断创新、改革,才能使教学设计达到更好的效果,为社会培养真正有用的人才。
[参考文献]
[1]王立翔.基于计算思维的python语言课程教学改革刍议[J].教育现代化,2017(15):12-13.
[2]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J]·中国大学教学,2016(2):42-47.
[3]狄博,王晓丹基于Python语言的面向对象程序设计课程教学[J]计算机工程与科学,2014(36):122-125.endprint