APP下载

“双减”背景下初中《C 程序设计》校本课程开发探究
——以编程游戏项目“黑白棋”为例

2023-12-21东北师范大学盘龙实验学校师文浩

黑龙江教育(教育与教学) 2023年12期
关键词:程序设计编程校本

东北师范大学盘龙实验学校 师文浩

昆明理工大学津桥学院 杨磊娜

随着大数据、人工智能等信息技术高速发展,程序设计类课程越来越多地被纳入到校本课程中,受到广泛关注和欢迎。 2022 年9 月, 教育部办公厅印发了《关于公布2022-2025 学年面向中小学生的全国性竞赛活动的通知》,其中认定了44 项全国性竞赛,有约四分之一的竞赛涉及程序设计技能[1]。因此,中小学校结合校本实际开发程序设计类课程能够起到丰富课后服务内容、培养学生信息科技素养、鼓励和帮助学生参与竞赛等作用,具有一定的现实意义。

一、课程开发背景

2017 年2 月,教育部办公厅出台《关于做好中小学生课后服务工作的指导意见》, 指出课后服务内容主要是安排学生做作业、自主阅读、体育、艺术、科普活动,以及娱乐游戏、拓展训练、开展社团及兴趣小组活动、观看适宜儿童的影片等[2]。 2021 年7 月,中共中央办公厅、国务院办公厅印发了《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》,指出要提升学校课后服务水平,满足学生多样化需求[3]。

要让“双减”政策落到实处,各中小学就要重点关注学生的课后服务项目的开设,而校本课程是对活动课和选修课的继承、规范和发展,有些兴趣小组和活动,可以直接归入校本课程。 因此,可以采用校本课程开发的方法来设计和开展符合“双减”政策要求的课后服务活动。

二、课程开发理念

(一)以核心素养培养为目标导向

当前我国基础教育改革的重点是围绕培养学生的核心素养,也就是学生所应当具有的必备品格和关键能力来展开的。 校本课程的开发需要从“知识本位”转向“素养本位”,积极倡导实践与探究、合作与交流、评价与反思等多样化的活动形式,注重知识与经验的整合,将创新精神、实践能力、社会责任感以及良好品质作为校本课程的价值内核[4]。

程序设计类课程从学科划分来看属于信息科技,其内容应当体现该学科的核心素养培养需求。《义务教育信息科技课程标准(2022 年版)》中规定了本学科的核心素养是信息意识、数字化学习与创新、计算思维、信息社会责任这四项。 程序设计被认为是适合计算思维培养的主要方法。

(二)以“自顶向下”法规划课程内容

“自顶向下”法的含义可以从两个方面来理解。作为编排内容的方法,“自顶向下” 法最早由计算机科学家James F. Kurose 应用在他的著名教材《计算机网络》中。 他认为,传统的《计算机网络》课程或教材,在编排内容的时候,往往从最下面一层(即物理层)开始讲解,然后一层一层往上到达最上层(即应用层),这种方法不利于学生理解和掌握知识点, 因为学生在使用网络的时候很少关注下层的内容,都是直接进行应用,如果先开始讲解底层,会产生疏离感,因此应当从最上层开始讲解,贴近实际,逐步下沉。

作为软件工程中的一种分析方法,“自顶向下”指的是从整体到局部进行设计。先将一个复杂的软件系统分解为多个模块,然后对每个模块进行设计和开发,开发每个模块时同样遵循逐步细化的原则。 应该说,这种思路符合计算思维过程中的几个关键步骤,即抽象、分解、设计算法、验证等。

在大中小学开展程序设计类课程,传统的做法是先从程序语言中最小的细节部分开始, 逐步进入程序结构;之后教授模块化的相关内容;最后进行综合设计实践。 这种方法在起始阶段较为枯燥,学生很难体会到编程的乐趣和成就感,容易过早进入疲劳期,效果不好。采用“自顶向下”法来安排课程内容, 可以从一个具体的应用程序开始,逐步拆分成不同的功能模块,再进一步细化为实现模块需要用到的技术细节。这种方法使得学生能够沉浸在具体的情境或者任务中进行学习,采用情境教学法或者任务教学法来实施课程。

(三)线上线下相结合开展课程

采用线上线下相结合的方法开展混合学习,可以充分满足学生的个性化需要。利用线上线下融合的方法进行课程和教学设计,要考虑学科特点,充分发挥学科和教学的优势[5]。

学生对于程序设计类课程的需求是不一致的, 有些学生希望通过学习进一步参加竞赛活动, 有些学生仅仅是因为好奇心而选择参加课程。 采用线上线下结合的方式,可以用不同的形式来承载课程内容,满足不同学生的学习需要。在设计课程的过程中,需要充分考虑在不同环境下应该呈现哪些课程内容, 如何更加合理地安排课程内容等问题。

三、课程开发实践

校本课程的开发流程并非固定单一的模式,需要结合学校的实际情况来进行。 一般的流程包括组织建立、现状分析、目标拟定、方案编制、解释与实施、评价与修订等。

(一)组织建立

校本课程的开发,需要成立相关的开发委员会或者工作小组。涉及的人员包括学校分管领导、教务主任、任课教师、校内外课程专家、学生代表和家长代表等。

在程序设计类校本课程开发中,信息技术教师要起到关键作用。在开发课程的过程中,既要符合学科要求,又要有自身特色, 信息技术教师要对内容进行设计和取舍;其次,校本课程不能与课标的精神相悖,要围绕学科核心素养的培养要求。 另外,信息技术教师要担任校本课程授课教师,就至少要具备相关的程序设计能力,如果无法胜任,则需要考虑校外机构或人员的支持。

(二)现状分析

