如何把课上得“简”非“牍”

    王爱胜

    新课程、新教材,教学越深入,遇见的迷茫会越多,这也是正常的发展之路。本期解码让我们共同寻找课堂教学难题的突破之法,让我们的课堂顺起来、活起来、美起来。

    随着新教材使用的日益推进,从必修到选修共十本书,一线教师着实有些惊呆了、吓坏了、着慌了。从课程实验、教材培训再到教学实践,专家们、编者们、教师们、学生们都经常是五味杂陈、莫衷一是。这虽然是要建设更加多元内容、多元技能的信息技术课程新生态,但由于目前尚在初级发展阶段,一线教师还是需要比较切合实际的引领,循序渐进方能出神入化。基于此情,我想跟大家探讨一个解决的策略,那就是取“简”略“牍”的。当然,这种策略,也有很多教师早就在被动做,有的直接简化为“应试做题”,有的不得已简化为“选讲选做”,甚至还有的另辟蹊径去重构课程。现在,我们可以换一个方式,但不脱离新课标、新教材去解决教学实际问题,那就是主动去奉行简约主义,主动能够更有目标地依据课标、依托教材达成课程在课堂上的核心价值理念,实现学生学科核心素养的扎实发展。

    ● 思考简的意义与牍的局限

    我们借“简”与“牍”两个词,目的并不是刻意破坏“简牍”是中国古代信息载体的统称这个说法,也并非咬文嚼字刻意区分简与牍的优与劣,而是一些原因实在不好论述,借喻方能更易理解与把握。简,形声字,从竹,间声,本义为竹简。战国至魏晋时代的书写材料是削制成的狭长竹片或木片,竹片称“简”,木片称“札”或“牍”。文章写在竹简上,为保持前后完整,用绳子或皮条编集在一起称为“篇”,多篇可成“册”。我本无意比较简与牍孰贵孰轻,但材料和书写方式的不同让两者记录的内容品味与传播范围发生了变化,简因刀刻更惜字求精,很小众,牍因笔写多而快,更大众;我更无意比较简与牍孰强孰弱,简于秦前发达,而牍于汉后常用,但毕竟都成为历史的遗产,已经让纸书、电子书以及多媒体完全替代了。其实,我们只需从几个相关的词汇借喻一下即可,那就是“言简意赅”和“长篇累牍”,至此,相信读者已经能够了解大意了。

    这是一个信息时代,信息技术学科核心素养把“信息意识”排在第一位,即不仅要提高信息感知的敏锐性,还要提高信息的甄别力。教师要教给学生必要的、有益的知识,学生要学习必要的、重要的技能,而不是又制造出更多的不适合这个年龄、这个学段的价值很小的知识与技术,学生学不会事体尚小,如果打击了他们的学习兴趣,或者引错了学习方向,甚至因“脱实向虚”而影响了国家人才培养,则兹事体大。因此,教师需学会将长篇累牍的教材(长篇累牍并不都是错的,此处仅指篇幅与规模超大)化繁为简,形成言简意赅的课堂教学设计,这样既是解放学生,又是解放教师,更是解放生产力。言简意赅的适用角度,包括课时的安排、项目的实施、练习的评测等方面都有研究的价值。

    ● 化繁为简的着力点在于“达意学科核心素养”

    面对新教材尤其是两本必修,在集体备课中需要做的一个工作就是用“化繁为简”来做到适合校本教学,这对一线教师来说具有很大的难度,破解这个难度的宗旨就是要把“达意”作为基准,教学设计能够表达出学科核心素养,课堂教学要能够落实到学科核心素养,即可从教学内容、教学方法上用简明的方式阐述、理解、掌握。课堂教学的策略很多,本文仅从内容与方法的简约设计上进行举例,说明如何简化编程过程,达意“计算思维”。

    在讲授编程的时候,教师往往纠结于语言、语法、流程图、算法以及变量、数据类型等诸多基本知识体系,如果把这些要素都讲授完需要较长的时间,不仅课时不够,学生学习的目标也不明确。基础教育中的编程教学,并非培养编程专业人员,按课标要求是以培养数字公民素养为主要目标。实际上,即使培养专业人员,初学者也宜通过浅显、生动、简明的实例来理解、体验与熟练掌握基础的编程技能。

    以“分支结构的程序设计”为例,简化思路,按照揭示算法意义、厘清核心内容、进行通俗算法分析、简化范例进行实验等环节进行。

    (1)揭示算法意义。分支结构的程序实现的算法意义在于“进行判断与选择”,分支程序是机器智能化的源泉,所以也称判断语句或选择结构。

    (2)厘清分支程序的核心内容。实现分支结构,第一层次在于条件表达式,条件表达式的意义在于它的值:布尔类型(bool)的值,包括True和False;第二层次是关系表达式的构成,主要在于判断运算符号==、!=、>、<、≥、≤;第三层次在于逻辑运算,逻辑运算符是and、or、not。

    (3)进行通俗算法分析。如果结合流程图讲解算法,对难懂的知识不要在概念上纠结,就当一个事物来认识、思考就可以,这样才能突破因纠结学科新知识形成的认知瓶颈。

    第一,顺序结构。对照流程图,就是从上往下、从先往后做事,计算机是很听程序的话的。让学生们想一想,哪些事例是必须先做A再做B的呢?有的学生回答“先洗手后吃饭”,教师也可以举例“先上第一节课,再上第二节课”。

    第二,分支结构。对照流程图,我们经常想说“是时候需要做出选择了!”,如果、那么就构成了分支结构。如果下雨就打伞,如果是天冷就穿棉衣。可以让学生们想想,还有什么如果呢?当然,如果是为引起深层思考,可以对否定条件进行了解,即“如果不,那么”。有一个学生说:玩游戏,如果输了再开一局,如果赢了再开一局!这位同学的理解有点偏,这是无效条件,但也很哲学,值得深思!

    第三,循环结构。给一盘小馒头,很小的馒头,规定你吃10个,吃一个,再吃一个,如果少于10个就继续吃,这就是“计数循环”。不规定个数了,你吃饱为止,吃一个,没饱?继续吃一个,吃饱了就不要吃了!这就是“条件循环”。

    (4)简化范例进行技术实验。程序范例,不一定要使用教材的内容,教材受单元设计、体例要求等局限,往往比较正规、庞大、复杂,不利于迅速体验,也不易多样化创作。可以采取有趣、开放的小程序来进行算法体验、技术实验和实践探究。

    例如,分支结构可以采用“猜谜”程序完成,探究环节如下。

    第一环节:出谜语,猜谜,有个小奖更佳。

    第二环节:做一个谜底的谜语程序(请换成自己的谜语,让同学猜)。

    #!/usr/bin/python3

    print(“謎面:太阳西边下,月亮东边挂(打一字) :”)

    p=input (“请输入谜面:”)

    if p==“明”:

    print(“你猜对了!”)

    else:

    print(“你猜错了!”)

    第三环节:优化程序,做多个谜底的谜语程序。

    print(“谜面:3天,15天,60天 :”)

    c=input(‘谜底:请顺序输入三个字)

    d1=“晶”

    d2=“胖”

    d3=“朋”

    s=0

    if ?d1 in c:

    print(“3天是:晶”)

    s=s+1

    if ?d2 in c:

    print(“15天是:胖”)

    s=s+1

    if ?d3 in c:

    print(“60天是:朋”)

    s=s+1

    print(“你的得分是:”,s)

    第四环节:分组探究,做多个谜语的程序。

    第五环节:交流评价,互猜谜语,评价作品功能。

    通过上面的实例分析,我们可以得到启发,简约的范例技术实验、简明的算法分析在概要化、核心化的过程中迅速体验、领悟算法和分支程序的内涵,可以感受到言简意赅就是取“简”之精致,除“牍”之粗略,就是听“简”声铿锵,除“牍”声粗涩,有效达意学科核心素养,实现课堂教学的有效、高效。