2016年《高中信息技术课程标准修订稿》(以下简称新课标)发布,界定了信息技术学科核心素养,厘清了信息技术教育的实质内涵,信息技术教育从过去“信息常识”教育升级到“学科核心素养”培养。新课标指出:信息技术学科核心素养包括信息意识、计算思维、数字化学习与创新、信息社会责任四项核心内容。长期以来,由于应对高中学业水平测试的需要,在绝大部分学校里,程序设计选修课程已经消失,这次修订信息技术课程分为:必修、选修I、选修II三部分,程序设计作为课程体系的核心将重返信息技术课堂。
这次学校组织“行知杯”课堂教学大赛,教研组决定以Python程序设计为主题同课异构,因为是第一节课,绝大部分学生对编程而言都是零起点,故授课知识点不做限定。
从定下主题到正式开课有10天左右时间,Python对全组老师而言,我们都是门外汉、初学者,大家都是现学现卖。
俗话说万事开头难,用在程序设计学习上再恰当不过,要学会一门程序设计语言,必须掌握其基本语法,熟悉其开发工具,知晓其调试方法。虽然对Python早有耳闻,但是了解并不多,为了上好课,能把准确的知识与技能传授给学生,十天的准备时间,一直在不断学习Python相关知识,了解其背景故事、相关开发框架、各种功用,一边学习,一边做教学设计。鉴于此,我暂定的授课知识点包含如下几部分,目的是通过这些知识点的学习,能够掌握 Python 的基本语法,能够编写出简单的猜数字的游戏。
暂定的授课技能包含如下几部分,目的是通过IDLE、Debugger的使用,让学生理解变量的类型和值的变化过程,掌握Python等程序设计方法、调试方法。
如果掌握了以上基本知识和基本技能,就算是基本入门了,再开展后续学习将会如鱼得水。
那教学设计怎么做呢?我设计了5个实例,层层递进,逐个讲解各语法的使用,最后用一个综合实例总结收尾。
实战1: Hello World!目的:学习 print() 语句,掌握 IDLE 工具的基本使用。
实战2:数值交换。目的:掌握变量的定义,input()、int() 的语法,掌握 IDLE 中 Debugger 调试器的使用。
实战3:猜数字。目的:掌握 if……elif……else 的语法,理解分支结构、条件判断的使用。
实战4:计算100以内整数之和。目的:掌握循环之 while 的使用,理解累加算法。
实战5:升级版猜数字。目的:以上语法技能的综合运用。
授课流程遵循常规,从理论到实践:
从授课效果来看,大部分学生都能跟上老师的节奏,完成实战任务。但是,本课也存在一些不足。一、教学设计从几个知识点和技能点出发,依次展开,逐步提升,最终完成一个包含各种知识点技能点的综合任务,但是上课开始没有对最终任务做一个展示,学生虽然跟着老师的节奏走,但是预期目标,主动性显得不够强。二、设计的实战偏多,在授课的过程中,需要不断打断学生的思维和操作,不利于学生操作的连贯性。三、整个上课过程中,对学生的点评、分享不够。