Python语言程序设计课程教学改革与实践

2019-08-08 06:23金传洋王丽辉罗晓玲郑斯文
电脑知识与技术 2019年18期
关键词:案例式教学任务驱动教学质量

金传洋 王丽辉 罗晓玲 郑斯文

摘要:Python语言是目前国内高校非计算机专业语言课的首选。本文从课程定位与需求出发,深入分析Python语言特点和教学现状,结合多年程序设计开发经验,提出一些相应的改进措施,积极探索高效的教学思路、教学方法和教学手段。

关键词:Python;教学改革;案例式教学;任务驱动;教学质量

中图分类号:TP399        文献标识码:A

文章编号:1009-3044(2019)18-0114-02

1 引言

程序设计基础(Python)是军队院校生长军官学历教育本科学员必修的科学文化基础课程。通过本课程学习,使学员掌握Python语言的基本语法,能够理解Python的编程模式;熟练使用集成开发环境和调试方法,掌握面向对象程序设计的基本概念以及设计方法;培养算法分析与程序设计能力,培养和提升学员以计算思维为核心的信息素养,学会运用计算思维方法发现问题、分析问题,积极寻找问题的有效解决办法。课程内容主要包括:Python语言基础知识、控制结构、运算符与表达式、函数、类与对象、文件操作及异常处理、图形绘制、交互式应用程序的操作与使用等。采取教学活动主要有:MOOC视频、操作实习、单元测验、项目设计、考核评价(期中、期末)等。

本课程共48学时,教学内容共分为10个单元,包括为:第1单元程序设计概述(Python语言基础)、第2单元程序控制结构(分支结构、循环结构)、第3单元数据类型(基本数据类型、字符串列表字典)、第4单元函数及使用(函数定义及使用、变量作用域)、第5单元算法与数据结构(算法与数据结构、典型算法实现)、第6单元文件与异常处理(文件与异常处理、文件与异常处理操作)、第7单元面向对象程序设计(面向对象概念、类与对象操作I、类与对象操作II)、第8单元图像界面设计(Python数据实现、常用组件I、常用组件II)、第9单元综合案例(综合案例Python实现)、第10单元图形绘制(图形绘制操作I、图形绘制操作II)。

结合往年教学实践和今年教学安排,增加了课前MOOC自主学习环节,通过视频资料学习,了解相关理论知识背景,实现精准导学、做好提前预习;课上对重点知识进行精讲、对操作实践知识采取机房模式,理论与实践相结合,激发学员主动学习兴趣,提高学员的动手能力。

2问题与目标需求

Python 是一种解释型、面向对象和交互式的脚本语言,在1991年发行了第一个公开版本,其语法形式简单、明确而优雅,和自然语言非常接近,无需花费大量时间学习枯燥的语法规则和计算机组成原理,学习门槛大大降低。

Python 语言开源,为我们提供了非常完善的基础代码库,涵盖了网络、文件、GUI、数据库、文本等大量内容。除了这些内置库外,Python还拥有丰富的第三方扩展库,供使用者直接调用,用户结合本专业实际需求,能够高效地编写源代码和可用程序,尤其在近年的人工智能、图像识别、自然语言处理等领域得到深度应用。

当前,Python 语言已经成为美国大学最受欢迎的程序设计语言。在国内,自北京理工大学2013年开课以来,全国近百所高校都相继开设Python语言设计课程,教学改革开展得如火如荼,Python已成为面向非计算机专业学习的首选语言了。

目前,Python语言程序设计课程存在如下问题:

(1)教学方式不够灵活

近些年,中国教育在积极地探索新思路,取得了丰硕的成果,但是传统教学模式依然没有被彻底改变,学员仍被动接受,其主体地位也没有被充分发挥出来,导致课堂教学质量不太理想。众所周知,程序设计课是应用性很强的课程,应该更加突出实践应用能力,尽管有些内容采取了机房授课模式,但实际效果并不好,很重要的原因,就是这种模式对教员驾驭课堂能力和素质要求很高,如果不能充分调动学员自主学习能力,授课质量将很难达到。

(2)授课教员发展受限

计算机公共基础课授课对象一般面向全校学员,人数分布广,需要配备大量教员,教学任务相对较重,通常面临着“僧多粥少”的尴尬局面。由于授课任务饱满,教员没有更多精力投入到科研项目和教学研究,长此以往担任基础课教员都会遇到业绩不饱满、能力提升慢、职称晋升难等问题,也对教员积极性有一定的挫败,反过来,也会使教学效果受到影响。

(3)能力培养需要进一步强化

前面已经介绍,由于Python语法简单,在教学实施过程中不需要花费大量时间讲解其语法规则,应将更多的精力花费在实践操作和应用上,但是,Python语言又具有灵活的面向对象和模块化设计思想,能与其他语言协作完成复杂项目的混合编程,这些编程理念与技巧,大大地提升学员逻辑思维能力,也能培养学员利用Python语言工具解决综合问题的能力,不过很难用一个个知识点的教学或者简单的案例教学法实现,需要通过较综合的项目实例或者课程大作业方式来实现教学目标。

