APP下载

中职Python程序设计教学实践与研究

2023-04-25高立军

计算机应用文摘·触控 2023年8期

高立军

关键词:Python程序教学;趣教;相长

1信息技术引入Python程序设计教学背景

1.1政策要求

2020年,教育部公布了中等职业学校公共基础课课程标准(以下简称“标准”)。其中,信息技术课程名称由原来的“计算机基础”改为“信息技术”,教学内容增设了程序设计入门等9个模块内容。标准提到,在教学中,程序设计入门模块应基于生产、生活的实际需求,选用可视化、智能化等易于上手的程序设计语言,而Python正符合以上要求。而且,当前很多省市已将Python纳入普职高高考内容体系中,Python课程将成为未来学习的一种趋势。

1.2大赛需要

全国各地都在积极举办Python编程技能等大赛,希望通过竞赛,促进学生和教师对Python程序设计的认识,以提升学生程序设计能力。所以,在信息技术中引入Python程序设计的内容也成为一种必然[1]。

2中职Python程序设计教学实践与研究

Python是一门功能十分强大面向对象的编程语言,它易于理解和扩展,并且使用方便。它是一个开放源码软件,易学易用,几乎能做其他软件能做到的事情,可把各种语言做成的库粘在一起,称为“胶水语言”。

2.1教师:趣味化教学

中职各专业高一学生,大部分学生数学与英语基础薄弱,逻辑思维能力一般,学习兴趣较弱,学习主动性不强,而数学思维与英文基础恰恰是学好编程很重要的2个要素。另外,学习编程需要一定的兴趣爱好,这样才有动力去坚持。因此,如果中职Python编程语言的学习从基础知识、语法开始,循序渐进,往往会打击很多学生学习Python的积极性。鉴于学生基础以及Python课程的特点,本文采用了以下的教学流程。

2.1.1激兴趣,引基础

现在的年轻人,最大的痛苦是什么?——所得非所求。教师教的内容不是学生想要的,所以学生不学。为了让学生能投入Python学习中,激发其编程的兴趣,在起步阶段引入Python游戏和Turtle画图,如图1所示。

(1) Python游戏。

一听说上课可以玩游戏,学生的兴趣一下被点燃了。接下来的教学是学生在后面催着的教学,学生的潜力完全被激发。为了便于管理与监控,建立班级,把班级码发给学生,让学生加入所在班级。1次课下来,很多学生就通关成功。有了这个游戏经历,学生对Python调用方法的基本格式——“对象.方法”就比较熟悉,包括代码区分大小写,调用方法时参数的使用(比如,向右移动3次,可用hero.moveRight(3)),以及程序设计的顺序结构、循环结构、条件结构。而且,这是在玩游戏过程中学生慢慢体会到的,而不是教师有意传授的,实现了“随风潜入夜,润物细无声”的效果[2]o

(2) Turtle画图。

有了Python游戏操作的基础,接着让学生接触Python中的turtle模块。把turtle图形模块作为教学内容首选,并以此为切人口进行教学实践研究,以“画”引学,以“画”促教。让学生立刻就能看到自己的作品,哪怕是一条线、一个圆,总是自己编程的成果,让每一个学生在课堂上动起来,学起来,快乐起来,相信这样的编程学习一定能够在学生心中生根发芽,从而引导学生长久地坚持下去,为未来进一步深入学习Python编程技术打下坚固的基础。

①确定以“四画法”作为Python Turtle模块的教学主线,进行教学实践活动。

畫一:线段圆弧

1)制作turtle命令汇总表,比对中英文意思,逐步熟悉命令。

2)明确线段与圆的画法,以各种颜色与粗细的三角形、正方形、六边形、圆、半圆为素材,学生反复操练,让学生熟悉基础命令。

画二:大写字母

1)按字母形状分类:横竖类:E,F,H,I,L,T;左右斜线类:A,K,M,N,V,W,X,Y,Z;“半圆+竖线”类:B,D,J,P,R,U;基于C转换类:C,G,0,Q;弧线组合类:S。

2)指导学生掌握每一个典型操作,举一反三,熟能生巧,促进绘制设计思维能力的培养。让学生演绎思维。

画三:组合形状

1)设定形状编程制作案例:找一些漂亮又典型的案例图形。

2)通过多个代表性案例的训练,使学生对直线线段图形、曲线图形的设计,有一个清晰的思路,以提升学生的应用能力。

画四:循环图案

1)向学生展示丰富多彩的图形及冗余命令行。

2)引进选择结构和循环结构,简化绘画程序命令行,引导学生利用选择与循环结构语句。

3)进行IF语句和for语句教学。引导学生改变角度与循环次数,发现图形的变化,让学生制作创意作品。

②挑选“编程选修课堂”对象,用“四画法”模式,培养双尖生“兴趣与基础”。

