APP下载

案例驱动教学法在Python教学中的应用

2021-01-28贺玲肖蕾罗刚唐晓胡亚慧

微型电脑应用 2021年1期
关键词:五子棋程序设计驱动

贺玲, 肖蕾, 罗刚, 唐晓, 胡亚慧

(空军预警学院 预警情报系, 湖北 武汉 430010)

0 引言

Python语言由荷兰人Guido van Rossum于1989年发明,1991年发行第一个公开版本。该语言是目前最接近自然语言的通用编程语言,是程序设计课程教学改革的理想选择,是理解计算思维时代性的重要体现[1]。

近年来,全国高校都在开设程序设计语言课程,旨在通过学习使学生了解高级语言程序设计的基本思想,体会计算机求解问题的方法和步骤,培养学生设计程序、编写程序、调试程序的能力。而Python语言以其功能强大、简单易学等优点,受到越来越多高校的青睐。我国教育部高等学校大学计算机课程教学指导委员会在2016年首次将Python语言作为程序设计入门课程的教学语言[2]。

1 前期Python教学面临问题分析

我校自2017年以来,已在三届本科生中全面开展了Python语言程序设计教学。总结回顾这几年的教学实践,在前期教学过程中遇到的问题和困难主要体现在以下几个方面。

一是在知识学习层面,学生普遍存在重“语法”,轻“语义”和“语用”的倾向,导致学习重点不明确,学习重心本末倒置。

二是在能力培养层面,学生对具体现实问题抽象建模不到位,导致学习深度不够,学习进程缓慢。

三是在素质提升层面,学生解决复杂问题的结构化、模块化意识不强,导致举一反三能力偏弱,学习效果不明显。

究其本质,出现上述问题的根本原因,是学生在学习Python语言的过程中,问题导向不明确,没有真正从计算思维的角度去看待、分析问题,进而导致学习兴趣不浓厚,学习的主观能动性没有完全调动起来。

计算思维的概念最早由美国CMU大学周以真教授提出[3]。周教授认为:计算思维是运用计算机科学的基础概念去求解问题、设计系统以及理解人类行为,它采用抽象和分解的方法来控制庞杂的任务或设计巨型复杂系统,并选择合理的方式对一个问题的相关方面建模使其易于处理。中国科学院院士陈国良讲授曾指出:在大学中,计算思维不仅能振兴大学计算机教育,而且会令科学与工程领域创造出革命性的研究成果[4]。

案例驱动教学法,则能很好地遵循计算思维求解问题的思路,带领学生以问题为导向,并通过对问题的抽象建模和模块化分解,寻求问题的最优解,从而将知识学习、能力培养、素质提升,贯穿教学的全过程。

2 五子棋教学案例设计

2.1 案例驱动教学法

案例驱动教学,以案例为基础、以问题为核心组织教学,该教学法已在计算机等各类学科的教学中得到广泛的实施[5-7]。

案例驱动教学法起源于1920年,来源于美国哈佛商学院采取商业管理的真实情境来进行教学,引导学生主动参与课堂讨论。此教学方法实施后,效果显著。结合Python语言程序设计教学的实际,本文认为,案例驱动教学法可抽象为以下几个阶段。

首先是设计(或提出)案例。设计合理的案例,即是创设良好的学习情境,这是案例驱动教学的第一步。一个适合于教学的案例,应该具有鲜明的针对性,针对教学对象、针对教学内容、针对教学重难点。

然后是分析(或分解)案例。分析案例,从中提炼关键问题,并对其进行归纳建模,这是案例驱动教学中承上启下的关键环节,其中蕴含了“抽象”、“分解”以及“算法思维”等计算思维中的重要概念。

最后是引导学生围绕案例所要解决的问题逐步递进地进行求解,并验证所得结果。

在此期间,知识学习、能力培养和素质提升贯穿教学的全过程,“学生主体”的理念也得到了充分的体现。本文提出的案例驱动教学过程,如图1所示。

图1 Python语言案例驱动教学过程

教学小组在最近一期的教学中推进了案例驱动教学法的实施,实践表明,该教学法能很好地适用于Python语言程序设计的教学,并且能有效提升学生分析问题和解决问题的能力、培养并提高学生的创新意识,最终有效提升教学效果。接下来以一个五子棋案例为依托,详细阐述案例驱动教学法在Python教学中的应用。

