信息技术课程程序设计教学的实践

时间:2022-06-06 08:40:55

信息技术课程程序设计教学的实践

摘要:阐述职业教育信息技术课程中程序设计教学问题与对策,程序设计的定位,课程各模块与程序设计关联,教学方案的验证。

关键词:信息技术,程序设计,教学验证。

近年来,科技革命和产业变革对技术技能人才的科学文化基础、综合素养提出了新要求,原教学大纲理念、知识体系与职业教育改革发展的新形势和中职学生的学情已不相适应,有的内容也相对陈旧。在诸多现代技术中,信息技术已成为支持经济社会转型发展的主要驱动力,是建设创新型国家、制造强国、网络强国、数字中国、智慧社会的基础支撑。提升国民信息素养,增强个体在信息社会的适应力与创造力,提升全社会的信息化发展水平,对个人、社会和国家发展具有重大的意义。为贯彻落实《国家职业教育改革实施方案》,进一步完善职业教育国家教学标准体系,指导高等职业教育专科公共基础课程改革和课程建设,提高人才培养质量,教育部组织研制了《中等职业学校信息技术课程标准(2020版)》《高等职业教育专科信息技术课程标准(2021年版)》(新课标)。新课标将标准化建设作为统领职业教育发展的突破口,发挥标准在职业教育质量提升中的基础性作用的要求,旨在进一步加强职业教育国家教学标准体系建设,深化中职公共基础课程改革,提升人才培养质量。新课标确定了课程核心素养和课程目标,明确了课程内容和学业质量要求,为提高职业院校公共基础课程教学质量提供了保障。信息技术课程标准注重全面提升学生的综合信息素养,关注信息技术课程的育人价值,围绕信息意识、计算思维、数字化学习与创新、信息社会责任等4个学科核心素养确定课程目标、课程内容,划分学业水平,明确教学要求。

1程序设计的定位

从新课标规定的课程模块看,程序设计是信息安全、人工智能等必修模块的基础,如表1所示,虽说脱离程序设计,信息安全和人工智能模块也能开展教学,但就只能流于表面化的感性认知,无法深入和提高,再看选修模块,中职的个人网店开设、信息安全保护、机器人操作,如表1所示,高职的机器人流程机器人流程自动化、程序设计基础、大数据、人工智能、云计算、现代通信技术、物联网、区块链等几乎绝大多数模块,如表2所示,都对程序设计的知识和技能有很强的依赖性,哪怕是项目管理,实际上现代项目管理的理论,本就源于软件工程领域,虽说可以借助其他领域经验加以理解学习,但如果有程序设计的基础作为助力,能够更好地学习掌握。因此,脱离了程序设计模块,中职近半数模块的教学将受到不同程度影响,高职的选修模块基本无法开设。从学科核心素养落实看,信息意识、数字化学习与创新、信息社会责任的要求与具体模块没有密切关联,计算思维则有所不同。计算思维是指个体运用信息技术的思想方法,在分析处理信息、解决问题过程中产生的一系列思维活动。具有计算思维的学生,能够运用所学知识和技能,采用信息技术可以处理的方式界定问题、抽象特征、建立模型、组织数据;善于运用信息技术工具和信息资源,形成职业岗位与生活情境中的解决方案;总结信息技术应用的方法与技巧,迁移运用到相关问题的解决过程中。虽然各模块都能不同程度的承载计算思维的培养,但显然,程序设计模块在计算思维的培养方面有着先天优势,是计算思维的最佳载体。

2程序设计教学中面临的问题

为了解新课标实施后,职业院校师生对程序设计模块的认知,笔者采用网络调研形式,随机对50名教师和200名学生进行了调研,结果如图1、图2所示。通过对调研结果分析发现,84%的被调查教师认为计算思维是最难教授培养的学科核心素养,而68%的被调查学生则认为程序设计是最难学习的模块,两者有着很高的融合程度。为什么会这样,本文随机与部分被调查师生进行了询问,老师方面普遍反映,相较课程的其他模块,个人不是很擅长程序设计,所以教起来也比较吃力,而学生方面较高频的理由有:程序设计太专业、英语不好看不懂、代码太抽象、无趣,内心抵触、不会做没有成就感等。由此看来,师生方面各自存在问题,但较之教师普遍认为的可能仅仅是教师个人程序设计水平不足,学生反馈的问题或者说实际感受则把问题暴露得更加全面,更值得关注和研究。

3问题分析及策略设计