3教学措施与实践

在Python教学实施过程中,我们抛弃传统语言程序设计中精讲语法这种模式,采用由案例项目驱动,逐步推进的形式,抽取知识点,使这些知识点串起一个主线,教学过程就是为项目设计服务,当所有知识点学习完成,整个项目设计过程也水到渠成了。这种项目驱动式教学,需将课程结构分割为若干小单元,且使各单元之间保持完整的逻辑顺序,其内容可以由易到难、由简单到复杂、由少至多,循序渐进,逐渐增加难度,增强学员的学习兴趣和成就感,如表1所示。

第一阶段是认识Python,时间持续为两周。教学内容包括计算机基础知识、Python基础知识,有趣小程序等,比如:杨辉三角、九九乘法口诀表、冒泡法排序、二分法查找、求100以内素数、菱形绘制等。课后练习是让学员自主阅读程序,执行代码,深刻体会结果与代码之间的对应关系,让学员深刻理解计算机解决实际问题基本步骤:输入—处理—输出,从而构建Python程序整体框架,为后续学习打好基礎。

第二阶段是会读阶段。通过实例拆解、程序阅读、重点剖析等方式引导学员总结计算机解决实际问题的整个流程。一个好程序就好比一件艺术品,内涵丰富,包含了很多要素,无法用一段文字来具体地描述,要求学员仔细品味程序代码,通过深入剖析总结,学员可以归纳出Python程序设计的基本框架、基本技巧与方法,其重要性不言而喻。这种教学模式,从第3周开始就能一直持续下去,学习者研读的程序越多越深入,其编程技能也将更加娴熟。

第三阶段是会写阶段。编写任何语言的程序,都是很严谨认真的事情,需要正确的方法、准确的思维和缜密的判断,一方面培养学员的科学严谨的治学作风,另一方面养成积极思考、主动解决问题意识,这对于学习能力培养非常有必要。对于编程零基础学员来说,教员需要花点时间教会他们熟练使用集成环境、调试程序的基本方法,这样,在遇到一些简单的语法问题,学员就可以自主地去完成。当然,编写源代码可以从简单问题入手,逐步加大难度,从尝试解决1到2行代码开始,接着尝试修改一个10行左右复杂代码,逐渐增加难度,循序渐进,最后,能独立编写具有一定难度的问题了。

第四阶段是会解决问题。学期过半后,学员已经学完了Python 的基本数据类型、程序控制结构、函数、图形绘制等内容。教员可以结合全国计算机等级考试大纲要求,引导学员講授第三方常见库的使用方法和基本功能,并尝试解决一些实际问题。通过复杂的实际问题,教员讲授Python编程解决问题的基本思路:如何抽象、如何表达抽象、算法流程图描述与优化、代码复用与优化问题等。

整个教学过程紧紧围绕“四个阶段”任务而逐步推进,以一个开发学员信息管理系统的综合案例为任务牵引,将课堂教学中各部分知识点进行有机联系,然后采取增量模式逐步推进,随着问题的逐步解决,依次引入新的知识点,随着任务逐步展开,按从易到难、从单一知识点到多个知识点的有序组织。与此同时,在实验教学和课后作业中设置类似任务,让学员们通过模仿并创造性地学习,顺利完成教员布置的实验任务。

4 结束语

开设Python语言程序设计这门课程,目的就是为了培养学员动手实践能力,培养其分析问题、解决问题的能力与素质。因此,将Python课程设计分解为四个阶段,分别设置各阶段学习任务和教学目标,循序渐进,最终达到理想的教学效果。

参考文献:

[1]刘梅彦,徐英慧,周淑一.基于成果导向的“Python 程序设计”教学设计[J].电脑知识与技术,2017,13(20) :105-107.

[2]郑戟明.Python程序设计课程中计算思维的应用[J].大学教育,2016,8(1):127-129.

[3]赵霞,张珣,韩忠明. Python 语言教学中问题解决能力和创新能力的培养实践[J].计算机教育,2017,9(1):6-9.

[4]魏冬梅,王影,钟世芬.基于CDIO模式的Python程序设计课程教学实践,2018,2(1):129-131.

[5]杨爱琴.基于计算思维的Python 程序设计语言教学探讨[J].福建电脑,2017,11(1):173-174.

[6]秦科,刘贵松.面向Python应用的大学教学改革初探[J]. 计算机教育,2017,9(1):21-24.

[7]姚竞.面向项目的"Python 程序设计"教学实践与研究[J].福建电脑,2009,7(1):198-200.

[8]吴萍,朱敏,蒲鹏.基于思维培养的Python程序设计类课程之实践[J].电脑知识与技术,2017,6(1):166-168。

【通联编辑:王力】

猜你喜欢
案例式教学任务驱动教学质量
提高教学质量,重在科学管理
紧扣案例特点,开展有效教学
兽医临床诊断学案例式教学模式的探索与体会
任务驱动, 启发学生自学
提高语文教学质量的几点思考