论文部分内容阅读
泰山出版社初中信息技术教材(2018版)首次引入Python编程教学,使用项目式学习来组织课堂教学。教师在教学实施过程中,易存在目标不清、步骤混乱、作品评价和技术总结混淆等问题。下面以项目学习的过程来阐述编程教学实践。
项目确立,明确教学内容
项目式学习目标通过师生完成项目任务来实现。在任务分析的基础上,教师必须考虑学生的知识结构和操作技能,设计一个或多个有利于培养学生创新精神和团队精神的项目任务。在设计项目任务时,可以请学生参与,以提高项目任务的可行性。
(1)项目的确立要满足以下要求:①从知识点出发来设计项目,明确如何解决问题。②给学生提供自主探索的机会,引导学生自由探索。
(2)分析教材内容做到靶向准确。“用选择结构程序做出判断”在整个编程教学中起着承上启下的作用,既是前一个微项目“数据处理过程”的延伸,也为后面“循环结构程序”的学习提供知识储备。if选择结构也是程序语言的重要组成部分。初中生接触到了更多的学科知识,已有明显的文理之分,对学科划分有了一定的了解。初中生也有自己的人生目标,对未来职业有了模糊的认识,学习上有了一定的倾向性。因此,教材确定了课题为《体验选择,规划人生》,将Python编程与人生规划做了整合,让学生通过项目实施过程体验选择的重要性。
(3)项目选题面向实际应用。根据教材分析,确定本课以“生涯规划、职业选择”为主题,贯穿整节课。通过真实的数据让学生在探究兴趣、性格、能力与职业的关系过程中,比对自身特点,选择合适的职业,明确努力的方向。通过程序设计来了解生涯规划相关知识,通过程序实现来对照自身需求,既完成了知识的学习,又实现了德育的培养。
(4)教学目标层次分明。基于教学知识点,确定教学目标如下:①能够根据实际问题的需要,主动寻求高效的数据处理方法。②尝试用if选择结构来做出判断,实现编程。③锻炼学生的逻辑思维能力,提升学生解决问题的能力,激发学生的创造力和想象力,增强学生的团队合作意识。其中,学习的重点为if选择结构的正确使用,学习的难点为用条件表达式构造条件。
项目规划,设计教学过程
项目规划是根据项目任务和目标,由学生搜集资料,确定项目实施的步骤和流程,以及作品的呈现形式,并与教师讨论,由项目小组写出计划报告。依据项目确立的任务,对《体验选择,规划人生》进行了以下项目规划:①项目过程:依据项目目标,按照兴趣、性格、能力等探究方向,划分三个平行任务(如下页表所示),将这三个任务分给三个小组分别进行合作探究。②项目目标:由小组成员根据项目特点进行合理分工,设计完成项目实施的方法与目标。
项目实施,在学习中解决问题
项目实施贯穿整个课堂,学生首先明确在小组中的分工,按照确定的步骤和流程操作。学生初次学习Python编程会面临编写程序代码不规范、不嚴谨(符号的全角半角转换、单双引号的缺失、代码的缩进等),全英文界面的错误提示信息看不懂等困境,导致程序无法运行下去,学生会恐慌、烦躁,产生强烈的挫败感。因此,按以下两个步骤来实施项目。
(1)根据条件做出判断,编程实现输入个性特征(兴趣、性格或能力),输出职业建议。让学生自主学习提出问题,教师顺势呈现本节课的重难点,再用串并联电路图、算法流程图进行演示,学生会很容易用逻辑关系表达式构造条件进行判断,用if语句来选择的结构流程,突破本项目的重难点,并最终体验到完成作品时的成就感。
(2)根据多个条件逐步判断,整合小组成员智慧,做出比较完整的程序作品,完成任务。通过所学知识的同化、迁移、探究,进而理解和相通,让学生在实践中发现问题、讨论问题、解决问题,真正变被动学习为主动学习。在完成任务的过程中,根据实际情况和所遇问题创新性地调整方案。用程序的方式把问题归类,换个角度看问题,锻炼学生的逻辑思维能力,培养学生用计算机处理问题的思维方式。
通过递进式的思维发展,引导学生把握住编程教育的本质,认同编程的核心价值,这对于学生未来的发展及其在未来真正创造价值非常有意义。
通过项目交流评价反馈总结学习成果
项目任务完成后,项目实施者对形成的项目成果进行展示,并根据项目作品的完成情况来评价学生的学习效果。项目评价分为技术总结和作品评价两部分,突出对于技术的评价。学生先对自己在小组中的参与程度、合作表现和项目实施成果进行自我评价,再由教师对项目作品进行检查和评估。师生共同讨论和评价,对项目中出现的问题进行反思,找出产生问题的原因,并提出修改方案,有些内容可以延伸为下一个项目任务的初始调查。通过评价,进一步检测、巩固、掌握相关知识,学生由此能够脱离编程语言,更纯粹地思考如何让计算机解决问题,培育学生的计算思维。
苍山点题
编程教育的最终目的是培训学生的计算思维。北京教育学院教授于晓雅博士说:“编程教育绝不是在培养码农,而是培养学生的程序设计能力,而这其中最重要的就是流程,在呈现逻辑思维的过程中训练思维方式,并最终解决生活中的实际问题。”
第一篇文章,从算法与程序的关联思索与实践,从浅入深出和深入浅出两种不同的角度,运用了两种方式:一是,从易到难,从自然语言到算法框图、程序代码的思维逐步提高,逐步成熟;二是,从难分解,根据程序反向应用算法框图,给出实例印证的体验,清晰把握。两者方向不同,用途不同,都可以灵活应用。
第二篇文章,从项目学习的过程,展现给我们一堂极有计算思维深度的编程教学。通过项目学习,学生在活动中逐步体验选择结构的逻辑原理、技术操作,学习用程序解决实际问题;同时,学生在编程体验中融合了“生涯规划教育”,分析了自己的个性特征,了解了自己的优势,尝试规划未来的学习与生活,极具意义。
由此可见,算法与程序设计的教学天地非常辽阔,期待大家自由驰骋,展现出自己编程教学的靓丽身姿!
项目确立,明确教学内容
项目式学习目标通过师生完成项目任务来实现。在任务分析的基础上,教师必须考虑学生的知识结构和操作技能,设计一个或多个有利于培养学生创新精神和团队精神的项目任务。在设计项目任务时,可以请学生参与,以提高项目任务的可行性。
(1)项目的确立要满足以下要求:①从知识点出发来设计项目,明确如何解决问题。②给学生提供自主探索的机会,引导学生自由探索。
(2)分析教材内容做到靶向准确。“用选择结构程序做出判断”在整个编程教学中起着承上启下的作用,既是前一个微项目“数据处理过程”的延伸,也为后面“循环结构程序”的学习提供知识储备。if选择结构也是程序语言的重要组成部分。初中生接触到了更多的学科知识,已有明显的文理之分,对学科划分有了一定的了解。初中生也有自己的人生目标,对未来职业有了模糊的认识,学习上有了一定的倾向性。因此,教材确定了课题为《体验选择,规划人生》,将Python编程与人生规划做了整合,让学生通过项目实施过程体验选择的重要性。
(3)项目选题面向实际应用。根据教材分析,确定本课以“生涯规划、职业选择”为主题,贯穿整节课。通过真实的数据让学生在探究兴趣、性格、能力与职业的关系过程中,比对自身特点,选择合适的职业,明确努力的方向。通过程序设计来了解生涯规划相关知识,通过程序实现来对照自身需求,既完成了知识的学习,又实现了德育的培养。
(4)教学目标层次分明。基于教学知识点,确定教学目标如下:①能够根据实际问题的需要,主动寻求高效的数据处理方法。②尝试用if选择结构来做出判断,实现编程。③锻炼学生的逻辑思维能力,提升学生解决问题的能力,激发学生的创造力和想象力,增强学生的团队合作意识。其中,学习的重点为if选择结构的正确使用,学习的难点为用条件表达式构造条件。
项目规划,设计教学过程
项目规划是根据项目任务和目标,由学生搜集资料,确定项目实施的步骤和流程,以及作品的呈现形式,并与教师讨论,由项目小组写出计划报告。依据项目确立的任务,对《体验选择,规划人生》进行了以下项目规划:①项目过程:依据项目目标,按照兴趣、性格、能力等探究方向,划分三个平行任务(如下页表所示),将这三个任务分给三个小组分别进行合作探究。②项目目标:由小组成员根据项目特点进行合理分工,设计完成项目实施的方法与目标。
项目实施,在学习中解决问题
项目实施贯穿整个课堂,学生首先明确在小组中的分工,按照确定的步骤和流程操作。学生初次学习Python编程会面临编写程序代码不规范、不嚴谨(符号的全角半角转换、单双引号的缺失、代码的缩进等),全英文界面的错误提示信息看不懂等困境,导致程序无法运行下去,学生会恐慌、烦躁,产生强烈的挫败感。因此,按以下两个步骤来实施项目。
(1)根据条件做出判断,编程实现输入个性特征(兴趣、性格或能力),输出职业建议。让学生自主学习提出问题,教师顺势呈现本节课的重难点,再用串并联电路图、算法流程图进行演示,学生会很容易用逻辑关系表达式构造条件进行判断,用if语句来选择的结构流程,突破本项目的重难点,并最终体验到完成作品时的成就感。
(2)根据多个条件逐步判断,整合小组成员智慧,做出比较完整的程序作品,完成任务。通过所学知识的同化、迁移、探究,进而理解和相通,让学生在实践中发现问题、讨论问题、解决问题,真正变被动学习为主动学习。在完成任务的过程中,根据实际情况和所遇问题创新性地调整方案。用程序的方式把问题归类,换个角度看问题,锻炼学生的逻辑思维能力,培养学生用计算机处理问题的思维方式。
通过递进式的思维发展,引导学生把握住编程教育的本质,认同编程的核心价值,这对于学生未来的发展及其在未来真正创造价值非常有意义。
通过项目交流评价反馈总结学习成果
项目任务完成后,项目实施者对形成的项目成果进行展示,并根据项目作品的完成情况来评价学生的学习效果。项目评价分为技术总结和作品评价两部分,突出对于技术的评价。学生先对自己在小组中的参与程度、合作表现和项目实施成果进行自我评价,再由教师对项目作品进行检查和评估。师生共同讨论和评价,对项目中出现的问题进行反思,找出产生问题的原因,并提出修改方案,有些内容可以延伸为下一个项目任务的初始调查。通过评价,进一步检测、巩固、掌握相关知识,学生由此能够脱离编程语言,更纯粹地思考如何让计算机解决问题,培育学生的计算思维。
苍山点题
编程教育的最终目的是培训学生的计算思维。北京教育学院教授于晓雅博士说:“编程教育绝不是在培养码农,而是培养学生的程序设计能力,而这其中最重要的就是流程,在呈现逻辑思维的过程中训练思维方式,并最终解决生活中的实际问题。”
第一篇文章,从算法与程序的关联思索与实践,从浅入深出和深入浅出两种不同的角度,运用了两种方式:一是,从易到难,从自然语言到算法框图、程序代码的思维逐步提高,逐步成熟;二是,从难分解,根据程序反向应用算法框图,给出实例印证的体验,清晰把握。两者方向不同,用途不同,都可以灵活应用。
第二篇文章,从项目学习的过程,展现给我们一堂极有计算思维深度的编程教学。通过项目学习,学生在活动中逐步体验选择结构的逻辑原理、技术操作,学习用程序解决实际问题;同时,学生在编程体验中融合了“生涯规划教育”,分析了自己的个性特征,了解了自己的优势,尝试规划未来的学习与生活,极具意义。
由此可见,算法与程序设计的教学天地非常辽阔,期待大家自由驰骋,展现出自己编程教学的靓丽身姿!