向学校提出申请,组建“Python编程选修课堂”,并在高一新生班与高二年级各班挑选若干学生。挑选原则:先自己报名,然后班主任根据计算机学习成绩和平时表现(自主钻研精神较强)进行筛选,筛选之后再由竞赛指导教师面试确定,尽量接近“双尖生”标准。接下来,在每周二下午全校选修课时进行走班上课,建立微信群,加强周末与假期的交流,研究与普通班教学效果的差异性,再反过来去调整普通班教学。

③组织竞赛活动,创设编程绘画生活化作品,使学有所用。

一学期后,全校进行Python编程竞赛,一方面为今后参加区市竞赛准备人才,另一方面比较“双尖生”与“普通教学班学生”的差异,并注意积累学习资源,整理汇编成册,为下一届的学生培养准备更多的素材。学生个别作品如图2所示。

2.1.2释出入,建框架

有了Python游戏的体验和turtle画图的创意经历,学生对编程的兴趣已越来越浓厚,这时让学生建立Python程序的整体概念,使其深入掌握程序框架结构。

首先,深入学习输入输出语句的应用,打破编程的外围障碍。其次,学生需掌握编程的核心技术——算法的编制。重点掌握3种基本结构:顺序结构、选择结构和循环结。程序设计的基本步骤为:分析问题-设计算法-编写程序-调试运行。

2.1.3遵层次,析案例

作为中职学生,培养他们掌握画解决问题的流程,有时比写代码更重要。毕竟Python内容只是信息技术的一个章节,主要是培养学生思考解决问题的能力,而不是真正意义上专业编程的学习。教师应从流程图顺序结构、选择结构和循环结构方面,给学生进行系统的讲解。

2.2学生:快乐学习

“把课堂还给学生,让课堂焕发出生命的活力”是新课改的灵魂。课堂是师生互动的舞台,教师应该教会学生学习的策略、方法,将学习的时间、空间还给学生,让学生自主学习,自主探究,养成良好的学习习惯,这样才能提高课堂教学质量。

除了课间时间,学生还可以通过微信群、电话与教师交流,一般教师会与一些兴趣高的学生建立网络联系,指导鼓励他们钻研编程技术,通过以点带面,使班级的学习氛围达到顶峰。总之,真正的学习还是要发挥学生的学习主动性,让他们快乐学习,发自内心地想学。

2.3师生:教与学相长

新课标的实施不仅改革了学生的学习方式,而且改变了教师的教学方式。新知识的引进,学生接触网络、利用网络学习,使教师的角色发生了很大的变化。学生遇到编程不懂的地方,可进行视频学习,以及通过Python学习群进行探讨,学生的思维与水平在逐渐超越教师。比如,绘制菱形星号图形。代码如下。

学生的做法就给教师以很大启发。

只有充分相信学生,以激发学生的学习兴趣为突破口,多给学生创造发挥潜能的机会,关注每一个层次的学生,并在此过程中与学生进行平等对话,相信肯定能产生“教学相长”的双赢效果。正因为在学生的督促下,教师与学生的水平都得到了提升,在每年Python技能大赛(师生同台)中学生与教师都取得了良好的成绩。

3教学实践研究的体会与反思

3.1教师需要学习,在学习中才能了解学生的困惑

教师的主要任务是让学生“学会学习”:因为只有教師知道如何去学,学生才有可能跟随其学习。在应试教育的熏染下,很多教师在繁重的重复劳动中疏于学习,新的观念新的知识对他没有吸引力,学生在学习中会遇到怎样的问题根本不清楚,对学生的指导也就没有针对性,教学效果自然就下降了。

3.2教师只有比学生更善学,才可能会教

在指导学生的编程过程中,发现学生的思维是千奇百怪的。

比如,625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其他3位数有这个特征吗?请编写程序,寻找所有这样的三位数。

教师编程思维是利用运算符进行“数字分离”,而学生却用字符串切片进行“数字分离”,学生的方法更凸显了中职学生数学底子弱的特点。所以教师不但要去学,而且要比学生更善于学,不仅要知道为什么,还要知道怎么学才能让学生更快、更容易知道为什么。每位教师都有自身的教学优势,要敢于“扬长”,但也要敢于“不避短”,善于向一切可以学习的人学习,当然也包括向学生学习。学习“他”不是为了成为“他”,而是为了成就“我”。有这样的意识,就能不断开辟学习的新途径。教师只有比学生善于学习,他才可能会“教”,因而才可能是“师”:也只有比学生更知道需要学习,他的“教”才有价值。

3.3希望与目标

教师的目标是通过此种教学模式的探索与实践,让教学从反复的应试训练中解放出来,给大家提供结合学校特色开展教学方法创新和模块教学内容构思的空间,同时为教师发挥自己专业价值和开展教研与科研工作带来更多的发展空间。