现状分析包括对学校、教师、学生、家长等多个层面。学校层面的现状包括硬件设施、现有课程安排等。 教师层面主要考虑教师的知识技能和开课意愿等。程序设计类课程需要教师具备较强的专业技能, 特别是程序设计技能,需要比较深入且完备地掌握, 如果本校教师能力不足,还可以寻求校外机构或人员的支持。对学生的现状调查可以采用发放问卷的形式,了解学生是否希望参加学校的编程校本课程或是否愿意参加编程等科技竞赛。家长层面的现状分析主要是考虑是否理解课程实施的意义,是否支持学校开展课程,等等。

(三)目标拟定

课程的总体目标是通过课程实施,促进学生的信息技术学科核心素养尤其是计算思维的培养,拓宽学生的知识面,帮助学生了解程序设计的基本知识和技能方法,使他们能够初步利用程序设计解决问题。

对于单纯希望通过课程来学习程序设计并满足兴趣爱好的学生,能够跟随教师讲解完成编程任务,能够理解编程的基本流程, 能够通过对程序的简单改进来解决问题。 对于希望进一步参加编程竞赛的学生,能够理解程序设计中的相关知识细节, 具备一定的算法分析与设计能力,能够基本达到参加信息学竞赛的水平。 课程方案的编制需要考虑这些不同目标的实现。

(四)方案编制

通过调查, 发现学校有相当一部分学生接触过Scratch 等图形化编程,具有一定的基础。 同时,初中生的思维方式正处在从形象思维向抽象思维转变的阶段,可以逐步进入到非图形化编程语言的学习。Python 语言是广受欢迎的语言,有一些校本课程基于此进行开发实施[6]。 但是, 考虑到对信息学竞赛的适配性以及广泛应用性,C 语言虽然比起Python 来说难度较大, 但仍是一门比较适合学习的编程语言。

课程的编排分为线上和线下两条线,相对独立,亦有关联。线上课程通过对一个完整游戏项目“黑白棋”的分析讲解,一步一步指导学生完成一个真实任务;线下课程通过一个个专题讲座,讲解程序设计过程中涉及的知识和技能,帮助学生夯实技术,使他们能够达到参加信息学竞赛的水平(见图1)。

图1 线上线下结合的《C 程序设计》校本课程方案设置

课程开始前, 首先要让学生理解什么是C 语言编程、搭建编程的环境,做好思想上和技术上的准备。 随后进行分支,线上和线下可以分别独立运作。 线上课程内容自顶向下地规划“黑白棋”的实现过程,一开始就让学生感受程序设计的全貌,然后分解为不同的功能和模块。 课程的执行主要是通过教师的演示讲解和学生的跟随实验来完成。课程任务分解为“绘制棋盘”“下棋状态管理”“下棋过程实现”等几个模块,每个模块要进行细分。学生主要学习的是设计思想和流程,体现了计算思维的运用。 经过线上课程的学习,学生可以跟随教师实现自己的“黑白棋”,对于如何开发一个软件有比较完整的理解。

线上课程不关注细节,更多地向学生展示最一般的程序设计方法。 线下课程则更贴近传统的课程安排,教师要带领学生深入每个知识点,掌握其中的原理,进行相应的专题训练。在线下课程中,可以先采用线上课程的资源,让学生学习并实践“黑白棋”案例,然后教师深入分析其中运用到的具体程序设计知识,将学习重心逐步转移到编程技巧和细节的训练上,从而帮助学生培养参加信息学竞赛的能力。

(五)解释与实施

课程的开展在课后服务时段进行,遵循学生自愿报名参加的原则。 课程通过线上线下结合的方式进行,可以满足不同类型学生的学习需求。线下课程除了满足主动报名参加的学生以外, 还可以有针对性地邀请思维能力较强、数理逻辑清晰的学生加入[7]。仅仅是对编程感兴趣,充满好奇的学生,既可以参加线下课程,又可以学习线上课程的内容,这样的实施方案具备很好的灵活性。

教师实施课程的重点放在线下课程中关于编程细节的讲解方面, 这些内容对于参加信息学竞赛具有重要意义,其他内容可以充分发挥学生的主观能动性,鼓励他们自行完成。教师可以利用线上课程的内容来做线下课程的案例,进行深入分析和讲解。

(六)评价与修订

关于学生成就的评价, 采用计算思维量表来进行测评, 采用Román-González 等人开发的量表和国内的陈兴冶等人开发的本土计算思维评价量表。还要通过知识测验、作品分享等方法来评价学生在课程中获得的成就。 在课程中能够扎实掌握编程技能的学生,要帮助和鼓励他们去参加信息学竞赛等相关竞赛活动。

对课程本身进行评价,要从学校、学生和家长等方面进行。 课程的运作是否顺利、是否促进了“双减”背景下课后服务的实施,需要由教务部门或者校长来判定,并进一步决定是否继续实施课程。 通过问卷调查和访谈,了解学生对课程的看法,家长的意见也可作为参考。

线上线下结合的课程模式,要重视线上资源的建设。可以通过微信公众号、短视频平台等来发布资源。 线下课程重点讲解知识细节和竞赛技巧, 可以借鉴优秀的信息学竞赛教程。《C 程序设计》课程以项目为导向,鼓励学生自主探究。 教师在知识方面要能够把握重点、及时答疑,指导学生组成学习共同体,帮助他们进行合作探究。 要教会学生利用编程来解决实际问题。 在课程的后续完善和修订中,应当充分考虑跨学科的教学,将其他学科中存在的真实问题作为程序设计的案例, 结合其他学科的教学需求来设计跨学科教学任务, 充分调动师生的探索积极性。

猜你喜欢

程序设计编程校本
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
高中地理校本课程的开发与实施——以闽江环境保护校本开发为例
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
《红楼梦》(新校本)
《红楼梦》(新校本)
点校本《史记》中的“曆”字