您好, 访客   登录/注册

基于Python的大学计算机公共课教学研究

来源:用户上传      作者:

  摘要:根据高校非计算机专业程序设计课程的教学现状,分析了Python语言的特点和优势。阐述了面向全校非计算机专业学生开设Python语言程序设计课程的必要性。并探讨了结合不同专业自身特点和Python 语言特性的教学方法。提升教学效果,为非计算机专业学生解决复杂的专业问题提供有效地信息技术支持。
  关键词:Python语言;案例教学;教学方法;专业需求
  中图分类号:G434 文献标识码:A
  文章编号:1009-3044(2019)12-0149-02
  随着人工智能和机器学习的发展,越来越多的人开始学习程序设计。非计算机专业编程课程的教学目标是使学生掌握使用计算机的方法,理解用计算机处理专业问题的思路,进而培养学生计算思维能力和初步的程序设计能力,使信息技术更好地融入其他专业学科。在传统的大学计算机公共基础课程教学中,多数以 C语言、Access等作为教学语言,但在“互联网+”“大数据”时代,特别是面对信息采集、数据清洗、仿真建模、结果验证与可视化展现时,他们就不再是最佳选择。而Python语言作为一种解释型超高级语言,具备可交互、可移植、面向對象等特点。目前Python语言,已经不仅是计算机专业学生所需要学习的技能, Python已经逐渐成为大众必备的一门编程技能。教育部考试中心也决定自2018年起,在计算机二级考试中加入了“Python语言程序设计”科目[1]。很多高校近年来也开始将 Python编程入门纳入计算机类专业的技术技能型实践环节,将 Python程序设计纳入非计算机专业的基础课程,大力推动 Python教学。为其后续的计算机课程学习打下良好的基础。以Python语言作为手段的计算机基础教学必将成为公共课教学的趋势。
  1非计算机专业程序设计类课程现状
  我国高校非计算机专业本科生程序设计课程传统教学中主要使用 C、 Java、 Access、 VB等编程语言,目前也有部分高校选择 Python作为非计算机专业学习编程的工具。各种不同的编程语言都具有各自不同的特点有适用性。
  C 语言程序设计是目前我国大学针对非计算机专业普遍开设的课程,其实际教学内容主要诠释计算机系统结构时代的计算思维外延,即计算机体系结构的抽象和自动化。通过这种计算思维的培养,学生可以掌握程序的高效运作模式。但是,非计算机专业的学生并没有对计算机体系结构的专业需求,因此没有开设相关课程,缺少相关知识。即使他们通过 C语言考试,也很难将其应用在日后的工作中,更难以用该语言解决自身专业领域中的计算问题。C 语言更适合作为计算机及部分信息类专业学生学习编程的工具。
  Java 语言是面向对象语言,该语言有很多的优点:安全可靠、编译和解释型语言、分布式、多线程、面向对象、跨平台等等。体现了计算机网络时代的需求。而非计算机专业学习计算机的目标并非专业程序员。Java 语言适合的教学对象主要是计算机专业学生。
  Access、 VB类语言主要教学内容针对窗体对象、按钮、文本框、图形界面、事件响应等开展,这些内容体现了计算机视窗的计算思维,属于基于视窗的语法设计体系。使用该类语言所开发的程序具有所见即所得,且能够支持 Word 及 Excel 等办公软件的编程扩展等特点,因此对非计算机专业学生有一定实际作用。直观的视窗效果使学生更容易上手,教学效果相对较好。但使用具有较大局限性,应用面狭窄,无法完全适用大数据的时代背景。
  Python语言是一种重要的动态脚本语言,已经开发了近30年,是目前美国大学生最喜欢的编程语言。近年来,随着Web应用程序的深入,许多项目都是基于Python等动态语言构建的。 Python 语言实际教学内容除了程序设计的基本结构分支、循环、函数外,还具备功能强大的第三方开发库。此外,Python还是目前最接近自然语言的编程语言。
  2 Python语言的优势
  Python语言具有 C、 Java、 VB等传统程序设计语言所不具备的动态语言特征,且语法简练、应用范围广、易学易上手,在应对数据采集、数据分析、机器人工智能学习等方面能力突出。Python语言有利于大学计算机公共课程教学的几个特点:
  1)在解决计算问题方面,C、C++等语言过分强调语法,加大学习难度,不适合非计算机专业学生用来解决一般计算问题,Python语言是适合非计算机专业学生学习的一种轻语法程序设计语言。
  2)C语言门槛高、学习曲线陡峭、上手难,但Python语言代码易学习,代码编写效率高,便于程序的修改和调试,减少程序出错率,有利于提升学生的编程兴趣。
  3)Python是面向对象语言,提供了丰富的数据类型,完全支持继承、重载、派生、多继承等特性,同时隐藏了底层复杂的细节,可以让学生在学习语言本身上节省很多时间和精力。Python 语言抽象了问题及解决方案,实现问题自动化求解,使非计算机专业的学生能够轻松理解编程的本质。
  4)Python允许以交互模式运行。交互模式易于初学者理解,适合教师在教学过程中,对各种命令和语句进行实时演示。
  5)Python语言易学、易用、具有丰富的开源库,具有良好的可扩展性。Python拥有一个强大的标准库和很多功能丰富的第三方库[2],适用于多个领域,适合多专业学生学习,通过增强学生的信息和应用范围,激发学生的学习兴趣,便于后续的持续学习,有利于利用计算机解决所面临的各类计算问题。
  3 Python融入大学计算机公共课教学的实施
  鉴于上述 Python 语言程序设计的特点和优势,本次课改旨在将“Python语言程序设计“纳入我院非计算机专业计算机二级的教学中。研究探讨适合的教学内容、教学方法。在计算机公共课教学改革过程中,利用 Python语言具有的第三方开发库,逐步开发出满足各专业需求的教学体系,使学生能够实现信息技术与本专业的融合。   1)“Python语言程序设计”教学目标
  “Python语言程序设计”是入门级编程课程,基本忽略学生背景的差异,旨在降低非计算机专业的学生对编程恐惧。其教学目的除了教授學生编程语言的概念、语法及使用,还要培养学生具有追求创新的态度和意识,掌握独立思考,分析问题,并利用计算机编程解决实际问题的能力。结合不同专业特点和领域进行教学,为专业学习打好信息基础。除了教授编程语言的概念,语法和使用外,学生还应培养学生对追求创新的态度和意识。能够独立思考,分析问题,并使用计算机编程来解决实际问题。结合不同专业特点和领域进行教学,为专业学习打好信息基础。
  2)“Python语言程序设计”教学内容
  非计算机专业Python程序设计课程涵盖的基本教学内容包括:Python序列、流程控制语句、函数、面向对象程序设计等。并且应当着重针对学生的专业方向,有针对性地引入并讲解Python的标准库和扩展库,同时以案例的形式展现Python在各领域中的应用。在教学过程中,要重视课下的自主学习,仅靠上课时间达不到最佳的学习效果。在教授完每个知识点后,教师可以通过安排课下自主学习的作业以及与实际工作学习相关的案例,帮助学生更充分地掌握所学内容。
  3)“Python语言程序设计”教学方法
  除了讲授、实验、作业等传统教学方法,教学中应充分分析学生基础知识背景特点,并留意学生的每部分知识学习后的反应,保持及时沟通交流,根据需要调整教学过程中的每个环节。在引入新概念、新理论时要以学生熟知的内容为切入点,通俗且逻辑性严谨,既能解决问题,又能调动学生学习兴趣,引发学生积极思考问题。
  由于各专业学习内容不同,教学准备时,要了解Python在各个领域中典型应用,并了解相关专业中的应用背景与知识需求。将所教授的知识有效结合实际应用情景,让学生掌握理解用于解决实践计算思维,为解决工作和学习中遇到的各类非通用计算问题做好准备。
  其中实验环节是程序设计课程必不可少的一项内容,学生可以通过实践,加深理论知识的理解,并学习如何应用所学知识解决实际问题。教师应当分专业设置适合学生专业特色的实验项目,并且引导学生参与课题或项目中的部分模块,给学生创造更多机会去实践。实验环节的有效完成,能够让学生充分体验到程序设计的乐趣,激发学生学习兴趣,拓展学生视野,增进教与学的互动,提升教学效果。
  随着互联网的发展以及人工智能的火热,计算机的应用与传统行业处于深度融合,前沿性、基础性、交叉性的学科研究越来越多,研究针对性的教学内容与教学方法势在必行,不断培养学生的创新意识和开拓精神。
  4)以专业需求为导向,设计教学
  目前,在非计算机专业程序设计课程教学中普遍存在的一个问题是教学不够关注有哪些专业问题是需要用程序求解的。教学没有按专业需求来组织,过于关注语法和程序性能本身的学习,而忽略了学生实际应用能力的培养。教学案例基本是采用简单数学问题求解和经典算法的程序实现。这些与学生专业问题不相关的教学案例无法将专业问题关联起来,造成学生学习目标不明确,学习动力不足,这也是目前非计算机专业程序设计课程教学效果普遍较差的主要原因。由于各专业学生计算机基础不一样,对程序设计的应用场景不同,需求也不一样,因此需要对不同专业学生制定不同的 Python 教学方案。
  不同专业对程序设计有着不同的需求,有些专业关注科学计算,有些专业关注数据采集,有些专业关注过程控制,有些关注数据清洗与展现。比如人文社科类学生更侧重基础问题的求解和数据分析,而理工类学生更侧重科学计算、应用建模、数据分析等高级问题的求解。
  对于理工科学生,工程教育专业认证标准中要求学生具备能够应用信息技术对复杂工程问题进行预测、模拟和求解的能力[3]。这就要求程序设计课程内容能够对专业问题求解提供有效地信息技术支撑,使学生掌握解决复杂专业问题的编程能力。这个能力要贯穿整个教学过程,在教学大纲的制定,教学材料的准备,实验案例的选择等方面充分体现出来。这种支撑作用能够激发学生的学习动力,才不会导致非计算机专业开设程序设计课程的必要性被质疑。
  与理工科学生不同,人文社科类的专业需求对逻辑思维和计算思维能力要求会弱些,因此在教学设计中尽量将知识点融入案例场景中,选择与专业结合度高的、简单直观的案例作为切入点,调动学生学习的兴趣,让学生在案例中体会到程序设计解决问题的方法途径。
  Python具有强大的第三方库,适用于不同的领域,解决不同的问题,面对不同的需求,不能单纯地将程序设计课程定位于通识课程,不能只讲授编程基础知识,要将专业需求凝练成案例、作业和练习题,将通识教育与专业需求有机结合在一起。
  4 总结
  传统程序设计教学侧重于语法、算法等基础知识的讲授,重知识、轻能力。随着信息技术的迅猛发展,这种教学模式难以满足社会对专业人才的需求。Python能够简化开发的复杂度,使得非计算机专业的学生更容易掌握编程的过程;轻语法的特点能够让学生将更多的精力投入到应用与问题的求解上;丰富的开源库能够应用于更多的领域,适用于不同专业的学生学习。因此将Python融入计算机公共课教学,设计出适合专业需求的教学体系和模式,将极大地提升非计算机专业学生对编程的兴趣,从而提高程序设计课程的教学质量。
  参考文献:
  [1] 韩志豪.人工智能背景下的 Python 教学探索[J]Computer Era ,2018.(7):76.
  [2]徐卫克.面向文科专业开设Python 程序设计课程的可行性分析[J].科技文汇,2018.(11).
  [3] 赵广辉.面向新工科的 Python 程序设计交叉融合案例教学[J].计算机教育,2017.(8):23-26.
  [通联编辑:闻翔军]
转载注明来源:https://www.xzbu.com/8/view-14789220.htm