李秀美
本节课是教科版新教材必修二《信息系统与社会》第3单元“信息系统的设计与开发”第3.4节《信息系统的数据处理》第一课时。本项目主要包含“用户登录功能设计”和“自动查询借阅记录功能设计”两个活动任务。
针对给定的任务进行需求分析,明确需要解决的关键问题,运用算法解决问题;能够描述信息系统中的数据处理流程;理解信息系统通过程序实施自动化数据处理的方式。
掌握使用条件查询语句设计查询功能的方法。
通过对用户登录的验证使学生形成数据安全防护意识。
重点:体验通过Python编程实现信息系统中数据处理的整个流程。
难点:用算法描述问题,用编程语言实现信息管理系统。
1.创设情境,激趣导入
师:信息系统为了信息安全往往需要进行用户登录,请结合自己的经验进行登录过程的交流。
(1)针对QQ登录过程,写出你的操作步骤及系统提示:
①输入错误的用户名:
②输入错误的密码:
③输入正确的用户名和密码:
教师提出问题:系统的错误提示在人性化方面有什么缺陷吗?请思考如何改进使系统具有更智能的提示功能?
(2)学生进行交流,准备代表发言进行阐述。
设计意图:选取QQ这款经典社交软件,创设贴近学生生活的环境,寓教于乐,引起共鸣,激发学生学习兴趣。
2.启发思考,分析问题
(1)师生共同分析问题。
师:实现信息系统更人性化的提示功能:登录信息系统时,要做到针对用户输入的用户名和密码给出相应的错误提示。具体分析如下:如果输入的用户名和密码合法,则成功登录系统;如果输入的用户名正确而密码错误,则提示密码错误;如果输入的用户名不正确,则提示用户名不存在。
教师提问:以上分析中判断用户名和密码是否正确的依据是什么?
(2)教师引导学生回答。
师:用户登录信息系统时,输入的用户名和密码是否与数据库中已经存在的用户信息相匹配。
设计意图:通过QQ登录提示这一现实问题,引导学生学会分析问题,从自然语言描述的现实问题中抽取出计算机能够解决的问题。
3.设计算法,思维训练
任务1:设计用户登录流程。
(1)自主学习,完成图书管理信息系统的用户登录流程图,如右图所示。
(2)教师分析流程图,分析基本的算法思想,引导学生用伪代码来表达算法。
设计意图:对于高中生来说,对本项目程序的理解有一定的难度。针对教学中的这个难点问题,教师引导学生用更接近自然语言的伪代码来分析问题解决的过程,训练学生的思维,为下一步理解程序、编写程序做好准备。
4.实战演练,编程实现
任务2:编写用户登录判断程序。
(1)教师演示程序运行效果,与前面分析的算法流程建立联系。
(2)将程序实现过程分成四个部分:获取用户输入信息、从数据库中取数据、判断用户并输出提示,释放服务器资源。
教师带领学生逐句分析程序代码,帮助学生理解程序代码的含义,说明查询命令Select的Where条件以及位于django.shortcuts模块中名为render_to_response()函数的功能及用法。
(3)学生打开教学资源中的“views.py”文件,调试运行程序,观察运行结果。
尝试修改程序实现用户成功登录系统后跳转到show.html页面,并给出成功登录提示(如:欢迎用户名登录图书管理系统!!)。
设计意图:在理解算法的基础上,如何让计算机来完成任务,需要用程序设计语言来实现。此处只给学生提供了实现用户登录验证功能的代码,其中,重点是让学生理解实现用户登录验证功能的核心代码,培养学生使用用户权限保护数据的安全意识。登录成功后实现页面跳转建立信息系统之间的联系,起到承上启下的作用。
5.学以致用,自我提升
任务3:根据用户登录信息自动查询借阅信息。
(1)教师提出问题:信息系统除了验证登录用户的合法性,更重要的是为用户提供个性化服务。应用程序是如何接收用户信息的?如何利用这些关键信息实现系统自动查询该用户的图书借阅记录呢?
(2)教师讲授Session会话的功能和用法、Django的模板代码标签。
(3)小组合作探究:尝试设计算法流程、补充程序代码,调试运行。
(4)用户登录验证成功后,教师引导学生从数据库中查询该用户的借阅记录并直接在show.html页面显示。在大部分学生能够理解这种最简单的实现方法后,教师再引导学生编写自定义函数完成页面之间的数据传递。
教师通过巡视,指导学生仔细观察程序调试过程中的错误,找出解决问题的办法。
设计意图:此环节是一个螺旋上升的过程,需要学生反复练习。在小组合作设计算法、编写代码、调试运行的过程中,学生可以领会到计算机是如何按照程序一步一步解决问题的,体验指挥计算机工作的成就感。该环节的任务由简入繁,层层递进,这个过程能够训练学生的计算思维能力。
6.成果展示,总结交流
小组展示程序运行结果,感受数据处理的过程,总结交流用程序解决问题的收获。
信息技术课程既重信息公民的信息素养,又重科技人才的技能发展,这是技术教育的永恒主题。具有时代性和前瞻性,是技术课程最重要的特征之一,本期解码所给出的案例是从传统的信息伦理向信息社会建设发展教学,也是从经典的数据库中的数据处理向信息系统的网络数据处理发展课程,给我们一线教学一种新的启迪。
第一篇文章,着眼于建设信息社会的良好文明生态,保护个人隐私、促进信息公开、加强保护知识产权等一系列探究,无不结合实际,无不针对活动,对信息公民素养的培养极具时代性。尤其是在互联网时代,随意践踏隐私权、动辄发起群体网络暴力、轻易盗取别人成果、侵犯别人版权等现象时有发生,这些都不利于创新发展。通过本节课的学习,让学生做合格的信息公民,并且主动参与良好的信息社会建设,这种教育意义深远。
第二篇文章,以项目学习为策略,教学过程中通过项目活动,让学生能够听懂信息系统中数据处理的过程,正确理解数据处理的原理和思路,經历分析问题、设计算法、编程实现、运行调试等过程,感受指挥计算机解决问题的魅力。考虑到学生面对大量代码时可能会产生畏难情绪,在教学设计中尽可能减少代码的量,降低代码的复杂程度,让学生更易于理解数据处理流程。另外,建议在此基础上,鼓励学有余力的学生发挥创造力,自主编写程序实现更多功能,学生在编写程序时可能会出现书写错误和语法错误,这就需要进一步强化规范编程意识,深度促进计算思维的培育。