2.2 五子棋教学案例

2.2.1 提出案例

为保证教学效果,保障教学进程的顺利推进,案例的选取除了要具有鲜明的针对性,也应具备一定的启发性和趣味性,同时还要有灵活的可操作性,这样才能最大限度地调动学生学习的积极性,确保教学的有效性。

五子棋案例的提出时机,选择在Python语言基本数据类型以及Python程序基本结构等基础内容学习完毕之后,旨在通过对该案例的分析和求解,引导学生进一步掌握结构化程序设计的基本思想和方法,能正确完成循环结构、选择结构的程序设计,并能够在程序中正确使用列表等组合数据类型。

五子棋案例描述如下。

五子棋是中国古代的传统黑白棋种之一。现欲开发一款控制台版五子棋游戏,具备如下功能。

(1) 可以循环打印棋盘;

(2) 可以单机对战;

(3) 对战双方有一方胜利时,打印胜利棋盘及赢家。

2.2.2 分析案例

首先,对于上述案例,从已给出的三个功能描述,还可进一步分析出该案例应该隐含的其它功能,例如:能够判断某个棋子是否超出棋盘范围、能够判断指定坐标位置是否已经存在棋子。此外,还应该能保证界面美观、提示清晰明显。

在此基础上,根据五子棋游戏规则,可总结抽象出五子棋游戏的功能结构,如图2所示。

图2 五子棋功能结构抽象示意图

更进一步,根据对功能结构的分解和描述,可得到该五子棋案例的简易流程图,如图3所示。

图3 五子棋流程图

按照计算机求解问题的一般步骤,接下来要做的工作,就是根据流程图,以某个特定的语言为载体,编写程序,并运行程序获得结果。

2.2.3 求解案例

分析图3可知,该案例的求解,其程序结构涵盖了循环结构和选择结构。此外,针对棋盘的处理(初始化棋盘、绘制棋盘等),需要涉及到对列表的处理。因此,案例求解阶段的任务,就是引导学生利用前期所学过的选择和循环结构程序设计方法,以及对列表这一组合数据类型的处理,同时以结构化、模块化程序设计的思想为指导,完成程序的编写,并正确地进行输入,以获得预期的结果。

2.3 教学效果

上述从提出案例、分析案例到求解案例的整个过程思路,与计算思维求解问题的途径和方法一脉相承、紧密吻合,同时也自始至终地贯彻了“问题引导、学生主体”的教学理念。

教学实践表明,学生从首次接触案例,到最终对案例进行求解,都表现出了极大的学习积极性和主动性,他们从中也获得了强烈的成就感和满足感,学习效果得到了明显的提升。

(1) 学习的针对性增强,学习重点明确。有了案例所求解问题的引导,学生对新知识的学习不再有畏难情绪,而是积极主动地带着问题去预习新内容、探寻新知识,对知识的学习系统性更强,条理也更清晰。

(2) 学生动手能力增强,学习进程顺利。在分析案例、求解案例的全过程中,学生都是作为主体主动参与,借助课程“理实一体”的教学模式,整个教学过程都是围绕案例边分析、边验证。学生自主实践、解决现实问题的能力得到有力提升。

(3) 计算思维的导向更突出,学习效果明显。从本质上说,案例的求解,是一个全局的、系统化的宏观问题,在将这个大的整体问题划分为若干个结构化的模块并得以求解的过程中,学生的计算思维和素养都能到了应有的提高。

3 总结

案例驱动教学法的实施,一定要注重案例的针对性、明确性和可操作性,只有这样,才能最大限度调动学生学习的积极性,保证教学进程的有效推进。

Python语言程序设计,是一门实践性极强的课程,需要寻求有更多、更有效的案例,充实教学内容,提升教学效果。下一步,在探寻新的教学模式和教学思路的同时,还要力求建设一批贴近实战的教学案例,并将其应用于教学实践,推动课程建设发展。

猜你喜欢

五子棋程序设计驱动
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
基于Visual Studio Code的C语言程序设计实践教学探索
Sim Sim
轨旁ATC系统门控柜接收/驱动板改造
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
基于S3C6410的Wi-Fi驱动移植实现
90后罗运生:五子棋是我生命的一部分
PLC梯形图程序设计技巧及应用