针对调研结果,我们重点需要解决4个问题:(1)如何降低程序设计的门槛,使其看起来更加简单易懂。(2)有无可能让程序设计与英语脱钩,并设法利用母语优势学习。(3)如何提高程序设计的趣味性。(4)如何帮助学生提高程序设计任务的完成度,增强成就感。基于以上思路,笔者经过大量查证并实际测试对比,决定采用项目式教学设计,并选用mblock程序开发平台作为载体实施教学。为了说明得更清楚,这里简单介绍一下mblock,这是一款免费的程序设计工具,兼具图形化编程和代码编程功能,图形化编程完全兼容scratch,但比scratch提供了更加丰富的功能库,支持多种可编程硬件,如机器人、小汽车等,并且可以“一键翻译”图形化程序为代码程序,上手简单、功能强大、可扩展性强,很适合用于教学。思路确定,教学策略设计如下。(1)兼顾趣味实用,设计实际工作项目。以汽车修理专业的信息技术课程为例,了解到大量学生有去4S店工作的意向,也对车展很感兴趣,所以针对车展中常见而简单的顾客引导问题,设计一个开发车展自动导览程序的工作任务,程序的作用是能给顾客指出到达指定展位的路线,从而减轻车展企业的人工引导负担。这样的项目与专业结合,兼具趣味性与实用性。(2)使用图形编程,分步推进降低难度。项目难度主要从两方面进行降低,①使用图形化编程技术。近年来,图形化编程在中小学教学中已经得到推广,大量中小学教学实践证明,图形化编程学习的年龄门槛在6岁左右,这也说明图形化编程确实是一项简单易学的技术,这样一来,学生就不会感觉有难度。②把项目分解为6次任务,每次推进一部分,学生就不会感觉任务过于庞大复杂。(3)发挥母语优势,思考锻炼计算思维。mblock的图形化编程环境是全中文界面,程序指令块也是中文,学生担心的语言障碍被彻底扫除,编程如同说话写作文,母语优势得到充分发挥,学生的时间精力被从枯燥的记代码中解放出来,能够更加从容的思考程序的思路、算法,从而增强计算思维的学科核心素养。(4)利用图形编程,提升任务完成比例。代码编程需要有一定的基础指令和关键词记忆量,英语不好的初学者手工输入代码又极易出错,出错一般没有运行结果,而同时出现的错误代码也让人望而生畏,这是造成代码编程任务完成率低的一个重要原因。而图形化编程在代码书写上,基本不需要记忆,简单程序甚至对查资料的需求都很少,甚至严格来说,图形化编程的操作过程主要是图形化指令快的拖曳和排列组合,而不是书写,只有极个别地方才使用键盘操作,学生很难在操作方面出错,更多的是代码排列组合不合逻辑导致出错,但即便如此,也会有一个明确的运行结果。所以基于图形化编程的教学项目,完成度会比代码编程高很多。(5)引导功能扩展,提升空间增强趣味。mblock较之scratch,提供了丰富的扩展库,给学生适时展示介绍部分扩展库,可以增强了教学的趣味性,对学生学习很有帮助。例如硬件编程的扩展库,对于诸如汽车修理等工科专业的学生而言,在掌握基础知识技能后,可以很方便地扩展到小汽车、机器人等领域,而人工智能等扩展库,还能与人工智能教学模块进行衔接,实现对话机器人等学生心目中的高级功能,学习提升空间很大,学习趣味性骤增。(6)巧用一键翻译,助力转型代码编程。mblock可以把图形化程序一键“翻译”为目前流行的Python代码程序。这一点充分利用了学生在外语学习过程中喜欢使用翻译软件的习惯,在借助母语和图形化充分理解了程序设计的基本原理后,再学习代码编程就如同利用母语+翻译软件学习英语一样,降低了学生进一步学习代码编程的门槛,为学生后继转型学习代码编程提供了极大便利。

4策略效果检验

为验证教学方案有效性,笔者在平行班分别采用传统的代码编程方案和改进的图形化-代码编程方案(称旧方案和新方案)进行对比教学,根据新课标,程序设计入门模块共12课时,折合6次课,因此笔者分别设计了6个教学程序和6次工作任务,在本模块教学完成后对两个班学生进行问卷调查,结果汇总对比见表3。从对比结果看,新方案有力解决了学生对本模块学习困难的问题,并且思考问题更具条理、继续学习的兴趣和意愿显著提升,也说明包括计算思维在内的学科核心素养也有了显著提高,故新方案对教学效果的改善十分明显。

5结语

教学实践证明,基于图形化-代码编程技术的项目化教学模式,有效降低了程序设计模块的学习门槛,极大提升了学生的学习信心、兴趣和继续学习的意愿,有利于充分发挥学生的主体作用,调动学生多元智能,实现先进技术在信息技术课程程序设计模块教学中的合理运用,从而培养学生的计算思维和综合能力。但作为一种探索尝试,该模式并不完善,例如仍存在少数学生未能很好达成教学目标,有学生反馈,作为一个完整项目,自己有些把握不了,有学生反馈,程序不能自动评分,做完不能准确判断是否做对等等问题,笔者经过总结,认为还可以从以下方面进一步改进:(1)细化复杂项目。学习的过程是一个从无到有逐步积累的过程。在实际教学时一次性让学生完成一个相对复杂的任务是不现实的。因此,教师在设计任务时要针对学生的实际能力,将一个复杂的任务细化为若干个小任务,先完成小任务,再完成大任务。这样通过知识的层层递进可以使学生更容易理解教学内容,降低学习难度,有利于促进程序设计课堂取得更好的效果。所以需要结合学生的普遍水平,适当降低项目的设计难度,设计2~3个较小项目,并视情况可进一步拆解细化,作为对学生的一般要求,原有大项目留给学有余力的学生进行自主提高。(2)增加自评自测。目前程序设计的任务,都是教师人工批改,一是效率不高,二是学生不能及时掌握自己任务完成情况,不利于及时修改、快速提升。所以需要设计一个自动检测程序,让学生完成程序后,能够进行自评自测,及时了解问题,及时自我修正,教师也可以更加高效的了解学生对任务的完成情况。

作者:袁南星 单位:眉山职业技术学院