论文部分内容阅读
在小学信息技术课程纲要的教学建议中,提倡采用来源于生活的基于项目的学习方式,并围绕信息技术课程内容,实现信息技术课程目标。“密码箱”是源于生活的、非常神秘的物体,它可以通过Scratch编程软件来进行简单的模拟,甚至可以进行创客硬件的拓展,因此,在用Scratch程序设计“变量”一课中,笔者以“制作密码箱”为项目实践的主题,带领学生在学习过程中结合数学、工程等多方面的知识开展研究。
● 通过联想、对比,感知项目的研究价值
工程师作为工程活动的主体,必须全面把握人与自然、与其他成员乃至与整个人类社会的互动关系,避免单纯从技术的角度考虑工程问题,避免仅仅着眼于工程对象本身而忽视工程“系统”与“环境”的相互作用。在课堂的导入环节,教师出示一个带密码按钮箱子的Scratch文件,让学生思考:“密碼箱”有什么作用?自己是否需要一个密码箱?接着提问:“猜一猜,怎样才能打开这个箱子?”教师下发“密码箱”文件,以小竞赛的形式让学生寻找打开箱子的方法。学生通过读程序不难发现按钮不起作用,因为按钮角色没有脚本,而从箱子角色的脚本中能发现只要在箱子上点击就能打开。学生通过交流讨论,体会到“密码箱”的价值,也体会到制作一个“密码箱”的意义,由此教师提出本节课的研究任务:当小工程师,把这个箱子制作成真正的密码箱。
● 站在全局的角度,统筹规划整个项目
工程思维是一种抽象思维,需要将复杂的工程问题进行简化,去掉不重要的信息,抓住问题的关键,从而构建起能够描述问题的抽象模型。在新授环节,通过变量实现输入并对密码进行判断,结合之前学过的条件语句等知识实现开箱的效果,完成“密码锁”项目原理的初探,为学生以后不断深入探索埋下一粒求知的种子。
1.分析本质,提出核心的问题
教师通过“密码箱是怎么打开的?”这个有针对性的问题引导学生分析密码箱和普通箱的本质区别。学生从生活经验中可知,输入密码就能打开密码箱。教师一方面教育学生考虑问题要周全,即要输入正确的密码;另一方面帮助学生用完整的自然语言“如果输入的密码正确,就能打开宝箱”描述密码箱的本质特点,从而引导他们用已学的条件语句来修改箱子的脚本。
当学生认为能够通过搭建“如果”模块制作密码箱时,却发现用于判断的六边形模块中找不到可以表示密码是否正确的模块,于是提出了制作密码箱的核心问题:“输入的密码是否正确”条件该用哪个模块呢?
2.整理思路,建立系统的逻辑关系
“输入的密码是否正确”条件,包括“要通过按钮输入字符”和“对输入的字符和密码箱预设的密码进行判断”两层含义。学生通过观察用于判断的六边形模块,发现逻辑运算中的“=”符号可以解决字符判断,“=”的一侧填写密码箱预设的密码数字,但另一侧表示输入的数字怎么办?于是教师追问:“这个数字是由什么来控制的?”学生通过生活经验回答:“按不同的按钮,会产生不同的数值。”
此时,本课的重点“变量”已经呼之欲出,为了加深学生的认知,教师提问:“老师的宝箱里藏着一份秘籍,你们想看吗?”接着教师请学生输入正确密码并打开宝箱,秘籍上写着:变量是计算机中的一个数据存储器,里面可以存放一个能变化的数据。学生展开探究:如何新建变量?新建变量后出现了哪些命令?学生通过探究发现,变量成了箱子和按钮之间联系的纽带(在按钮角色上分别给变量赋值,在箱子角色上调用变量模块,变量中存放的数据与正确的密码就能够进行比较,箱子和按钮之间的逻辑关系就建立起来了)。在这个环节中,部分学生受原有数学知识的影响,会将条件判断中的“=”符号和变量的赋值相混淆,教师应有意识地让学生用自然语言来反复读程序,从而理解判断与赋值的区别。
● 进行需求分析,推动项目的持续迭代
工程思维是一种分析性思维、批判性思维,也是逻辑演绎的思维,软件工程的核心是分析问题和解决问题,在此过程中有很多假定和推理,需要我们做出正确的判断,而在做出判断前,要质疑。可以说,任何一个项目都是不完美的,持续的维护和更新才是一个项目具有生命力的关键。如何实现多位数密码、如何删除输错的密码等引发的一系列需求问题,让学生站在工程师的视角,用工程思维的方式推动项目的持续迭代。
1.完成项目的基础功能
学生在给各个数字按钮作变量赋值时,发现赋值数字的特点,即再次按键,变量中新的数字会替换掉原来的数字。此时教师提醒学生,把密码箱的初识密码改成一位数,先检测刚才分析的逻辑关系到底能否实现基础密码判断的功能。教师反馈阶段问题:①赋值的程序能用单击绿旗吗?②在单击按钮前,变量的初始值是什么?通过学习探究,学生展示基础的一位数密码箱,通过单击正确数字按键,箱子可以打开。
2.实现项目的安全升级
考虑到一位数密码不够安全,需要将保险箱改为多位数密码。学生首先通过刚才的基础密码箱制作,确定了需要修改的是变量的赋值。教师通过动画逐步出示依次单击按钮,之前输入的数字可以保留,学生通过观察、分析后发现输入变量值的特点,即前面的数字是刚才的输入变量值,后面的是按键数字;随后开始尝试修改按钮脚本中的变量赋值命令,使用直观的连接符实现多位数密码的修改。对于部分思维敏捷的学生,教师鼓励他们从数学的角度来考虑数据的变化,尝试用“变量*10 按钮数字”的表达式作为变量的赋值。
3.探讨项目的人性化设计
学生在使用的过程中又发现问题:输入的过程中如果不小心输入错误,该怎么办?此时教师鼓励学生从用户的角度出发,结合生活经验,全面考虑给密码箱增加功能。学生通过小组讨论,提出了一些人性化的方案,即使用“删除”按钮,可以修改输入错误的数字,使用“设置”按钮,可以直接修改密码箱的密码等。
本课遵循工程思维的基本性质即造物思维,以项目实践的方式进行系统设计,在核心问题处有针对性地展开新知识的学习;通过探索实践,让学生学会从宏观的角度去把握全局,并根据实际的规律和条件对每一个细节统筹规划,从大到小,层层分析,主动而扎实地学习理论知识和实践技能,让工程思维的培养贯穿于一系列问题解决的过程中,最终实现理想客体对象化、现实化。
● 通过联想、对比,感知项目的研究价值
工程师作为工程活动的主体,必须全面把握人与自然、与其他成员乃至与整个人类社会的互动关系,避免单纯从技术的角度考虑工程问题,避免仅仅着眼于工程对象本身而忽视工程“系统”与“环境”的相互作用。在课堂的导入环节,教师出示一个带密码按钮箱子的Scratch文件,让学生思考:“密碼箱”有什么作用?自己是否需要一个密码箱?接着提问:“猜一猜,怎样才能打开这个箱子?”教师下发“密码箱”文件,以小竞赛的形式让学生寻找打开箱子的方法。学生通过读程序不难发现按钮不起作用,因为按钮角色没有脚本,而从箱子角色的脚本中能发现只要在箱子上点击就能打开。学生通过交流讨论,体会到“密码箱”的价值,也体会到制作一个“密码箱”的意义,由此教师提出本节课的研究任务:当小工程师,把这个箱子制作成真正的密码箱。
● 站在全局的角度,统筹规划整个项目
工程思维是一种抽象思维,需要将复杂的工程问题进行简化,去掉不重要的信息,抓住问题的关键,从而构建起能够描述问题的抽象模型。在新授环节,通过变量实现输入并对密码进行判断,结合之前学过的条件语句等知识实现开箱的效果,完成“密码锁”项目原理的初探,为学生以后不断深入探索埋下一粒求知的种子。
1.分析本质,提出核心的问题
教师通过“密码箱是怎么打开的?”这个有针对性的问题引导学生分析密码箱和普通箱的本质区别。学生从生活经验中可知,输入密码就能打开密码箱。教师一方面教育学生考虑问题要周全,即要输入正确的密码;另一方面帮助学生用完整的自然语言“如果输入的密码正确,就能打开宝箱”描述密码箱的本质特点,从而引导他们用已学的条件语句来修改箱子的脚本。
当学生认为能够通过搭建“如果”模块制作密码箱时,却发现用于判断的六边形模块中找不到可以表示密码是否正确的模块,于是提出了制作密码箱的核心问题:“输入的密码是否正确”条件该用哪个模块呢?
2.整理思路,建立系统的逻辑关系
“输入的密码是否正确”条件,包括“要通过按钮输入字符”和“对输入的字符和密码箱预设的密码进行判断”两层含义。学生通过观察用于判断的六边形模块,发现逻辑运算中的“=”符号可以解决字符判断,“=”的一侧填写密码箱预设的密码数字,但另一侧表示输入的数字怎么办?于是教师追问:“这个数字是由什么来控制的?”学生通过生活经验回答:“按不同的按钮,会产生不同的数值。”
此时,本课的重点“变量”已经呼之欲出,为了加深学生的认知,教师提问:“老师的宝箱里藏着一份秘籍,你们想看吗?”接着教师请学生输入正确密码并打开宝箱,秘籍上写着:变量是计算机中的一个数据存储器,里面可以存放一个能变化的数据。学生展开探究:如何新建变量?新建变量后出现了哪些命令?学生通过探究发现,变量成了箱子和按钮之间联系的纽带(在按钮角色上分别给变量赋值,在箱子角色上调用变量模块,变量中存放的数据与正确的密码就能够进行比较,箱子和按钮之间的逻辑关系就建立起来了)。在这个环节中,部分学生受原有数学知识的影响,会将条件判断中的“=”符号和变量的赋值相混淆,教师应有意识地让学生用自然语言来反复读程序,从而理解判断与赋值的区别。
● 进行需求分析,推动项目的持续迭代
工程思维是一种分析性思维、批判性思维,也是逻辑演绎的思维,软件工程的核心是分析问题和解决问题,在此过程中有很多假定和推理,需要我们做出正确的判断,而在做出判断前,要质疑。可以说,任何一个项目都是不完美的,持续的维护和更新才是一个项目具有生命力的关键。如何实现多位数密码、如何删除输错的密码等引发的一系列需求问题,让学生站在工程师的视角,用工程思维的方式推动项目的持续迭代。
1.完成项目的基础功能
学生在给各个数字按钮作变量赋值时,发现赋值数字的特点,即再次按键,变量中新的数字会替换掉原来的数字。此时教师提醒学生,把密码箱的初识密码改成一位数,先检测刚才分析的逻辑关系到底能否实现基础密码判断的功能。教师反馈阶段问题:①赋值的程序能用单击绿旗吗?②在单击按钮前,变量的初始值是什么?通过学习探究,学生展示基础的一位数密码箱,通过单击正确数字按键,箱子可以打开。
2.实现项目的安全升级
考虑到一位数密码不够安全,需要将保险箱改为多位数密码。学生首先通过刚才的基础密码箱制作,确定了需要修改的是变量的赋值。教师通过动画逐步出示依次单击按钮,之前输入的数字可以保留,学生通过观察、分析后发现输入变量值的特点,即前面的数字是刚才的输入变量值,后面的是按键数字;随后开始尝试修改按钮脚本中的变量赋值命令,使用直观的连接符实现多位数密码的修改。对于部分思维敏捷的学生,教师鼓励他们从数学的角度来考虑数据的变化,尝试用“变量*10 按钮数字”的表达式作为变量的赋值。
3.探讨项目的人性化设计
学生在使用的过程中又发现问题:输入的过程中如果不小心输入错误,该怎么办?此时教师鼓励学生从用户的角度出发,结合生活经验,全面考虑给密码箱增加功能。学生通过小组讨论,提出了一些人性化的方案,即使用“删除”按钮,可以修改输入错误的数字,使用“设置”按钮,可以直接修改密码箱的密码等。
本课遵循工程思维的基本性质即造物思维,以项目实践的方式进行系统设计,在核心问题处有针对性地展开新知识的学习;通过探索实践,让学生学会从宏观的角度去把握全局,并根据实际的规律和条件对每一个细节统筹规划,从大到小,层层分析,主动而扎实地学习理论知识和实践技能,让工程思维的培养贯穿于一系列问题解决的过程中,最终实现理想客体对象化、现实化。