主讲人:李红梅
章节数:14章
学习时长:24课时
学习人数:16人
评分:
0.00分
(0人评分)
为了能加快教师队伍扩充和更新的步伐不断加快,公司决定对新分配教师和调近的教师进行培训。使教师进一步了解教育改革形式,更快地适应工作岗位,进入角色,从而提升教师的专业素养,为教师的个人发展打下良好的基础,也为校区发展夯实基础。
教学模式-1
一、教学模式
每种教学模式包含的教学环节如下。
1、理论课
【 目标】
通过讲师讲解、示范,使学生理解基本理论。
【内容】
相关的基本概念、工作原理、框架结构、程序关键代码。
【实施环境】
优先选用教室,其次是机房。
【流程】
序号 | 环节 | 要求 |
1 | 授课前准备 | 1、准备贯穿案例 2、准备授课内容 |
2 | 介绍本门课程 | 1、内容讲解: 1)必须介绍课程地位,强调开设本门课程的目的、与同一个技术方向课程的前后承接关系、与本学期其它课程之间的关联 2)必须介绍课程结构图,讲解课程章节安排,联系,重难点章节,以 便学生了解整门课程的结构 3)必须结合实际应用介绍课程目标,并演示本门课程相关项目,提高学生学习兴趣 2、时间控制:必须在15分钟以内,每一部分内容必须在5分钟以内 3、推荐使用的教学技巧:视频演示教学技巧 说明:可选。每门课程第一章第一课时必须实施 |
3 | 回顾与作业点评 | 1、内容讲解: 1)必须单独提问学生,回顾相关内容 2)必须点评作业完成情况,表扬完成好或进步大的学生,批评不交 作业的学生 2、时间控制:必须在5分钟以内 3、推荐使用的教学技巧:课堂设问和提问教学技巧 说明:可选。每章第一课时必须实施 |
4 | 预习检查 | 1、内容讲解:必须单独提问学生,检查预习情况 2、时间控制:必须在5分钟以内 3、推荐使用的教学技巧:课堂设问和提问教学技巧 说明:可选。每章第一课时必须实施 |
5 | 介绍本章任务 | 1、内容讲解: 1)必须简介案例功能,引起学生兴趣 2)必须演示本章案例效果或展示效果图 3)如果是贯穿案例的第一章,必须演示整个贯穿案例,并简介功能 |
|
| 2、时间控制:必须在5分钟以内 3、推荐使用的教学技巧:视频演示教学技巧说明:可选。每章第一课时必须实施 |
6 | 讲解本章目标 | 1、必须明确提示本章重点和难点 2、时间控制:必须在5分钟以内说明:每章第一课时实施 |
7 | 讲解各技能点 | 1、讲解思路 1)讲解每个技能点时,必须先讲Why 2)必须合理分配时间,突出重点 2、课堂交互 1)必须主动询问学生对所学技能点是否存在问题 2)必须至少提问1次/学时 3、代码演示 1)必须充分备课,以保证现场演示顺利完成 2)不得现场直接复制PPT的代码,粘贴到运行环境中 3)必须遵守编程规范 4、推荐使用的教学技巧: 3W1H教学技巧、对比教学教学技巧、课堂设问和提问教学技巧、课堂陷阱教学技巧、断点跟踪教学技巧、总分总教学技巧 |
8 | 课堂小结 | 1、课堂小结 1)必须通过现场编程或提问的方式检验学生学习效果 2)必须至少1次/学时 2、时间控制:必须在10分钟以内 3、推荐使用的教学技巧:现场编程教学技巧、课堂设问和提问教学技巧 |
9 | 介绍学习资源 | 1、本章总结前必须介绍学习平台提供的学习资料及其使用方法,要求学生课后登录学习平台学习本门课程的相关学习资料 2、时间控制:必须在5分钟以内 说明:可选。每章第一课时必须实施 |
10 | 课堂总结 | 1、本章总结 1)必须采用提问方式进行总结本章要点 2)必须对上机完成情况做总体点评 2、布置作业 1)必须布置本次课作业,并明确提交时间 2)必须布置下次课预习作业,至少要求熟读下一章教材2~3遍 3)从第一门课开始,必须要求学生全部提交作业 3、时间控制:必须在10分钟以内 4、推荐使用的教学技巧:课堂设问和提问教学技巧说明:每章最后一课时实施 |
2、上机课
【目标】
1、巩固所学技能的概念、知识;培养动手能力;
2、对于操作性强的课程,讲师边讲边演示边安排学生动手操作体验。
讲师讲解内容的简单使用和体验,通过动手练习加深理解。
【实施环境】
机房
【流程】
序号 | 环节 | 要求 |
1 |
授课前准备 | 1、准备素材 2、准备授课内容关键点: 1)亲自做一遍上机练习任务,了解其难度和关键点,预估学生可能出现的问题。 2)结合班级实际情况调整上机任务完成时间 3)准备上机控制记录表,用于课堂上记录学生完成情况及问题。 4)根据班级实际情况,准备补充上机任务,为进度较快的学生准备。 |
2 | 介绍本门课程 | 同理论课此环节 |
3 | 回顾与作业点评 | 同理论课此环节 |
4 | 预习检查 | 同理论课此环节 |
5 | 介绍本章任务 | 同理论课此环节 |
6 | 讲解本章目标 | 同理论课此环节 |
7 | 讲解各技能点 | 同理论课此环节 说明:可选环节。适用于边讲解边练习的上机课 |
8 | 课堂小结 | 同理论课此环节 说明:可选环节。适用于边讲解边练习的上机课 |
9 | 指导学生完成上机练习 | 1、内容讲解: 1)必须讲解需求 2)必须以提问方式进行思路分析和关键代码讲解 3)在确认学生理解后,必须明确告诉学生编码时间。 4)阶段结束时,必须展示规范代码,点评完成情况 说明: 指导阶段,必须带领学生分析实现思路,讲师可以提供关键代码,安排学生独立完成。 练习阶段,必须要求学生独立编码,讲师不得提供本次课源代码。 2、必须记录每个学生每阶段完成情况 3、时间控制: 指导阶段,讲师集中讲解时间累积必须在15分钟以内; 练习阶段,讲师集中讲解时间累积必须在10分钟以内4、推荐使用的教学技巧:3W1H教学技巧、课堂陷阱教学技巧、对比教学教学技巧、任务分解教学技巧、任务贯穿教学技巧、断点跟踪教学技巧 说明: |
|
| 如果是边讲解边练习的上机课,讲师必须在规定时间强制要求学生中断上机操作,使用机房控制软件控制学生机,让学生集中精力继续听讲师讲解。部分学生未完成的练习必须要求学生课下继续完成并在下次课前提交 |
10
|
学生辅导和异常处理
| 1、学生辅导 1)必须巡视,并回答学生的提问 2)必须主动检查每个小组,了解学生的完成情况; 3)必须引导思路或提示关键代码,不得直接代替学生完成; 4)必须对发现的共性问题进行集中讲解 5)共性问题集中讲解不得少于2次/章。 说明:共性问题指3个以上学生(含)问同一个问题 2、异常处理 1)必须通过查看运行结果的方式确认学生完成; 2)对于进度快的学生,必须安排辅导其他学生、布置继续完成后续任务或布置补充练习 3)对于进度慢的学生,必须及时给予指导或安排已完成的学生辅导 4)必须充分利用学习小组长和优秀学生,避免讲师变成“救火队员” 5)如果个别学生没有按时完成上机任务,讲师要告知其暂停上机,继续听讲下一节内容(边讲边练) 6)如果遇到学生的疑难问题,而较长时间不能解决时,要及时告知学生课下解决 7)课堂记录上机完成情况及问题,课下分析原因并改进 3、时间控制 1)阶段结束前,必须提前提醒学生剩余时间,并督促抓紧时间完成 2)学生实际的编码时间比PPT上规定的时间延长不得超过5分钟 4、推荐使用的教学技巧:断点跟踪教学技巧、任务分解教学技巧、阶段控制教学技巧 |
11 | 课堂总结 | 同理论课此环节 |
3、指导学习课
指导学习课分为难点突破类型和课程总复习类型。
3.1难点突破类型指导学习课
【目标】
解除疑惑,进行知识梳理。
【内容】
课程重点难点复习和练习、学生问题答疑。
【实施环境】
讲师讲解优先安排在教室,练习必须在机房。
【流程】
序号 | 环节 | 要求 |
1 |
授课前准备 | 1、准备授课内容 必须准备提问学生的问题(5~8个)和答案 2、准备授课课件 1)必须试做上机部分各阶段的任务,了解需求,确认实现思路和重难点 2)必须根据收集的学生学习中难点问题和共性问题,编写PPT相应部分 说明:PPT中红色字标出的部分 |
2 | 课程内容回顾 | 必须以提问方式概要回顾本课程前一阶段学习的技能点和概念 |
3 |
难点突破 | 1、对学生进行分组:每组人员不超过6人,按学习成绩好坏,性格外向内向等因素综合考虑搭配。小组数量最好不超过5组。如果学习小组已经建立,可以在此基础上微调。 2、分组讨论:鼓励各小组提出自己的疑难问题。除此之外,讲师将提前准备好的问题列表分给各组进行讨论。讨论过程中,讲师随时巡视,鼓励小组的每位成员都参与讨论,充分调动学生的积极性。时间控制在:10分钟 3、由各组选派一名代表讲解问题列表的答案。其他小组可提出质疑和补充,引导学生通过反思来提升理解。在整个过程中讲师要注意对学生的引导和点评。注意:为了调动学生的积极性,讲师注意小组代表不要总是同一人选。每组时间控制在:10分钟之内 4、对学生的表现进行总结点评,并强调参与讨论的重要性。记录学生的积极表现,记入过程评测考核表,以激励学生积极参与问题讨论和分享表达。时间控制在:5分钟之内 |
4 |
作业点评 | 1、必须讲解如何审题、解题思路和考察的技能点 2、必须评讲教学中发现的共性问题,总结解决疑难问题的思路 3、必须请完成较好的学生上台讲解作业 4、推荐使用的教学技巧:对比教学教学技巧、课堂设问和提问教学技巧、现场编程教学技巧、课堂陷阱教学技巧 |
5 |
知识梳理 | 1、必须引导学生按知识体系结构梳理所学内容 说明:内容包括案例、项目中涉及的典型业务、行业知识 2、必须归纳总结知识本身的内容以及与其他知识之间的关系 说明:知识体系的内容不局限于本课程 3、推荐使用的教学技巧:对比教学教学技巧、课堂设问和提问教学技巧、现场编程教学技巧、课堂陷阱教学技巧 |
6 | 综合练习 | 同上机课“指导学生完成上机练习”环节 |
7 |
课堂总结 | 1、点评全班完成情况 必须点名鼓励和肯定完成较好的学生 2、总结共性问题 必须总结解决疑难问题的思路 3、必须说明后续章节将学到的技能点,以及与前期章节间的相关性 4、时间控制:必须在5~15分钟以内 5、推荐使用的教学技巧:课堂设问和提问教学技巧 |
3.2课程总复习类型指导学习课
【目标】
锻炼学生归纳和总结的能力,帮助学生搭建知识框架。
【内容】
学生归纳总结和练习、讲师组织串讲。
【实施环境】
讲师讲解优先安排在教室,练习必须在机房。
【流程】
序号 | 环节 | 要求 |
1 |
准备课件材料 | 必须根据本课程的重点、难点和学生学习中存在的问题,确定总结的范围、内容 说明:要从构建知识体系角度,以帮助学生进行一门课程的总结 |
2 |
发放电子资料、布置任务 | 1、学生分组 每组人员不超过6人,按学习成绩好坏,性格外向内向等因素 综合考虑搭配。最好不超过5组。 2、发放时间:必须提前1周发放学生自我总结PPT模板,并布置任务 3、明确课程目的:必须讲解指导学习课的目的 4、明确要完成的任务 1)必须说明自我总结的范围和要求 2)说明由每组负责完成整门课程的总结,组内自行进行分工,组员分别负责若干章节,小组长将分工情况汇报给讲师。 3)必须说明最终提交的时间和内容 4)必须宣布将抽选3~5名学生上台进行课程总结 5、简要说明完成办法 1)必须简要介绍归纳、总结知识/技能点的思路和方法 2)必须简要讲解如何制作PPT 6、要求提交完成的阶段结果 1)必须明确提交阶段结果的时间、提交方式 2)必须告知学生:讲师将检查并给予反馈 7、时间控制:必须在10分钟以内 说明: 1、指导学习课的目的是构建知识体系,培养总结能力 2、提交的内容包括:演讲PPT及相关源代码,其中PPT模板详见紫牛电子课件 |
3 |
监控学生准备进度 | 1、收集学生阶段结果:必须在布置任务3~4天后开始收集 2、检查完成情况 1)检查时发现学生遇到的问题,必须通过当面沟通、邮件或电话等方式给予必要的指导和帮助 2)对于进度或质量完成不好的学生,必须给予鼓励,后续加大监控力度 3)必须督促并收集全班所有学生提交自我总结的PPT,了解全班完成情况 说明:班主任协助 |
4 |
授课前准备 | 1、准备授课内容 复习本课程中重点、难点,解答学生学习中存在的问题,归纳总结已学的知识,帮助学生系统的构建知识体系 2、准备授课课件 1)必须试做上机部分各阶段的任务,了解需求,确认实现思路和重难点2)必须根据收集的学生学习中难点问题和共性问题,编写PPT相应部分 说明:PPT中红色字标出的部分 3、必须提前在教师用机上准备好学生自我总结PPT |
5 | 课程内容回顾 | 必须以提问方式复习巩固本课程所学的技能点和概念 |
6 |
学生总结 | 1、明确安排 1)必须重申指导学习课的目的 2)分配各小组讲解章节任务,指定一名学生代表进行讲解 3)必须说明每人讲解的内容、时长 4)必须提醒台下学生注意听讲,提醒学生将会提问或给予点评 2、组织学生总结 1)学生串讲时,必须巡视 2)时间控制:每名学生串讲必须在10分钟以内 3、串讲点评 1)在每个学生总结后,必须安排其他学生进行点评或提问,如果可以提出质疑或补充,应予以鼓励 2)必须从掌握程度、表达技巧等方面给予点评,点评时以鼓励为主 3)时间控制:必须控制在5分钟以内 |
7 |
知识梳理 | 1、必须引导学生按知识体系结构梳理所学内容 说明:内容包括案例、项目中涉及的典型业务、行业知识2、必须归纳总结知识本身的内容以及与其他知识之间的关系说明:知识体系的内容不局限于本课程3、推荐使用的教学技巧:对比教学教学技巧、课堂设问和提问教学技巧、现场编程教学技巧、课堂陷阱教学技巧 |
8 | 综合练习 | 同上机课“指导学生完成上机练习”环节 |
9 |
课堂总结 | 1、点评班完成情况 1)必须根据课前收集的学生自我总结PPT,总结全班完成情况 2)必须点名鼓励和肯定完成较好的学生 2、总结共性问题 1)必须对技术方面或演讲方面存在的共性问题给予讲解 2)必须总结解决疑难问题的思路 3、必须介绍后续将要学习的课程 4、时间控制:必须在5~15分钟以内 5、推荐使用的教学技巧:课堂设问和提问教学技巧 |
教学模式-2
4、翻转课堂
【目标】
培养学生借助网络资源获取知识的能力、分析问题和解决问题的自学能力、协作学习能力,提高学生自信心。
【内容】
1)讲师提前下发学习任务,布置学生利用学习平台学习相关技能和知识、完成相应的操作任务。
2)课堂上根据教学内容,讲师采用特定的教学形式,引导学生提出问题,通过组织学生演示或讨论,解决学生的学习疑惑。
【实施环境】
优先选用机房,其次是教室。
【流程】
序号 | 环节 | 要求 |
1 |
布置学习任务 | 1、布置时间:必须提前布置学习任务 2、明确课程目的:必须讲解翻转课堂的教学目的(第一次课必须实施) 3、强调学习目标:必须讲解本次课所要达到的教学目标以及与后续课程的关系 4、明确学生学习方法 1)必须说明登录学习平台观看学习资料 2)必须简要说明学习平台的使用方法(第一次课必须实施) 3)必须提醒学生参考学生用书 4)必须提醒学生按要求完成学习平台布置的学习任务 5、明确任务要求 1)必须明确要求学生按照学习平台里的要求,完成任务 2)必须简要说明任务的提交方式、时间、内容等 3)必须告知学生:讲师将监控、检查学习过程和学习结果,并给予反馈 4)必须提醒学生学生将学习过程中的问题做记录,或通过学习平台提 交问题进行讨论 6、时间控制:必须在5分钟内 说明:任务除布置的上机操作外还包括学习问题列表或学习总结 |
2 |
监控学生学习进度 | 1、检查完成情况 1)检查时发现学生遇到的问题,必须通过当面沟通、邮件或电话等方式给予必要的指导和帮助 2)对于进度或质量完成不好的学生,必须给予鼓励、后续加大监控力度 3)必须检查督促全班所有学生的学习进度 4)上课的前一天确保学生学习完成度达到90%以上 说明: 1、学生完成度是翻转课堂顺利执行的重要指标,讲师需要特别重视 2、可由班主任辅助完成此环节 |
3 |
授课前准备 | 1、必须收集并整理提问学生的问题列表,以便于弄清学生学习的疑惑和难点 2、必须参考学习平台的相关章节部分,准备本次授课内容,必须完整观看平台课件资料 3、第一次讲授,必须试做一遍课上演示的案例和上机练习 4、若需要使用学习平台,必须确认教师机能够成功登录、正常使用学习平台(可选) 说明: 1、讲师可整理学生讨论的问题 2、讲师可通过收集分析学生提交的问题列表,总结学生学习疑惑 |
4 |
课堂学习检查 | 1、收齐学生提交问题,包括收集在线讨论问题和学生作业里记录的问题 2、检查完成情况 1)通过提问发现学生遇到的问题,确定学生学习内容的掌握程度 2)对于进度或质量完成不好的学生,必须给予鼓励,后续加大监控力度 3、根据自学检查情况,选择接下来的教学活动安排,介绍本次课的教学目标及任务,明确安排学生执行的要求 4、时间控制:必须在10分钟以内 说明: 1、课堂学习检查目的是辅助讲师了解学生学习掌握程度,选择后续教学环节的依据 2、记录学生自学的完成情况 |
5 |
15分钟测评 | 1、提前备课,根据内容设计测评练习题 2、适用于有上机操作的教学内容 3、测评结束后总结学生练习情况及问题 4、选择后续教学环节,解决学生学习问题 5、时间控制在15分钟 说明: 根据教学内容此环节可选,目的在于挖掘学生学习和上机操作存在的问题,有针对性的消除学生的疑惑 |
6 |
组织学生展示 | 1、明确安排 1)必须简介要演示的任务、训练的技能点 2)必须重申翻转课堂的目的重要性 3)必须说明每人讲解的内容、时长 4)必须提醒台下学生注意听讲,讲解完毕后准备提问或给予点评 2、学生展示 1)对于缺乏演讲技巧的学生,必须给予鼓励和指导 2)每位学生讲解完毕后,必须先安排其他学生给予点评或提出问题,最后讲师对实现思路、学习方法或讲解技巧方面给予点评 3、建议选派学生代表进行演示,时间控制:推荐10分钟/学生 说明: 1、根据教学内容此环节可选,目的在于培养学生表达能力,树立优秀学生的榜样 2、此环节适用于有上机练习和项目练习的教学内容 |
7 |
互动讨论 | 1、明确安排小组问题列表 1)必须简介每个组的任务、训练的技能点 2)必须重申小组合作讨论的重要性 3)必须说明每组讨论的内容、时长 4)必须提醒每组学生需要提交的内容 2、课堂小组组织方式 1)对学生进行课堂小组划分,设立小组发言人(可由学生轮流担当)2)根据教学内容先安排小组间讨论,小组解决不了再组织组间交叉讨论3)讲师全程巡视,保证学生的参与度 3、可通过竞赛形式,此环节应调动学生的积极性 4、讲师在学生讨论后,对学生提交问题进行解惑答疑 说明: 1、根据教学内容难易度可选此环节 2、此环节培养学生沟通、交流及团队协作能力 |
8 |
辅导答疑 | 1、根据之前教学环节总结学生的疑难和困惑的共性问题,进行统一讲解 2、根据之前教学环节概括学生的学习方法等相关的个性问题,进行一对一辅导解决 说明: 1、此环节为翻转课堂保证学习效果的重要环节 2、通过辅导答疑,讲师解决学生学习困惑,传授学习方法、经验等 |
9 |
上机练习 | 1、内容讲解 1)必须讲解需求 2)必须以提问方式进行思路分析和关键代码讲解 3)在确认学生理解后,必须明确告诉学生编码时间 4)阶段结束时,必须展示规范代码,点评完成情况 2、学生辅导 1)学生编码时必须巡视,并回答学生的提问 2)必须主动检查每个小组,了解学生的完成情况 3)必须引导学生的思路或提示关键代码,不得直接代替学生完成任务 4)发现的共性问题或超过3个学生(含)问同一个问题,必须进行共性问题集中讲解 5)对于需要超过5分钟解决的问题,必须放在课下进行 2、异常处理 1)对于进度快的学生,必须安排辅导其他学生、布置继续完成后续任务或布置补充练习 2)对于进度慢的学生,必须及时给予指导或安排已完成的学生辅导 说明: 1、根据教学内容此环节可选,主要针对动手能力要求高的知识点,加强学生练习巩固所学 2、此环节目的是增加教师对学生的一对一辅导,方便对学生进行解惑答疑 |
10 |
总结反馈 | 1、对课程中的重点与难点内容进行串讲,具体讲解内容选择结合课堂教学中学生学习掌握情况 2、在此环节引导学生建立本课的知识体系 3、总结共性问题:必须对技术方面或小组讨论方面存在的共性问题给予讲解 4、时间控制:必须在10~20分钟 5、点评完成情况: 1)必须根据课堂学生学习完成度总结全班完成情况 2)必须点名鼓励和肯定完成较好的学生 3)必须强调自我解决问题的重要性 6、时间控制:必须在5分钟以内 说明: 1、就学生共同讨论的问题进行分析,解决学生的疑惑 2、对学生分组讨论的情况做总结,形成学生讨论的良性循环 |
5、项目案例课
【目标】
1、训练技能点的综合运用能力;
2、提升代码熟练度、规范度;
3、提高软件质量意识;
4、学习业务知识。
【内容】
综合运用所学技能完成小型项目开发,规模和完整性大于上机练习,4~16学时/个。【实施环境】
编码必须在机房,项目讲解、项目总结推荐安排在教室。
【流程】
序号 | 环节 | 要求 |
1 | 授课前准备 | 必须通过试做充分了解项目需求、实现思路、重难点 |
2 |
讲解训练的技能点和任务描述 | 1、讲解项目案例课意义 1)必须强调“项目经验是学生学习的最终目的” 2)必须强调项目案例课成绩在学生成绩评定中的地位 2、必须以提问方式讲解项目中使用的重要技能点 3、讲解任务描述 4、时间控制:必须在20分钟以内 |
3 |
分析任务并介绍开发计划 | 1、必须分析完成项目的整体思路 2、必须根据讲解项目中的难点,并提问确认讲解效果 3、讲解开发计划 1)必须强调每个用例的开发时间限制,树立学生的时间观念 2)必须在白板上写明本次课整体时间分布,增强紧迫感 4、时间控制:大一,大二:30分钟以内,大三:40分钟以内 |
4 |
指导学生完成用例开发 | 1、详细介绍用例需求,并提问确认 2、根据需要进行思路分析或难点提示 3、学生完成后组织测试 1)按检查点测试 2)组员交叉测试,小组长对本组抽查测试 3)测试出的问题记录在常见问题列表中 说明:大一可选 4)修正缺陷后返测通过,才认为用例开发完成说明:大一、大二可选 4、展示参考实现 5、点评并记录学生完成情况,填写《项目案例进度记录表》 |
5 |
学生辅导和异常处理 | 1、学生辅导: 1)学生编码时必须巡视,并回答学生的提问 2)必须主动检查每个小组,了解学生的完成情况 3)必须引导学生的思路或提示关键代码,不得直接代替学生完成任务 4)发现的共性问题或超过3个学生(含)问同一个问题,必须进行共性问题集中讲解 5)对于需要超过5分钟解决的问题,必须放在课下进行 2、异常处理 1)对于进度快的学生,必须安排辅导其他学生、布置继续完成后续任务或布置补充练习 2)对于进度慢的学生,必须及时给予指导或安排已完成的学生辅导 |
6 |
项目测试 | 1、系统集成后,重新测试系统所有程序功能; 2、测试出的缺陷记录在“常见问题列表中”; 3、修正缺陷后返测,全部缺陷返测通过后才认为项目完成 说明:大一可选,大二、大三必须安排 |
7 |
项目总结 | 1、学生课堂总结 1)必须安排2~3个不同层次的学生当堂总结 2)要求学生展示项目完成情况,总结技能点、经验分享、项目收获 3)要求学生表达清晰流畅、有条理、重点突出 2、必须对项目完成情况进行点评,并总结项目中用到的技能 3、布置作业 1)必须将学生未完成部分布置为作业,并明确提交时间 2)必须要求学生编写项目总结,以书面方式提交 3)必须批改大三学生项目总结,并体现在最终的项目案例成绩中 |
6、卓越项目课
【目标】
大一、大二、大三阶段结束,综合应用所学技能,树立成就感和继续学习的信心。
【内容】
综合运用本阶段课程知识完成项目开发,卓越项目的规模和完整性大于项目案例。
【实施环境】
前2节课优先选用教室,后续课在机房;答辩优先选用教室,占4学时。
【流程】
序号 | 环节 | 要求 |
1 |
授课前准备 | 1、准备授课内容 1)必须通过试做熟悉卓越项目的业务、难点,明确学生要完成的任务 2)必须估计并记录学生可能出现的问题 3)如果卓越项目中涉及到没有讲解过的技能点,必须在备课时做好准备 2、对学生进行分组 1)必须与班主任沟通,分析学生情况,共同确定分组和小组角色 2)每组要求3人,特殊情况下允许2人或4人一组,分组时必须不同层次的学生搭配 3)必须将分组结果填写到《卓越项目进度控制表》中 |
2 |
项目讲解 | 1、讲解课程安排 1)必须向学生讲解卓越项目的意义 2)必须向学生强调卓越项目的成绩组成及在整个学生考核中的地位 3)必须向学生介绍项目概况,告诉学生卓越项目的授课安排 2、需求讲解 1)必须讲解项目实现的技术 2)必须以客户角度讲解需求,不得直接演示软件功能 3、需求分析 1)必须带领学生进行需求分析,S1阶段提供不完整的需求说明书,让每个小组填充部分业务需求描述。S2阶段必须让小组独立完成完整的需求说明书。 2)必须进行课堂交互 3)必须审核每个小组提交的需求说明书,审核合格后方可进入下一阶段 4、学生分组 1)必须向学生宣布各小组的名单,并分配每个小组组员的角色 2)必须根据教材和PPT的提示介绍每个小组成员角色的任务分配情况 5、推荐使用的教学技巧:课堂设问和提问教学技巧、任务分解教学技巧、阶段控制教学技巧 |
3 |
项目准备 | 1、素材提供:必须将卓越项目需要用到的素材提供给学生 2、进度监控 1)必须要求各小组按照按分配的角色完成项目准备的任务 2)必须询问每个组长,通过查看小组代码的方式了解各组的完成情况,并记录在《卓越项目进度控制表》中 3)必须要求每个项目组填写工作日报,并根据各组提交的日报,及时跟踪 3、结果提交:必须要求各组将项目准备阶段的成果提交到项目服务器 4、推荐使用的教学技巧:分散集中教学技巧 |
4 | 指导学生集中编码 | 1、编码准备:必须提醒各小组从项目服务器下载本组的项目 2、任务讲解 1)必须以演示的方式讲解本次集中编码的具体任务,并通过提问学生确认 2)必须按照PPT的提示分析本次集中编码的难点 3)难点分析时,必须单独提问学生,确保学生理解 3、学生辅导 1)对于进度慢的小组或学生,必须告知解决办法确保跟上进度 2)对于进度快的学生,必须安排其帮助小组内的其他成员 3)对于进度快的小组,必须安排做后续的任务或补充任务 4)必须及时处理团队问题,避免学生矛盾激化,影响教学 5)鼓励学生主动提问,鼓励学生互相帮助,但必须避免出现个别能力较强的学生替其他学生写代码的情况 4、共性问题讲解:巡视中发现的共性问题必须集中讲解 5、进度检查 1)必须询问每个组长,通过查看小组代码的方式了解各组的完成情况 2)必须将各组的完成情况记录在《卓越项目进度控制表》中 3)必须要求各组填写问题列表,并及时给予答复 6、代码测试(仅限大二、大三卓越项目) 1)必须以小组为单位,进行测试 2)必须以小组为单位,提交测试报告 7、评审:必须对每个项目组至少做一次评审,并安排组长记录并提交评审报告 8、结果提交:必须要求各组将本次集中编码完成的项目结果提交到项目服务器 9、推荐使用的教学技巧:3W1H教学技巧、课堂设问和提问教学技巧、对比教学教学技巧、集中编码教学技巧、阶段控制教学技巧、代码审查教学技巧 |
5 |
卓越项目答辩 | 1、指导学生进行答辩准备 1)必须下发答辩PPT模版,要求学生按照规定的PPT模板准备答辩 2)必须向学生明确答辩的过程和要求 3)必须检查各小组项目完成情况,功能完成80%以上方可参加答辩 4)必须检查学生答辩PPT完成情况,提出修改意见 5)必须要求学生将答辩用的项目、数据库及PPT拷贝到教师用机,并测试 2、组织答辩 1)必须邀请答辩评委至少2人 说明:讲师本人不得作为评委 2)必须将卓越项目的需求提前告知答辩评委 3)必须为每位评委打印一份《卓越项目答辩评分表》和一份《卓越项目答辩评分标准》 4)必须组织学生以小组为单位进行答辩 |
6 |
评价卓越项目成绩 | 1、汇总答辩成绩:必须将评委的《卓越项目答辩评分表》的打分结果填写在《卓越项目成绩表》中 2、评价卓越项目成绩:必须填写《卓越项目成绩表》中各项成绩,得到每个小组的成绩。组员的最终成绩不得高于小组成绩。 |
教学技巧
1、3W1H教学技巧
项目 | 内容 |
解决的问题 | 1、讲解新的技能点没有思路 2、讲解不清楚、不全面,缺乏条理性和逻辑性 3、讲解理论性与操作性均较强的内容 |
教学技巧描述 | 3W1H指从Why、What、Where、How四个方面将一个技能点讲清楚。其中,Why:指为什么需要该技能点或概念,可以通过生活案例或从实际需要出发讲解,帮助学生理解为什么要使用该技能 What:讲清楚该技能点或概念的具体内容 Where:讲清楚该技能点或概念的应用场景 How:讲清楚如何使用该技能点,注意帮助学生归纳总结步骤和注意事项,便于理解记忆 |
实施要点 | 1、内容方面:讲解时要求至少包括Why、What、How三个方面,Where可选 2、顺序方面:必须先讲解Why,但What、Where、How三方面没有顺序要求,根据具体情况可采用 1)Why-What-How-Where:适合复杂内容或学生必须知道该技能点的相关理论,才能演示如何操作的场合 2)Why-How-What-Where:适合简单内容或先现场操作完成一个小案例让学生有感性的认识,然后再通过总结的方式讲解相关理论的情况 |
使用举例 | Why:在第一次讲循环时,先用逐条语句的方式输出30遍“我能行”,说明太麻烦,从而引出可以用循环来解决 What:循环结构的语法、具体含义 How:使用具体的代码案例进行讲解 Where:重复地做一件事情的场合 |
2、课堂设问和提问教学技巧
项目 | 内容 |
解决的问题 | 1、讲解后,希望获得学生的反馈 2、活跃课程气氛,调动学生学习积极性 |
教学技巧描述 | 1、设问:话语是疑问性的 2、提问:在关键的地方或易出错的地方提问要求学生回答 |
实施要点 | 1、设问:设问句不宜过多 2、提问:问题不能过难或过于简单,也不能太宽泛 3、对于回答问题的学生都应予以正面鼓励 |
使用举例 | 1、设问:一行一行的输出太麻烦了,有没有更简便的方式呢?那就是使用循环结构 2、提问:这个问题,如果用循环来解决,循环的条件是什么?请某某同学回答 |
3、对比教学教学技巧
项目 | 内容 |
解决的问题 | 1、相似的技能点或概念重复讲解,学生不愿意听 2、孤立讲解技能点或概念,学生不了解技能点之间的关系 |
教学技巧描述 | 1、罗列相关的概念,重点说明差异 2、演示相关的代码,指出代码的差异、效率的差异等 说明: .NET和Java技术中有很多相似的技能点或概念,两个技术方向的讲师要多交流 |
实施要点 | 1、提问已学技能点、概念,帮助回顾 2、进行技能点、概念之间的对比,加深学生的记忆 3、说明各自的应用场合,以便学生能灵活应用 |
使用举例 | Java中使用boolean,而C#中使用bool |
4、现场编程教学技巧
项目 | 内容 |
解决的问题 | 1、了解学生对某个技能点的掌握程度 2、强化学生编码能力 |
教学技巧描述 | 1、布置一个简单的、代表性强的编码题,要求学生现场完成 2、所有学生拿出纸笔,手写代码 3、可以要求1名学生到白板上手写代码 4、教学巡视学生完成情况,并点评 |
实施要点 | 1、学生手写代码时间不超过5分钟 2、只要求学生写关键代码,不要求在计算机上调试完成 |
使用举例 | 讲完if结构并演示完案例后,给出一个现场编程题目,要求学生使用if结构解决,代码编写时间限定为5分钟。一般在理论课使用。 |
5、课堂陷阱教学技巧
项目 | 内容 |
解决的问题 | 1、希望学生牢记编码时容易出错的技能点 2、通过错误或问题引出下一个技能点或解决方案 |
教学技巧描述 | 1、把代码故意写错,通过“出问题了”来吸引学生注意力 2、在典型的、容易出错的地方故意犯错误,提高学生对代码、概念的理解和认识 |
实施要点 | 根据程序执行结果,分析错误原因和定位错误的方法,并给予更正 |
使用举例 | 讲循环的时候,故意将循环条件写错,导致结果不正确,带领学生一起利用断点调试的方式查找错误 |
6、任务分解教学技巧
项目 | 内容 |
解决的问题 | 对于相对复杂的任务,学生没有思路,不知道如何解决 |
教学技巧描述 | 1、把比较复杂的任务分割成若干个功能单一的简单任务 2、通过完成不同的单一任务,最终完成复杂任务 |
实施要点 | 1、课前根据班级情况划分各阶段,每阶段完成一个功能相对独立的子任务 2、每阶段控制时间:S1:10~25分钟,S2、Y2:15~30分钟 3、任务分解要合理化,便于理解和实施 |
使用举例 | 计算N的阶乘和,可以分解为下面三步:
|
7、任务贯穿教学技巧
项目 | 内容 |
解决的问题 | 1、学生学习的技能点比较散,不能综合应用 2、学生不知道所学技能点在做项目时如何应用,项目经验不够 |
教学技巧描述 | 有两种方式: 1、任务贯穿 把功能单一的简单任务合并成比较复杂的任务 2、业务贯穿 把任务所涉及的业务实现分布在教学中 |
实施要点 | 1、每次课要提醒学生保存项目文档,以便下次课继续 2、项目的业务要尽量符合真实场景 3、强调调试技巧、编码规范等,累学生的项目经验 |
使用举例 | 学生信息管理系统项目不仅贯穿在S1的C#、数据库等课程中,还贯穿于S2的三层结构和数据库课程中;这个项目不仅实现了项目贯穿还实现了业务贯穿 |
8、集中编码教学技巧
项目 | 内容 |
解决的问题 | 1、小组分工后,学生独自开发,不便于沟通并解决问题 2、不能有效积累团队开发经验 |
教学技巧描述 | 1、每组合理分工,任务落实到每个人 2、小组全体成员集中在机房开发,便于组员之间沟通 3、安排小组长监督项目开发进度和完成质量 |
实施要点 | 1、每组全体学生集中在一起编码,便于沟通和项目进度控制 2、讲师进行项目管理、实时辅导、共性问题讲解;小组长负责联络沟通 |
使用举例 | 卓越项目课和毕业设计课采用学生在机房集中编码的方式完成 |
9、阶段控制教学技巧
项目 | 内容 |
解决的问题 | 学生完成复杂、规模大的任务时,进度不好控制 |
教学技巧描述 | 1、将任务分割成多个阶段完成 2、每个阶段完成后检查完成情况,并给予点评 |
实施要点 | 1、合理分解任务,便于过程控制和指导 2、每阶段控制时间:大一:10~25分钟,大二、大三:15~30分钟 |
使用举例 | 上机练习和项目案例编码均采用阶段控制的方式 |
10、总分总教学技巧
项目 | 内容 |
解决的问题 | 整理课程授课思路,达到讲解思路清晰,使学生容易掌握教学重点 |
教学技巧描述 | 先总体描述,再展开讲解其中的具体细节,最后总结概括 |
实施要点 | 1、介绍要点 2、详细讲解 3、总结要点 |
使用举例 | 每章的理论课都是总分总的方式 |
11、视频演示教学技巧
项目 | 内容 |
解决的问题 | 1、学生记不住工具的复杂配置 2、机械的操作在课堂上演示浪费时间 3、受授课条件限制某些操作无法演示4-、不了解课程贯穿案例、项目案例、卓越项目或毕业设计项目功能 |
教学技巧描述 | 使用视频录制软件录制操作步骤,并添加适当的说明。在必要时安排学生自己观看 |
实施要点 | 1、视频内的重要操作有提示 2、视频单次播放的长度不超过10分钟 |
使用举例 | 1、工具配置:Eclipse的配置、JDK的下载和配置 2、现场无法演示的功能:使用迅雷下载网络资源 3、演示项目:在C#课程的第一堂课,播放卓越项目功能演示的视频,增强学生学习的兴趣 |
12、断点跟踪教学技巧
项目 | 内容 |
解决的问题 | 1、学生不容易理解、掌握的抽象概念或技能点、工作原理或程序执行过程 2、程序运行遇到问题,不能准确判断代码出错的位置 3、缺乏代码排错、调试能力 |
教学技巧描述 | 讲师在关键代码处设置断点,演示跟踪程序的执行情况 |
实施要点 | 1、设置断点要准确 2、提醒学生观察代码执行顺序,查看变量值的变化 3、明确使用的快捷键 |
使用举例 | 设置断点,查看循环中变量的值变化 |
13、默写教学技巧
项目 | 内容 |
解决的问题 | 1、对技能点的要点印象不深 2、记不住复杂的操作步骤 3、不清楚学生是否掌握学过的技能点 |
教学技巧描述 | 有两种方式: 1、训练前默写: 要求学生在学习技能点前默写技能点中的操作步骤、核心概念,使学生在学习中边学边体会 2、训练后默写: 要求学生默写已经学习过的技能点的要点 |
实施要点 | 1、训练前默写必须提前布置 2、必须要求学生提交,并点评完成情况 |
使用举例 | 学习OOP前默写抽象、封装、继承、多态的概念 |
14、边讲边练教学技巧
项目 | 内容 |
解决的问题 | 1、长时间连续讲解后再练习容易遗忘 2、操作性强的内容不易过多讲解 3、学生不能从理论过渡到实际操作 |
教学技巧描述 | 讲师在详细讲解了概念、技能点、关键代码或操作步骤后,安排学生完成上机练习任务,最后进行小结和知识梳理 |
实施要点 | 1、讲师讲解 2、安排学生操作 3、归纳总结 |
使用举例 | 讲解创建数据库的SQL语句后,安排学生动手完成数据库创建任务,最后讲师归纳总结创建数据库语句和操作步骤 |
15、代码审查教学技巧
项目 | 内容 |
解决的问题 | 项目训练中代码编写不规范 |
教学技巧描述 | 当在项目实施的关键点,发现某些学生代码不规范的地方,讲师安排以项目小组为单位,进行组与组之间的代码审查 |
实施要点 | 1、发现20%以上的人代码不规范就要进行代码审查 2、按照代码规范进行审查,指出不规范的问题,并要求改正 3、一个项目中,代码审查控制在1~2次 |
使用举例 | 在项目案例、卓越项目、毕业设计中审查学生代码 |
听课记录和总结 | |||
授课讲师: | 所听课程: | 听课日期: | |
理论课听课记录 | |||
授课阶段 | 授课要点 | 情况记录 | |
授课开始 | 是否介绍该课程在本学期课程中的作用(第一章适用) | ||
是否对该课程内容做概述(第一章适用) | |||
是否在课程开始回顾上一章内容 | |||
是否在课程开始介绍本章的目标 | |||
知识点讲解(对某知识点的讲解使用的教学手段) | 知识点一 | 知识点描述 | |
生活案例(比喻) | |||
工程应用 | |||
演示 | |||
与学员互动的方式 | |||
教学方法(3W1H/对比教学/课堂陷阱) | |||
知识点二 | 知识点描述 | ||
生活案例(比喻) | |||
工程应用 | |||
演示 | |||
与学员互动的方式 | |||
教学方法(3W1H/对比教学/课堂陷阱) | |||
知识点三 | 知识点描述 | ||
生活案例(比喻) | |||
工程应用 | |||
演示 | |||
与学员互动的方式 | |||
教学方法(3W1H/对比教学/课堂陷阱) | |||
授课结束 | 是否在课程结束后总结本次内容 | ||
其他 | |||
实验课/上机课听课记录: | |||
授课阶段 | 授课要点 | 情况记录 | |
授课开始 | 是否在课程开始介绍本章实验的目标,采用的方法 | ||
过程组织 | 课堂组织方法 | 各组学生任务安排 | |
进度监控方法 | |||
协调各组进度的方法 | |||
学员答疑方法 | 学生实验过程中提出哪些问题 | ||
讲师对学员答疑时机、方式 | |||
如何指导学生排除故障 | |||
学员管理方法 | 对进度快的学生 | ||
对进度慢的学生 | |||
不遵守纪律的学生 | |||
授课结束 | 总结学生问题的方法 | ||
结束课程的方法 | |||
其他 | |||
听课总结:
|
《C#程序设计基础》章节重难点
章节 | 课程重点 | 课程难点 | 知识点讲解生活案例 | 生活案例分析 |
初始C#程序 | 1、绘制流程图 2、创建第一个C#程序 3、C#程序代码结构 | 1、控制台的输出 | 1、乘坐火车流程 2、数学题目 | 1、知识点:程序,先讲解乘车流程,再引入到计算机中程序 2、知识点:算法,先讲解决数学问题方法,再引入到计算机中算法 |
变量和数据类型 | 1、数据类型 2、控制台的输入 | 1、变量 2、控制台的输出(输出变量) | 1、宾馆 2、杯子 | 1、知识点:理解变量,先讲解宾馆和房间,再讲解内存和变量,宾馆即为内存,房间即为变量,房间名——》变量名,房间类型——》数据类型,房间客人——》值 2、知识点:使用变量,变量即为容器,杯子也是容器,使用杯子喝水分为三步:找一个杯子、在杯子中注入水、使用杯子喝水。同理使用变量也分为三步:声明变量、初始化变量、使用变量 |
表达式与运算符 | 1、赋值运算符 2、算术运算符 3、关系运算符 4、运算符结合性和优先级 | 1、逻辑运算符 2、类型转换 | 1、近义词 2、杯子之间倒水 | 1、知识点:逻辑运算符,与近义词就是“并且”,或近义词就是“或者”,非近义词就是“相反” 2、知识点:强制类型转换可能出现问题,不同类型变量表示数据范围不同,类似于不同类型杯子容积不同,容积小的杯子向容积大的杯子倒水不会出现溢出等问题,但容积大的杯子向容积小的杯子倒水可能出现溢出问题 |
条件结构 | 1、单分支if 2、双分支if-else | 1、多重if结构 2、switch结构 | 1、看球和备课-1 2、看球和备课-2 3、超市打折 4、警察抓小偷 | 1、知识点:单分支if,晚上有球赛,先看球赛再备课,否则,直接备课 2、知识点:双分支if:今天是周末,看球,否则,备课 3、知识点:多重条件结构,超市促销打折,购物达1000元,则享受8折优惠,购物达800元,则享受9折优惠,购物达500元,则享受9.5折优惠,否则不打折,使用简单的条件结构无法满足需求,可使用多重条件结构 4、知识点:switch结构工作原理,警察抓小偷,先将小偷的图像在罪犯人员库中进行逐一比对,若存在匹配的,则可以直接确认小偷身份,若不存在匹配的,则认为是一个新的罪犯,这和switch工作原理完全一致 |
循环结构(一) | 1、while循环 2、do-while循环 | 1、while循环的应用 2、do-while循环的应用 | 1、说爱我100遍 2、跑圈 3、猜数字游戏 | 1、知识点:循环简介,通过之前学习技能点实现较为麻烦,可使用循环结构实现,并通过说爱我100遍的实现,分析循环条件、循环体等 2、知识点:while、do-while循环,跑10圈是一种循环,可使用while循环或do-while循环实现,分析循环条件、循环体并套用循环语法结构 3、知识点:do-while循环引入,找一位同学参与游戏,发现每轮游戏即为一次循环,但每次循环都是先执行操作,在判断是否继续循环,此类循环可以使用do-while循环实现更佳 |
循环结构(二) | 1、for循环 2、三种循环区别 3、跳转语句 | 1、for循环的应用 | 1、说爱我100遍 2、跑圈 3、赛季篮球比赛 | 1、知识点:for循环引入,使用for循环实现说爱我100遍,结构更加简洁,因此,当循环次数确定的循环,一般采用for循环更佳 2、知识点:for循环,跑10圈是一种循环,可使用for循环实现,分析三个表达式、循环体并套用循环语法结构 3、知识点:跳转语句,一个赛季NBA一共82场比赛,每场比赛可以看做一次循环,在比赛过程中球员可能会受伤,例如,一名球员受了轻伤,本场比赛剩余时间不能参与比赛,但可以继续下一次比赛,这就相当于continue,例如,一名球员受了重伤,本赛季之后的比赛都不能参与比赛,本赛季提前结束了,这就相当于break |
数组 | 1、数组的理解 2、一维数组的使用 | 1、数组的应用 | 1、电子储物柜 2、比武招亲 | 1、知识点:数组的理解,电子储物柜和数组的特点非常类似,就是现实版的数组,对比电子储物柜讲解数组的结构和特点 2、知识点:最大值和最小值,获取最大值或最小值类似古装电影中的比武招亲,首先,第一个上擂台的人是擂主,然后与下一个竞争对手进行比武,若取胜,则第一个人仍是擂主,否则,竞争对手便成为擂主,然后擂主继续与之后的竞争对手进行比武,以此类推,最后站在擂台上的擂主,便是本次比武的胜利者。类似于打擂,求最大值的过程也是如此 |
方法 | 1、无参数无返回值的方法定义和调用 2、有参数无返回值的方法定义和调用 | 1、方法调用的过程 2、值传递和引用传递的区别 | 1、讲故事 2、借东西 | 1、知识点:方法的引入,小明睡觉前习惯让妈妈讲故事,妈妈一开始一遍一遍的讲着故事,这样太繁琐了,妈妈就想了一个办法,把讲故事录下来,小明想听故事的时候直接播放出来就可以了,而不需要妈妈再讲一遍,在编程过程中,有些代码在很多地方都需要使用,我们可以把这些代码封装起来并进行命名,当需要时,直接通过名字进行调用即可,这种机制就是今天要学习的方法。 2、知识点:值传递和引用传递区别,朋友找你借剪刀,你可以将自己的剪刀借给他,在朋友使用过程把剪刀弄坏了,那你自己也没有用剪刀了;你也可以买一个和自己一样的剪刀借给他,在朋友使用过程把剪刀弄坏了,你仍然可以使用自己的剪刀。第一种方式就是引用传递,第二种方式就是值传递 |
方法 | 1、有参数有返回值的方法定义和调用 2、返回值的传递过程 | 1、数组作为参数 2、方法的应用 | 1、学生帮忙买东西 | 1、知识点:有参数有返回值方法定义和调用,现在老师有点口渴,让学生帮忙买一瓶饮料,此时,学生相当于被调方法,老师相当于主调方法,老师给学生的钱就是参数,买回来的饮料就是返回值,更多的时候会使用到有参数有返回值的方法 |
枚举和结构体 | 1、枚举的使用 2、结构体的使用 | 1、结构体数组 | 1、性别、星期 2、描述学生信息 | 1、知识点:枚举引入,日常生活中的很多问题,所描述的状态仅有有限的几个,类似于“多项选择”。例如,人的性别只有男、女;比赛的结果只有输、赢;一周的星期只有星期一至星期天等。当在程序中处理此类数据时,可使用枚举实现 2、知识点:结构体引入,在现实生活中,每一类事物都具有多方面的属性,如一名员工的信息包括姓名、薪资和所在部门等,这些信息不是孤立存在的,它们紧密联系,共同描述员工的基本情况。若要在程序中对这些数据进行处理,该如何存储这些数据呢?使用数组,数组中存储的数据必须具有相同的数据类型。使用变量,使用变量会破坏这些数据在逻辑上的关联,可使用结构体实现 |
《JAVA程序设计基础》章节重难点
章节 | 课程重点 | 课程难点 | 知识点讲解生活案例 | 生活案例分析 |
初识Java | 1)使用记事本开发简单Java程序 2)使用输出语句在控制台输出信息 | 1)什么是程序 2)使用记事本开发简单Java程序 | 1、程序即完成一件特定事情的步骤 2、Java是一门编程语言,好比是生活中不同国家的语言 | 1、程序就是程序员编写特定的指令(代码)控制计算机去完成特定操作的过程。 2、同样一个事情可以用不同语言描述出来,就好比同一个功能可以使用不同的指令(Java、C#、C++等)编写实现,但是别人听不懂你的语言,就好比计算机不懂Java,所以有了编译器,编译器就是把Java指令编译为计算机能够识别的语言(机器语言),从而控制计算机去执行某个操作的过程 |
变量和数据类型 | 1)变量的概念 2)使用赋值运算符、算术运算符 3)boolean类型和关系运算符的使用 | 1)变量的使用,特别是字符串类型 | 1、变量就是一个容器 2、两个变量的交换 | 1、生活中我们用碗盛饭,杯子装水,衣柜装衣服,这些都称为容器,而程序中的数据则使用变量存储,所以变量就是存储数据的容器,同时变量也好比是宾馆可以住人,拿宾馆和变量一起对比,特点对比如下: 1)宾馆——变量 2)房间号——变量名(有名称且唯一) 3)房间类型——变量类型(不同类型存储不同大小的数据) 4)房间客人——变量中的数据(可以变化) 房间客人可以每天换,同样变量中的数据也可以变化 2、两个变量中的数据交换,好比两个杯子中的内容交换一样,一个杯子是水,一个杯子是牛奶,如何交换,能直接倒过去换嘛?显然不能,需要借助第三个杯子(变量),将水导入空杯子,然后将牛奶导入装水的杯子,再将第三个杯子的水导入牛奶杯子中即完成了变量的交换。 |
表达式与运算符 | 1)变量的运算 2)数据类型转换 | 1)模运算 2)三目运算符 3)变量数据类型的转换 | 1、数据类型的转换 | 1、生活中我们可以用桶去装一个杯子的水,因为空间够大所以完全装入,就好比大类型的变量存储小容器的数据一样(int类型的数据放入double类型容器一样),同理如果强行将一桶水倒入一个杯子肯定会溢出,这就好比将大容器的数据放入小容器的变量中一样(double数据放入int类型变量中一样,小数点后面则会丢失) |
条件结构 | 1)条件结构的理解 2)条件结构的使用 3)switch结构 | 1)条件结构的使用 2)siwtch结构 | 1、条件结构的理解 | 1、条件结构用于处理程序中的条件判断,如: 1)登录的时候,用户名密码正确了如何处理,错误了如何处理 2)淘宝购物的时候,如果是会员则打折,不是会员则不打折,计算的支付金额是不一样的 3)摇奖的时候,根据摇奖的结果不同匹配的结果也不同,一等奖:奖励笔记本,二等奖:奖励手机,三等奖:奖励充电宝,四等奖:奖励一顿打 4)考驾照的时候,科目一、二、三、四同时都要达到90分以上才行,否则不予通过 |
循环结构 | 1)循环的理解 2)while循环 | 1)while循环 2)do-while循环 | 1、循环的理解 | 1、循环就是重复不停的去执行某个操作的过程,好比老师罚我们去跑10圈,没跑的时候心里计数是0,每跑一圈心里会默默加1,直到第10圈了,数字加到10了心里会有个判断,到10圈了退出循环 2、循环同样在游戏里面也很多,我这个英雄不停攻击对方英雄,每打一下对方掉血,直到对方血为0则退出,循环结束。小兵死了自动又出来一波,直到我方水晶被地方打掉,小兵停止,等等这些都是生活化循环的案例。 |
循环结构进阶 | 1)for循环 2)contiue语句 3)break语句 | 1)continue语句 2)break语句 | 1、continue的理解 2、break的理解 | 1、break好比罚我去操场跑10圈,身体不好,跑到第三圈跑不动了,身体出现问题了,老师让我不跑了,后面的7圈则取消,这就是break。Continue比如是其中一圈老师跟我说话,耽误了时间,老师说这一圈算了,你直接从下一圈开始跑吧,这就是continue。 |
类和对象 | 1)类和对象的理解 2)类的定义 3)对象的创建和使用 | 1)类和对象的理解 | 1、类和对象其实就是模板和模板创造出来具体实物关系 | 1、类好比是模子,而对象则是根据模具制作出来的具体能用的东西。生活中我们到中秋节了会吃月饼,月饼怎么做最快,肯定不是一个一个去捏出来,都是把月饼材料准备好了,然后倒入月饼模具,然后生产出来,月饼模子好比是泪,而具体能吃的月饼这就是对象,模子中定义了什么,造出来的实物就有什么。你见过吃月饼模子的吗,所以我们吃的是月饼对象。 2、造车之前都会绘制一个车的图纸,定义车有哪些内容,长、宽、轴距、车灯、还会设计放车牌的地方等内容,然后就根据图纸造车,我们买的时候肯定不会买个图纸去开,也开不了,我们买的是具体根据图纸造出来的车对象,每个车对象都拥有自己的属性,并且还可以挂不同的车牌,说明每个对象都是独立的,都拥有自己的信息。 |
方法 | 1)方法的概念 2)方法的定义 3)方法的调用 | 1)方法的定义 2)方法的调用 | 1、方法的理解 | 1、主要让学生理解为什么需要方法,大白话即是:将我们前6章所学的内容按照特定的功能要求组合在一起起个名字(压缩打包),然后需要用的时候直接使用这个名字就能完成特定的功能。通过一个案例来看看为什么需要方法,假如我们现在需要开发一个大型软件,有很多人参与共同开发,其中有一个加密的功能,而这个功能很多人都会用到,如果每个人每次需要的时候都去写一遍可以实现,但是好像不是那么方便高效,那么怎么做才更好(抛出疑问)。能不能写成一个公用的大家都能用,并且如果需要改变是不是只需要改一个地方呢(此处可以通过画图来直观描述) 2、有参数的方法好比是我去买票,我给别人钱,调用购买方法,然后别人返回给我一张票,这个票返回给了我这个调用者,其实就是返回值。 |
方法与参数类型 | 1)有返回值方法的声明和调用 2)值类型和引用类型 | 1)值类型和引用类型区别 | 1)有参数方法的理解 2)值类型和引用类型生活化理解 | 1、有参数的方法是为了提高方法的灵活性,参数就好比你去调用一个方法,这个方法需要调用者给一个数据,比如我去买票,别人要我给钱,我给的这个钱就是参数,并且有的地方还不止给钱,比如买车票,除了给钱,还要给身份证号码,这就好比是两个参数了。 2、值类型好比是考试发试卷了,你去复印了一份带回家,然后在你复印试卷上填写内容,对我原来的试卷没有任何影响。引用类型好比是老师发了试卷,你带回家直接在试卷上填写内容,但是其实你拿的数据就是原来发你的试卷,对试卷直接造成影响。 |
数组 | 1)数组的定义和赋值 2)数组的使用 | 1、数组的使用 | 1、数组可以理解为生活中的超市储物柜 | 1、超市储物柜好比是数组,可以存放多个东西,有大小,有编号,储物柜格子中可以存放物品,但是有大小限制,具体特点对比如下: 1)储物柜——数组 2)储物柜编号——数组下标 3)储物柜总大小——数组的大小 4)储物柜的内容——数组下标位置对应的数据 不同的是数组中只能放相同类型的数据 |
第一章 初始C#程序
章节 | 课程名:C#程序设计基础 章节名: 第一章 初始C#程序 | 课时安排: 4 课时 |
教学 目标 | 教学目标 | 技能点 |
绘制简单的流程图 编写简单的控制台应用程序 “英雄联盟”中英雄属性 “英雄联盟”中英雄简介 “英雄联盟”的英文缩写 “英雄联盟”中英雄列表 | 程序、算法和流程图 C#简介以及开发环境 理解C#程序结构 控制台的输出 | |
思政 目标 | 课程思政说明: | 详细介绍 |
1) 课程思政素材 2) 思政设计思路 | 1、首先要明确课程目标,通过讲解知识点中使用到的案例进行思政的渗透,通过输出信息时,输出我是中国人,台湾是中国不可分割的领土。 2、课堂上讲解C#知识点的同时,对于输出的信息的问题进行互动,点学生起来回答问题,说出输出内容,提高兴趣; | |
教学 重点 难点 | 教学重点难点: | 对应教学技巧 |
本章重点: 创建第一个C#程序 C#程序代码结构 本章难点: 控制台的输出
| 1) 3W1H:引入、是什么、在以后的工作中什么地方用、如何用 2) 现场操作:讲师、学生现场演示 3) 课堂设问和提问教学:与学生互动,点学生起来回答问题 | |
教学过程设计 |
整章授课思路本章理论课授课目标: 1)程序、算法和流程图:在进入编程世界之前,了解一下和编程的相关几个概念,第一小节将介绍程序、算法和流程图。 2)C#简介以及开发环境:C#是微软公司配合其最新的战略平台所研发的最新编程语言,也是目前最为流行的语言之一,有很多优点,因此,将C#作为学习编程第一门语言。第二小节将介绍C#前世今生以及对应开发环境。 3)理解C#程序结构:每种编程语言都有对应程序结构,只有熟悉了程序结构,才能快速的、正确的编写代码实现对应功能,第三小节将介绍片C#程序结构。 4)控制台的输出:程序和用户之间的交互,一般是通过输入信息以及输出信息实现,第四小节将介绍控制台应用程序的输出。 1.课程定位、就业技能、课程目标介绍[5分钟]从今天开始我们将学习一门新的课程——C#程序基础,这是一门非常重要的课程,因为这是大家所学习的第一门编程课程,从今天起我将带领大家进入奇妙的编程世界。自1946年,世界上第一台电子计算机诞生以来,软件技术获得了突飞猛进的发展,形成了众多的经典计算机语言。2000年6月,微软推出了.NET战略,C#语言是专为.NET平台设计的语言,寄托了微软的希望。C#语言目前已经成为世界上最为流行的语言之一。 本门课程分为三个部分:C#语言介绍、C#语言基础和C#语言高级特性。其中: 第一章:讲解C#语言简介、程序基本结构以及开发工具的使用; 第二章至第七章:讲解C#语言基础,包括变量、数据类型、运算符、条件结构以及循环结构; 第六章至第八章:讲解C#语言高级特性,包括各种形式的方法、数组、枚举以及结构体; 2.课程项目展示[5分钟]“英雄联盟”文字游戏 3.回顾、预习检查、任务、目标[5分钟]3.1.预习检查提问:什么是程序?什么是算法?什么是流程图? 程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。算法是定义用来解决问题的步骤。流程图是算法图形化的表示方式,由椭圆(表示开始或结束)、菱形(表示判断)、矩形(表示运算和处理)、平行四边形(表示输入输出)以及有向线段(表示流程线)等组成。 提问:在C#控制应用程序中,Main方法的作用是什么? Main()方法被称为主方法,是所有C#程序的入口,任何C#程序均从Main()方法开始运行,并在Main()方法中结束运行,需注意的是,C#中的 Main()方法首字母必须大写,Main()方法的返回值可以是void或者int类型,Main()方法可以没有参数。 提问:在C#控制台应用程序中,如何实现向控制台输出信息? 可以通过Console.Write(“控制字符串”)或Console.WriteLine(“控制字符串”)两种方式向控制台输出信息,两者的区别在于前者输出后不换行,而后者输出后换行。
4.程序、算法和流程图[15分钟]4.1 程序讲解要点: 1. 引入:学生互动:邀请一位同学“乘坐火车”的程序,引出生活中的程序。 2. 生活中程序:通常指为进行某项活动或事件所规定的方式和过程。 3. 类比生活中的程序,计算机程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 4. 讲解老板、秘书的案例,理解程序 老板做什么事情,不需要亲力亲为,下达命令给秘书完成 软件工程师编写指令,计算机根据指令完成对应功能 4.2 算法讲解要点: 1. 引入:学生互动:学校组织动物园参观的买票问题。根据互动引出算法的概念 2. 定义:解决问题的方法或步骤 3. 学生互动:把大象装进冰箱的算法 4.3 流程图讲解要点: 1. 引入:一则新闻,大家愿意读报纸还是看电视?看电视,图形化更加容易理解。刚才讲解的算法也有两种表现形式:使用自然语言和使用流程图,哪一种更加简单、直观?——流程图 2. 定义:算法的图形化表现方式。 3. 组成: 4. 案例:长方形面积计算流程图 学生口述长方形面积计算的算法,再由老师绘制流程图 小结 1. 程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 2. 算法:解决问题的方法或步骤 3. 流程图:算法的图形化表现方式
5.C#简介以及开发环境[15分钟]5.1 C#简介讲解要点: 1. 引入:在上一节中讲解了程序的概念,那么程序是如何编写的呢?这就需要一个工具,就是编程语言。人类交流有自己的语言,那么人与计算机对话就要使用计算机语言,这样你表达的想法、下达的指令计算机才能够明白。在世界范围内,存在很多类型编程语言,目前被微软公司最为推崇的一种最新的、最为优秀的语言——C#语言。正是由于C#语言具有很多优秀,我们将其作为学习编程的第一门语言。 2. C#语言来历: 说起C#就不能不提到.NET Framework。.NET Framework(框架)简称.NET,是微软为开发应用程序创建的一个富有革命性的新平台。自2002年发布第一版以来已经在企业应用中迅速占领市场,全球财富100强的公司由90%采用.NET技术构建信息系统,再次演绎了微软不败的神话。 2000年,配合.NET平台的发布,微软公司发布了一门全新的语言:C#(读作“C Sharp”)。最初它有更酷的名字——COOL。微软从1998年12月开始了COOL项目,直到2000年2月,COOL被正式更名为C#。在1998年,设计者安德斯·海尔斯伯格(Anders Hejlsberg)带领着Microsoft公司的开发团队,开始了第一个版本C#语言的设计。最终,C#语言在2001年得以正式发布。 3. C#语言的优势: a) C#已经成为一种行业标准。 b) 完全面向对象。 c) 对泛型提供了更完整的支持。 d) 强大的类库支持。 e) 丰富且功能强大的控件。 f) 可以利用C#开发多种应用程序。 g) …… 5.2 开发环境讲解要点: 1. 引入:“工欲善其事,必先利其器”,微软除了推出全新的C#语言,还提供了强大的集成开发工具,也就是编程工具,其功能之强大,是目前最好的开发工具,在之后的学习中、工作中大家都会经常使用到它——Visual Studio。 2. Visual Studio:简称VS,是微软公司推出的一套完整的开发工具集,存在很多版本,目前课程中使用的是vs2017 3. vs 2017开发主界面: 5.3 创建第一个C#程序 讲解要点: 1. 引入:以上我们了解C#语言以及VS开发工具,相信大家已经迫不及待向去体验一下,接下来,我们使用vs2017开发第一个C#程序。 2. vs 2017创建第一个C#程序步骤: a) 通过快捷方式启动Visual Studio 2017 b) 在主界面新建项目 c) 选择项目类型(控制台应用程序)及模板(C#) d) 编写代码,在控制台中输出“Hello World!” using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello Mstanford!"); } } } e) 按Ctrl+F5编译并执行程序
小结1. C#语言 2. Visual Studio 3. 使用vs2017创建C#程序的步骤
6.理解C#程序结构[20分钟]6.1 控制台应用程序项目结构讲解要点: 1. 引入:在上一节中,我们已经可以通过VS2017创建C#应用程序,可以看到在C#应用程序中包含很多的文件,在不同文件中也存在很多代码,这些文件以及代码有什么作用呢?接下来,我们将给大家介绍C#应用程序的结构。 2. 项目和解决方案 a) 项目:用于对C#应用程序中所有文件进行组织和管理的一种容器。 b) 解决方案:也是有效管理应用程序的容器,一个解决方案可以包含一或多个项目。 c) 项目文件、项目、解决方案关系: 多个项目文件——》构成——》项目——》包含——》解决方案 d) 在vs2017中通过解决方案资源管理器对项目和项目文件进行管理 3. vs2017中的“解决方案资源管理器” 在整个项目文件中,需要我们认识以下两个文件: a) Program.cs:该文件是项目的启动文件,该文件中定义项目的启动入口,即Main()方法,在C#中,程序源文件已.cs作为扩展名。 b) ConsoleApp1.exe:这个文件位于bin\Debug目录下,是项目编译之后生产的可执行文件,可以直接运行
6.2 C#程序代码结构讲解要点: 1. 引入:在解决方案资源管理器中,双击Program.cs,将在工作区打开该文件,其中,包含C#应用程序的核心代码。 2. C#程序代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } 3. C#程序代码结构认识: a) using关键字:用于导入命名空间 b) namespace关键字:用于声明命名空间,组织和管理代码。 c) class关键字:声明类,我们编写的代码都应该包含在一个类里面 d) Main方法:被称为主方法,是所有C#语言程序的入口,任何C#语言程序均从Main方法开始运行,并在Main方法中结束运行。 Main()方法有四种形式: static void Main(string[] args){ } static int Main(string[] args){ } static void Main( ){ } static int Main( ){ } e) Console.WriteLine("Hello World!");用于进行控制台信息的输出。 6.3 C#程序中的注释 讲解要点: 1.引入:在C#源文件中编写代码都是英文单词,目前我们代码很少,很容易看懂,但是随着学习的深入,编写出来的程序可能会有成千上万条代码,此时,阅读起来就会很难,因此,作为一位合格的软件工程师,除了要实现对应功能,还要进行规范的编码,其中,给代码添加注释就是规范化编码的很重要的一条。 2.注释:对代码进行解释和说明性的文本。 3.注意:注释不参与代码的编译和运行 4.分类: 单行注释 多行注释 5.案例:为C#程序添加注释 6.C#编码规范与常见问题 a)每一行只写一条代码语句。 b)用{}括起来的部分通常表示程序的某一层次结构。“{” “}”一般位于该结构的第一一行和最后一行,并单独占一行。 c)低一层的语句应该在高一层的语句下缩进若干个空格后再书写,这样可以保持程序结构更加清晰,增强程序的可读性。 d)项目名、类名和方法名中单词的第一个首字母要大写,若由多个单词构成,每个单词的首字母均大写。 小结 1. C#控制台应用程序结构: Program.cs:C#源文件,编写代码的主要位置 ConsoleApp1.exe:可执行文件 2. C#程序代码结构 using、namespace、class、Main方法 3. C#程序的组织方式 类——》命名空间——》源文件——》项目——》解决方法 7.控制台的输出[20分钟] 7.1 控制台的输出实现讲解要点: 1. 引入:学生互动,如何通过百度查找资料?输入关键字,百度通过查找将查找信息输出出来,通过这个过程,我们可以知道,应用程序与用户之间交互一般使用输入和输出实现。目前,我们使用的控制台应用程序也可以实现输入和输出功能,接下来,将重点讲解如何向控制台输出信息。 2. 实现方式: Console.Write("控制字符串"); Console.WriteLine("控制字符串"); 两者的区别在于前者输出后不换行,而后者输出后换行 3. 案例 4. 经验:在编写代码时,可以在键入cw之后,连续两次按下tab键,快速生成代码“Console.WriteLine()”; 7.2 转义字符讲解要点: 1. 引入:Console.WriteLine()或Console.Write()除了可以将指定信息输出至字符串,还可以对输出信息进行格式控制,可以使用转义字符实现。 2. 常用转义字符: a) 空格:用于分割字符。 b) 制表符(\t):用于定位显示的数据,与Word中Tab键的文字定位效果类似。 c) 换行符(\n):用于实现在新的一行输出信息。 d) 其他转义字符:如单引号(\’)、双引号(\”)等。 重点掌握:制表符和换行符 3. 案例: 8.总结[5分钟]1、什么是流程图?流程图中包括哪些符号? 流程图是算法图形化的表示方式,由椭圆(表示开始或结束)、菱形(表示判断)、矩形(表示运算和处理)、平行四边形(表示输入输出)以及有向线段(表示流程线)等组成。 2、C#程序是如何进行代码组织和管理? 类——》命名空间——》源文件——》项目——》解决方案 3、在C#程序中,程序的入口方法是什么? 任何C#程序均从Main()方法开始运行,并在Main()方法中结束运行,需注意的是,C#中的Main()方法首字母必须大写,Main()方法的返回值可以是void或者int 类型,Main()方法可以没有参数。 4、控制台的输出如何实现?常用的转义字符有哪些? 在C#中,可以通过Console.Write(“控制字符串”)或Console.WriteLine(“控制字符串”)两种方式向控制台输出信息,两者的区别在于前者输出后不换行,而后者输出后换行。在控制字符串中,也可以使用转义字符用于对输出信息进行格式的控制,常用的转义字符是\n (换行符)和\t(制表符)。 9.学生问题汇总问题1: 答: 问题2: 答: 问题3: 答: 10.作业布置预习作业: 1、变量的使用 2、常用的数据类型。 复习作业: 1、教材课、4、5题 |
第五章 循环结构(一)
课程 章节 | 课程名:C#程序设计基础 章节名: 第五章 循环结构(一) | 课时安排: 4 课时 |
教学 目标 | 教学目标 | 技能点 |
使用循环结构解决实际问题 计算数字的阶层 计算学生的平均成绩 模拟用户登录 猜数字游戏 | while循环 深入理解while循环 do-while循环 深入理解do-while循环 | |
思政 目标 | 课程思政说明: | 详细介绍 |
1) 课程思政素材 2) 思政设计思路 | 1、首先要明确课程目标,通过讲解知识点中使用到的案例进行思政的渗透,通过输出信息时,输出我是中国人,台湾是中国不可分割的领土。 2、课堂上讲解C#知识点的同时,对于输出的信息的问题进行互动,点学生起来回答问题,说出输出内容,提高兴趣; | |
教学 重点 难点 | 教学重点难点: | 对应教学技巧 |
本章重点: while循环 do-while循环 本章难点: while循环和do-while循环应用
| 1) 3W1H:引入、是什么、在以后的工作中什么地方用、如何用 2) 现场操作:讲师、学生现场演示 3) 课堂设问和提问教学:与学生互动,点学生起来回答问题 | |
教学过程设计 |
整章授课思路 本章理论课授课目标: 1)while循环:了解什么是循环以及循环两个要素(循环条件和循环体),并掌握C#语言三种循环结构之一——while循环。 2)深入理解while循环: 通过实现数据统计、计算存款利率等案例,达到熟练掌握while循环应用的目的。 3)do-while循环:对比while循环,掌握C#语言中的另一种循环结构——do-while循环,并了解两个循环之间的区别。 4)深入理解do-while循环: 通过模拟ATM菜单选项、求各位数字之和等案例,达到熟练掌握do-while循环应用的目的。 1.回顾、预习检查、任务、目标[10分钟]1.1.预习检查提问:什么是循环?循环的两个要素分别是什么? 重复执行某些代码的程序处理过程称之为循环,循环的两个要素分别是:循环条件和循环体。循环条件用于表示循环的开始和结束;循环体用于表示重复执行的操作。 提问:C#语言中,存在哪些循环结构? while循环、do-while循环、for循环以及foreach循环 提问:while与do-while循环的语法结构中存在哪些关键字? while循环关键字:while do-while循环关键字:do、while 2.while循环[20分钟]2.1 循环简介讲解要点: 1. 引入:学生互动:编写C#程序,实现打印5行“Hello World!”。以目前所学习的技能可以解决,重复编写5行“Console.WriteLine("Hello World!");”代码,但这样的解决方式并不可取,为了简化程序代码,我们可以使用循环解决。 2. 生活中循环:打印20份试卷、滚动的车轮、操场上跑10圈等 3. 循环定义:反复执行某些代码的程序处理过程 4. 循环特点: a) 循环不是无休止进行的,满足一定条件时,循环才会继续,称之为“循环条件”,循环条件不满足时,循环将会终止。 b) 循环是反复执行相同类型的一系列操作,称为“循环操作”或“循环体”。 5. 举例: C#中循环结构的实现方式:while循环、do-while循环、for循环以及foreach循环。 2.2 while循环讲解要点: 1. 引入:C#中存在四种循环结构,接下来,我们首先来学习while循环。 2. 语法: 注意: a) while是C#语言中的关键字。 b) 循环条件通常是具有bool类型值的关系表达式或逻辑表达式。 c) 循环操作可以是一条简单语句,也可以是由多条语句构成的复合语句,当仅存在一条语句时,括号可以省略。 3. 执行流程: 先计算循环条件的结果,若为真,则循环条件成立,执行循环操作,重复上述过程,直到循环条件的结果为假时退出while循环,转而执行while循环之后的语句。 总结:先执行,后判断 注意:若循环条件开始即为假,则循环体一次也不执行 4. 案例: a)操场跑10圈 分析:在操场跑第一圈、跑第二圈、……跑第十圈,跑圈的过程可以视为一个循环。由于需要跑10圈,因此,需要循环十次,定义变量i,用于存储已跑的圈数,设置初始值为0。每次循环,将变量i累加1,并输出已跑圈数即可。 通过分析可得: 循环条件:i<10 循环操作: i++; Console.WriteLine("跑第"+i+"圈"); 具体代码: int i=0; while(i<10) { i++; Console.WriteLine("跑第"+i+"圈"); } 2.3 while循环的注意事项讲解要点: 1. 引入:通过以上案例,不难发现,使用循环不仅可以简化代码,还可以解决许多我们之前力所不能及的问题,但在使用循环结构时很容易出现一些问题。 2. 错误一:循环一次也不执行 原因:循环条件错误,应该为“i <= 5” 3. 错误二:循环执行次数错误 原因:希望执行5次,但实际执行4次,循环条件错误,应该为“i <= 5”,需要注意临界值 4. 错误三:死循环 原因:循环一直执行,不能停止,出现死循环,循环体中应存在影响循环条件的语句,添加代码“i++”
小结1. while循环的工作原理 先执行,后判断,若循环条件开始即为假,则循环体一次也不执行 2. 造成循环错误的可能原因 循环条件设置错误 循环条件临界值设置错误 循环体中无影响循环条件的语句 3.深入理解while循环[20分钟]3.1 使用while循环实现数字统计讲解要点: 1. 问题描述:在控制台中输入的一组整数,直到输入的数字为0为止,分别统计其中正整数和负整数的个数。 2. 分析:需要在控制台中多次重复的接收用户的输入的数字,所以可以使用循环结构实现。根据规则当输入的数字不为0时循环将继续,否则循环将终止,因此,循环条件是输入的数字不为0。接收数字之后需要分别统计正整数和负整数的个数,可定义两个计数器,若当前输入的数字大于0,则正整数计数器累加1,若当前输入的数字小于0,则负整数计数器累加1即可。 3. 分析结果: 循环条件:输入的数字不为0 循环操作: 接收当前输入的数字 若该数字大于0,则正整数计数器累加1 若该数字小于0,则负整数计数器累加1 4. 具体实现思路如下: 接收一个数字 while(输入的数字不为0) { 若该数字大于0,则正整数计数器累加1 若该数字小于0,则负整数计数器累加1 继续接收下一个数字 } 5. 具体代码如下:省略 3.2 使用while循环计算存款利息讲解要点: 1. 问题描述:本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。账户本金需要多少年可以超过12000。 2. 分析:每年都会将本金和利息相加作为下一年的本金,而且需要计算多次(每年一次),直到账户本金超过12000,因此,可以使用循环结构实现。根据规则,当账户本金超过12000时,则不需要继续计算循环结束,否则,则继续计算下一年的本金,计算规则:下一年账户本金 = 当前账户本金 + 当前账户本金 × 年利率。 3. 分析结果: 循环条件:账户本金 <= 12000 循环操作: 计算下一年账户本金 存款年份累加1 4. 具体代码如下:省略
小结1. 使用while循环结构解决问题的常用步骤: a) 分析循环条件和循环体 b) 套用while循环结构语法 检查循环是否能够正常退出 4.do-while循环[15分钟]4.1 do-while循环讲解要点: 1. 引入:在上一节中,我们已经可以学习了while循环结构,那是不是可以使用while循环结构解决实际的所有问题呢?答案肯定是不能,例如:猜数字游戏,在游戏中,我们首先要给出一个数字然后由主持人来判断是否猜对,如果猜的不对就继续进行,直到猜对为止,这种情况用while循环解决就不太合适了,这里先执行循环体在进行条件的判断,此时就要用到循环的第二种表现形式——do-while循环 2. 语法:
注意: a) do、while是C#语言中的关键字。 b) While(循环条件)之后的分号“;”不能省略。 c) 循环条件通常是具有bool类型值的关系表达式或逻辑表达式。 d) 循环操作可以是一条简单语句,也可以是由多条语句构成的复合语句,当仅存在一条语句时,括号可以省略。 3. 执行流程: 先执行一次循环操作,再计算循环条件的结果,若为真,则循环条件成立,执行循环操作,重复上述过程,直到循环条件的结果为假时退出do-while循环,转而执行do-while循环之后的语句。 总结:先判断,后执行 注意:若循环条件开始即为假,则循环体至少执行一次 4. 案例: a) 操场跑10圈 分析:省略 具体代码: int i=0; do { i++; Console.WriteLine("跑第"+i+"圈"); } while(i<10);
b) 计算1-100数字之和 分析:省略
4.2 while循环与do-while循环的区别讲解要点: 小结1. do-while循环工作原理 先判断,后执行,若循环条件开始即为假,则循环体至少执行一次 2. while循环与do-while区别 相同点:用于循环次数未知的情况 不同点:主要是执行顺序上,while循环先判断后执行,do-while循环先执行后判断。
5.深入理解do-while循环[20分钟]5.1 使用do-while循环模拟ATM机菜单项讲解要点: 1. 问题描述:在控制台中模拟ATM机菜单项的选择
2. 分析:用户需要多次选择不同菜单项,直到选择“退出”选项为止,可使用循环结构实现,而在用户选择菜单项的过程中,需要先显示菜单项列表,再由用户进行选择,最后判断是否退出,根据此业务流程,选择使用do-while循环实现更加适合。 3. 分析结果: 循环条件:用户选择的菜单项不是“退出” 循环操作: 显示菜单项列表 根据用户选择的菜单项,显示对应信息 4. 具体代码:省略
5.2 使用do-while循环求各位数之和讲解要点: 1. 问题描述:编写C#程序,输入一个数字(不限定位数),计算该数字的各位数字之和。 2. 分析:若要进行各位数字之和的计算,则需要利用运算符“/”和“%”将所输入数字的每一位进行分离。数字中各个位置上的数字分离过程如下: 例如:数字12345 分离个位:12345%10=5 分离十位:12345/10=1234 1234%10=4 分离百位:1234/10=123 123%10=3 分离千位:123/10=12 12%10=2 分离万位:12/10=1 1%10=1 由于所输入的数字不限定位数,需要继续分离:1/10=0,此时,结果为0,表示已不存在任何需要分离的数据,停止运算。 例如:数字397 分离个位:397%10=7; 分离十位:397/10=39 39%10=9 分离百位:39/10=3; 3%10=3; 由于所输入的数字不限定位数,需要继续分离:3/10=0,此时,结果为0,表示已不存在任何需要分离的数据,停止运算。 根据以上两个数字的分离过程,并不能发现其中蕴含的规律,可以将上述过程进行微调,具体流程如下: 例如:数字397 分离个位:397%10=3; 397/10=39 分离十位:39%10=9 39/10=3; 分离百位:3%10=3; 3/10=0 此时,结果为0,表示已不存在任何需要分离的数据,停止运算。 通过调整之后的流程,不难看出,每个位置上数字的分离过程都是一致的,不同位数的数据分离次数与数据的位数一致,也就是说,5位数需要进行5次数据的分离,3位数需要进行3次数据的分离,因此,可以通过循环结构实现。 3. 分析结果: 循环条件:需要分离的数字大于0 循环操作: 对需要分离的数字进行模运算,获取对应位置上的数字 对需要分离的数字进行除法运算 4. 具体代码:省略
8.总结[5分钟]1、什么是循环?循环的两个要素分别是什么? 重复执行某些代码的程序处理过程称之为循环,循环的两个要素分别是:循环条件和循环体。循环条件用于表示循环的开始和结束;循环体用于表示重复执行的操作。 2、while循环的工作原理? while 循环先计算循环条件的结果,若为真,则循环条件成立,执行循环操作,重复上述过程,直到循环条件的结果为假时退出 while 循环,转而执行while循环之后的语句。若循环条件开始即为假,则循环体一次也不执行。 3、do-while循环的工作原理? do-while 循环先执行―次循环操作,再计算循环条件的结果,若为真,则循环条件成立,执行循环操作,重复上述过程,直到循环条件的结果为假时退出 do-while循环,转而执行do-while 循环之后的语句。即使循环条件不成立,循环体也至少执行一次。 4、while循环与do-while循环的异同? 相同点:均用于解决循环问题,—般用于循环次数已知的场合。 不同点:主要体现在执行流程上,while循环先判断后执行,而do-while循环则是先执行后判断。
9.学生问题汇总问题1: 答: 问题2: 答: 问题3: 答:
10.作业布置预习作业: 1、 for循环 2、continue和break 复习作业: 1、教材课后任务,第3、4、5题 |
第八章 方法(一)
章节 | 课程名:C#程序设计基础 章节名: 第八章 方法(一) | 课时安排: 4 课时 |
教学 目标 | 教学目标 | 技能点 |
使用方法解决实际问题 定义方法实现数字查找 定义方法实现输出课程简介 定义方法找出能整除指定数字的所有数字 定义方法实现两个数字交换 | 方法概述 无参无返回值的方法 有参无返回值的方法 深入理解参数传递 | |
思政 目标 | 课程思政说明: | 详细介绍 |
1) 课程思政素材 2) 思政设计思路 | 1、首先要明确课程目标,通过讲解知识点中使用到的案例进行思政的渗透,通过输出信息时,输出我是中国人,台湾是中国不可分割的领土。 2、课堂上讲解C#知识点的同时,对于输出的信息的问题进行互动,点学生起来回答问题,说出输出内容,提高兴趣; | |
教学 重点 难点 | 教学重点难点: | 对应教学技巧 |
本章重点: 无参无返回值的方法 有参无返回值的方法
本章难点: 参数传递(值传递和引用传递) | 1) 3W1H:引入、是什么、在以后的工作中什么地方用、如何用 2) 现场操作:讲师、学生现场演示 3) 课堂设问和提问教学:与学生互动,点学生起来回答问题 | |
教学过程设计 |
本章理论课授课目标: 1)方法概述:讲解何为方法、方法的作用以及方法的分类(系统方法和自定义方法) 2)无参无返回值的方法:讲解最简单的一种方法:无参无返回值的方法,重点理解方法调用的执行过程 3)有参无返回值的方法:讲解有参无返回值的方法,可以提高方法的灵活性,重点理解参数传递的过程 4)深入理解参数传递:讲解参数传递的两种方式以及两种传值方式的区别 1.回顾、预习检查、任务、目标[5分钟]1.1.预习检查提问:列举之前学过的系统方法并说明其功能 Console.WriteLine():用于向控制台输出信息 Console.ReadLine():用于从控制台读入一行信息 int.Parse():用于将字符串类型转换为数值类型 提问:自定义方法定义的基本形式 访问修饰符 方绘值类型 方法名(形参列表){ 方法体; } 提问:参数传递的两种方式分别是什么? 在C#中,存在两种参数传递的方式:值传递和引用传递。默认为值传递用于将实参的值的副本传递给形参;引用传递用于将实参的值在内存中的地址传递给形参; 2.方法概述[15分钟]2.1 方法简介讲解要点: 1. 引入:小明睡觉前让妈妈讲故事,“从前有座山,山里有个庙……”,之后几天小明都让妈妈讲故事,“从前有座山,山里有个庙……”,妈妈觉得很累就想了一个办法,将故事录下来,下次小明睡觉前听故事就需要再讲一遍,直接播放录音即可。同理,在程序中,有些代码可能会在程序中多次使用,每次用到时都写一遍,不利于程序维护,我们也可以将这些代码封装起来,并给这段代码设置一个名称,当需要时直接调用即可,而不需要重写编写一遍,这种用于封装具有特定功能代码段的方式,我们称之为方法。 2. 方法:具有特定功能的代码段 3. C#程序构成:由一个主方法和若干个子方法构成 a) 主方法控制程序执行整体流程 b) 子方法则用于实现对应的功能模块 4. 使用场合: a) 重复出现相同或相似的代码,从中抽取出共同的部分,定义为方法,提供代码重用性,减少代码冗余 b) 程序中具有逻辑独立性的代码,即使该段代码只出现一次,也可以定义为方法,模块化的程序设计方法,程序结构更加清晰
2.2 方法的分类讲解要点: 1. 引入:在之前的示例中,我们已经接触了很多方法,如Main方法、控制台的输入输出方法等,在C#语言中,按照方法定义方式的不同,可以将其分为两种:系统方法和自定义方法。 2. 系统方法: a) 定义:有系统定义的方法 b) 调用:此类方法无需定义,直接调用即可 c) 案例:获取最高成绩和最低成绩,调用系统方法Array.Sort()对数组元素进行升序排序,第一个元素即为最低成绩,最后一个元素即为最高成绩。
3. 自定义方法: a) 定义:根据需求自定义的方法 b) 使用:先定义后调用 c) 案例:自定义方法实现获取两个数之间的最大值
2.3 自定义方法的简介讲解要点: 1. 引入:在C#中,自定义方法必须遵循先定义后使用的原则,接下来,我们先了解一下,自定义的方法定义和调用通用格式。 2. 自定义方法的定义的通用格式 访问修饰符 返回值类型 方法名(形式参数列表) { 方法体; } a) 说明: 1) 访问修饰符:用于设置函数可访问的范围,现阶段通常使用public,表示无任何访问限制。 2) 返回值类型:返回值的数据类型,C#中所有类型均可,若不存在返回值为void 3) 方法名:即方法的名称,用于调用方法 4) 参数列表:用于在调用方法时,向方法传递数据 5) 方法体:即方法的实现部分,其中可以包含任意行代码 b) 注意: 1) 目前为了在主方法中调用方便,使用static关键字修饰方法。 2) 方法必须定义在类的内部,其他方法体之外 3. 自定义方法的调用的通用格式 数据类型 变量名 = 方法名(实际参数列表); 4. 自定义方法的分类: a) 无参无返回值的方法 b) 有参有返回值的方法 c) 无参有返回值的方法 d) 有参有返回值的方法
小结1. 方法的作用? 模块化的程序设计,让程序结构更加清晰 一次定义多次调用,有效减少代码冗余 2. 方法分类以及使用? 系统方法:C#类库中已定义的方法,无需定义直接使用 自定义方法:根据需求自定义的方法,先定义后调用 3. 自定义方法定义的基本形式 访问修饰符、返回值类型、方法名、参数列表、{}、方法体 3.无参无返回值的方法 [25分钟]3.1 无参无返回值的方法的定义和调用讲解要点: 1. 引入:以上我们了解自定义方法的定义和调用,接下来,我们从形式最为简单的方法——无参无返回值方法开始学习。 2. 无参无返回值的方法定义和调用 定义: 访问修饰符 void 方法名() { 方法体; } 调用:方法名(); 3. 案例: 编写C#程序,输出5次“Hello World!”,要求定义函数实现信息的输出
3.2 方法调用的过程讲解要点: 1. 引入:从刚才的案例的输出结果可以看出,程序执行过程有别于之前的程序,当程序中存在方法调用时,程序执行的过程将发生改变,接下来,我们探究一下方法调用时程序的执行过程。 2. 方法调用时过程:先执行主调方法,当执行至方法调用时,将转到被调方法执行,执行完毕,再返回至主调方法,主调方法将继续向下执行。 3. 注意: a) 主方法不能在程序中被其他方法调用,但可以调用其他方法。 b) 未被调用的方法,在程序运行的过程中,将不会被执行。 c) 方法不能嵌套定义,但可以嵌套调用 4. 方法的嵌套调用 a) 案例: b) 分析: 小结1. 无参无返回值方法的定义和调用语法格式? 定义: 访问修饰符 void 方法名() { 方法体; } 调用:方法名(); 2. 方法调用时程序的执行过程 先执行主调方法,当执行至方法调用时,将转到被调方法执行,执行完毕,再返回至主调方法,主调方法将继续向下执行。 4.有参无返回值的方法 [25分钟]4.1 有参无返回值的方法的定义和调用讲解要点: 1. 引入:无参数无返回值的方法是形式最为简单的一种方法,但是功能上存在很大的局限性,若要实现更加灵活的功能,可以为方法提供参数,这样会大大提升方法的灵活性。 2. 有参无返回值方法的定义和调用 定义: 访问修饰符 void 方法名(形参列表) { 方法体; } 调用: 方法名(实参列表); 3. 案例:实现按指定次数输出指定信息。要求信息的输出定义方法实现。
4.2 参数传递的过程讲解要点: 1. 引入:从刚才的案例的输出结果可以看出,在被调方法中输出的信息以及输出的次数和主调方法中所接收用户输入的数据完全一致。说明在调用方法时,主调方法可以向被调方法传递数据,而数据的传递是通过方法的参数实现的。 2. 参数分类:形式参数和实际参数 a) 形式参数:出现在方法定义中,在整个方法内部有效 b) 实际参数:出现在主调方法中,其作用是将实参的值传递给被调方法的形参 3. 参数传递过程:简单来说就是一个赋值过程,将实际参数按照顺序逐一赋值给形式参数的过程。 4. 注意:要实现正确的参数传递,形参列表与实参列表在参数的个数、类型以及顺序上必须一一对应。 小结1. 有参无返回值方法的定义和调用语法格式? 定义: 访问修饰符 void 方法名(形参列表) { 方法体; } 调用:方法名(实参列表); 2. 方法调用时参数传递的过程和意义? 参数传递的过程:将实际参数按照顺序逐一赋值给对应的形式参数 参数传递的意义:将数据从主调方法传递至被调方法的一种方式
5.深入理解参数传递 [15分钟]5.1 值传递和引用传递讲解要点: 1. 引入:在C#中,可以通过参数提高方法的灵活性,从而实现更为通用的方法,实际上,在C#中,存在两种参数传递的方式:值传递和引用传递。 2. 值传递和引用传递 a) 值传递:C#语言中默认的参数传递方式,是指在方法调用时将实参的值的副本传递给形参,此时,形参和实参指代两个不同值。 b) 引用传递:需要使用ref关键字实现,是指在方法调用时将实参在内存中的地址传递给形参,此时,形参和实参指代同一个值。 c) 解释:朋友找你借剪刀,你可以将自己的剪刀借给他,在朋友使用过程把剪刀弄坏了,那你自己也没有用剪刀了;你也可以买一个和自己一样的剪刀借给他,在朋友使用过程把剪刀弄坏了,你仍然可以使用自己的剪刀。第一种方式就是引用传递,第二种方式就是值传递。 3. 值传递案例: 分析: 引用传递案例: 分析: 注意:在使用方法参数进行引用传递时,形参和实参都必须显式地使用ref关键字 4. 综合案例
小结1. 参数传递的两种方式以及之间区别? 在C#中,存在两种参数传递的方式:值传递和引用传递。C#语言中默认的参数传递方式,是指在方法调用时将实参的值的副本传递给形参,此时,形参和实参指代两个不同值。引用传递是指在方法调用时将实参在内存中的地址传递给形参,此时,形参和实参指代同一个值。 2. 参数传递的两种方式如何选择? 在被调方法中需要对参数进行修改且需要将修改的结果在主调方法中体现时,建议使用引用传递,否则,建议使用值传递。
8.总结[5分钟]1、在C#中,按照方法定义方式不同,分为哪些类型以及如何使用? 在C#中,按照方法定义方式的不同,可以将其分为两种:系统方法和自定义方法。由系统定义的方法,称为系统方法,此类方法在程序中无需定义,直接调用即可。根据功能需求由用户自定义的方法,称为自定义方法,自定义方法必须先定义后调用。 2、在C#中,自定义方法有哪些部分构成? 自定义方法由方法签名和方法体组成,方法签名包括访问修饰符、返回值类型、方法名以及参数列表;方法体指具体实现的代码,必须使用一对括号“0”括起来。 3、在C#中,当程序中存在方法调用时,程序执行的过程将如何执行? 先执行主调方法,当执行至方法调用时,将转到被调方法执行,执行完毕,再返回至主调方法,主调方法将继续向下执行。 4、在C#中,在调用方法时,参数之间如何进行数据的传递? 方法参数是主调方法与被调方法进行数据传递的主要渠道,方法的参数分为形式参数和实际参数两种。参数传递的过程其实就是一个赋值的过程,在被调方法执行之前将实际参数列表中每一个参数赋值给对应的形式参数,类似于变量之间的赋值。
9.学生问题汇总问题1: 答: 问题2: 答: 问题3: 答:
10.作业布置预习作业: 1. 有参有返回值方法的定义和调用 2. 变量的作用域 3. 数组作为参数的使用 复习作业: 1、教材课后任务,第3、4、5题 |
第一章 初识Java
课程 章节 | 课程名:Java程序设计基础 章节名: 第一章 初识Java | 课时安排: 4 课时 |
教学 目标 | 教学目标 | 技能点 |
1、 程序的概念与流程图 2、 安装和配置JDK 3、 理解Java程序结构 4、 Eclipse介绍 | 1、 实现学生成绩等级输出的算法流程图 2、 配置JDK环境 3、 使用记事本编写Java程序并添加注释 4、 使用Eclipse编写Java程序 | |
思政 目标 | 课程思政说明: | 详细介绍 |
1) 课程思政素材 2) 思政设计思路 | 1、首先要明确课程目标,通过讲解知识点中使用到的案例进行思政的渗透,通过输出信息时,输出我是中国人,台湾是中国不可分割的领土。 2、课堂上讲解Java的时候提出科技兴国,而程序则是科技中不可缺少的一部分,很多优秀的软件都是使用程序开发,生活中很多软件和我们息息相关,帮助我们解决了各种问题,如疫情防控、超时收银、网上就医办事、社区管理等等,我们也要通过努力学习将来为国家做出贡献; | |
教学 重点 难点 | 教学重点难点: | 对应教学技巧 |
1)本章重点: 理解程序的概念 安装配置Jdk 开发运行第一个Java程序 2)本章难点: 安装配置Jdk 开发运行第一个Java程序 | 1) 3W1H:引入、是什么、在以后的工作中什么地方用、如何用 2) 现场操作:讲师、学生现场演示 3) 课堂设问和提问教学:与学生互动,点学生起来回答问题 | |
教学过程设计 | ||
整章授课思路 本章依次讲解四个问题: 1) 程序的概念与流程图: 重点讲解计算机程序的概念和一样,流程图了解即可 2) 安装和配置JDK: 讲解Jdk的下载、安装、配置步骤,让学生明白Jdk是什么 3) 理解Java程序结构。 重点讲解编写main方法,编译和运行的过程,其中编译运行了解即可 4) Eclipse介绍。 讲解eclipse工具如何使用,创建项目,创建包(文件夹),创建类,编写main方法,以及运行 1.课程定位、就业技能、课程目标介绍[3分钟] 各位同学们大家好,在前面我们学习了Html这门课程,通过学习这门课程我们能够实现网页的设计,虽然刚开始学习的时候比较困难,那是因为我们对单词的熟练度不够,其实随着学习的深入大家发现,Html其实就是一个搭积木的过程,每个积木代表不同的含义,我们根据积木不同的特点搭建出我们需要的效果。但是同学们发现没有,Html它没有一定的逻辑性,也就是说它是完全静态的一个页面,和我们平时看到的能够和用户进行交互的软件还具有很大的差距,那是为什么呢?就是因为它不是真正意义上的程序,也就说明我们还需要不断的学习新的技能,才能够达到真正的软件开发水平,相信同学们也一定非常的期待。那么从今天开始我们讲进入一门全新课程的学习,那就是《Java程序设计基础》这门课,Java是我们真正意义上学习编程的第一门课程,在我们整个第一阶段占据着非常重要的地位,它为我们后续Java核心课程奠定了基础,可以这么说,如果你想将来有份工资非常高并且值得炫耀的工作,那么你的机会来了,只要学好Java,将来的你一定能够实现自己的梦想。那么这门课程到底有哪些内容呢,下面我们一起来快速看看本门课程各个章节的内容: 本门课程一共包含10个章节内容,其中123章节是程序相关的基础概念,它包含了对程序的理解,如何创建程序能够运行,还有程序中的数据如何存储和计算,它的特点是从上往下运行;然后456几个章节呢就是让我们的程序具有一定的判断、循环等功能,游戏里面就拥有大量的判断,循环等操作,也就是程序设计中的判断和循环结构,在具体学习的时候我会给大家详细介绍;789以及第10个章节则是Java程序的核心设计层面的内容,难度呢也随之提高,所以大家也要特别的用心和努力;没门课程都有容易的地方,也都有难点的地方,同学们在书的目录上也做好记录,前面123几个章节相对比较容易,而难点章节在于:4、5、6、8、9、10几个章节上面,第7章它要写的东西不多,但是需要去理解的内容较多,所以同学们需要在简单内容上面打好基础,难点章节上面多去练习和理解,这样才能掌握好这门课程的内容。总之通过本门课程的学习,同学们会为我们编程设计打好一个良好的基础,为我们后续做一个优秀的软件提供支撑,学习过程中固然是有难度的,靠的就是坚持不懈,也请同学们相信,在我的带领下,我会把一切难点都变的非常容易理解,同时也需要同学们自己的配合,不能我一个人在前面冲,大家在后面挂机,那能学好吗?同学们有没有信心!
2.课程项目展示[3分钟] 展示本门课程综合项目,进行简单介绍,并且强调目前我们没有学习到做界面,这么课程是程序设计的基本功,就像练功时扎马步一样,等我们基本功打好以后,下一门Java课程我们就陆续开始学习界面,到那个时候我们就可以做出带界面的软件,还可以带回家给父母、亲人、朋友们展示我们自己开发的软件!
3.回顾、预习检查、任务、目标[4分钟] 3.1.预习检查 提问:什么是程序,你知道哪些编程语言? 程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 提问:电脑想要开发Java程序,需要安装什么环境? Jdk 提问:Java开发程序的步骤是什么? 1) 编写源代码 2) 编译 3) 运行 根据回答情况进行鼓励和简单总结,强调预习和观看moot的重要性,并且公示moot观看结果,进行批评和表扬。 4. 程序的概念与流程图 [20分钟] 4.1 程序的概念 讲解要点:生活中的程序 1. 程序一词来源于生活,在生活中,我们经常会听到“按照程序办事”,此处的“程序”通常指为进行某项活动或事件所规定的方式和过程。 2. 生活中同学们都做过火车,请问坐火车的完整程序是什么?【提问】 回答的非常好,看来同学们对生活中坐火车的程序都非常情况,那么请问能不能不买票直接坐车?显然是不行的,这就是违背了程序的步骤。所以说程序它是按照一定的要求进行每一步的操作的过程,现在我们知道了生活中的程序,那么什么是计算机中的程序呢?【过渡】 3. 计算机中的程序: 程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。说通俗一点就是我们(程序员)通过编写特定的指令让计算机按我们的步骤去执行某个操作的过程,同学们这个时候肯定有疑问了,我们怎么编写指令让计算机去执行呢?难道我们乱说一气它也能听懂嘛,显然不行的,而这些我们编写的指令也有不同的种类,比如Java、C#、C++等等,不同的编程语言写法上也略有差异,但是整体的思想都是一致的。 4.2.算法 讲解要点: 1、为什么需要算法: 人在按程序做事的时候也有很多种不同的途径,只要能够完成这个任务,比如买票(网上、车站、请人代买等)都可以,同样我们在编写程序让电脑实现某个功能的时候,也可以采用不同的指令,举例: 学校组织3名老师和50名学生去动物园参观,动物园收费标准为成人票10元,学生票5元,团体票(10人或以上)6元,怎样买票最划算? 解决方案如下: 3名老师购买成人票,50名学生购买团体票,需要花费3×10+50×6=330(元) 学生和老师都购买团体票,需要花费53×6=318(元) 3 名老师和7名学生购买团体票,43名学生购买学生票,需要花费10×6+43×5=275(元) 同学们可以发现不同的方法可以让我们出的钱数目是不同的,我完全可以采用最优的方法去买票,而这写计算的过程我统称为“算法”,所以: 算法:解决问题的具体方法和步骤 那么算法在计算机中如何表达更为专业和直观呢【过渡】 4.3. 流程图 讲解要点: 1、算法的常用表示方法有两种:使用自然语言描述算法和使用流程图描述算法。 1.举例: (1)电灯不工作了。 (2)电源接好了吗?如果没接好,就接好电源。 (3)如果电源接好了,就检查灯泡是否正常。 (4)如果灯泡不正常则更换灯泡。 (5)算法结束。 从上面的过程来看,有开始和结束,还有判断那么如何表示呢?
从图形来看更加直观,但是图形能乱画嘛?显然不行,流程图有其规范和标准: 流程图是算法的一种图形化表示方式。 流程图直观、清晰,更有利于人们设计与理解算法。 它使用一组预定义的符号来说明如何执行特定任务。 现在我们知道了流程图中的各个图形代表什么意思,那么在电脑中使用什么工具绘制呢?其实绘制流程图没有严格意义上的软件,使用word、ps、visio都可以绘制,当然如果说非要说一个专业的工具,一般来说使用微软office中的visio即可。 课堂案例:“编写计算长方形面积的算法并绘制对应的流程图” 讲解长方形面积计算的流程图绘制和总结。 通过刚才的讲解我们知道了程序就是想计算机发送一系列指令,从而控制计算机为我们实现特定功能的过程,那么如何发送指令呢?这些指令又如何去写出来呢?下面就让我们一起来看看Java这么编程语言【过渡】
5. 配置JDK环境 [15分钟] 5.1 Java 语言简介 思路:结合PPT上内容介绍Java的发展历程,应用范畴等。 5.2 Java语言优势 思路:介绍Java语言的应用领域,也可以结合百度搜索最新编程语言排名,提升Java的知名度,哪些知名软件是采用Java开发的,Java主要的用途在哪些地方,提升地位。 5.3 Jdk概述 如何让电脑能够认识Java编写的指令呢?刚买回来的电脑能运行java指令吗,肯定是不行的,那么如何让电脑能够识别到Java指令呢?这就需要电脑提前安装好Java的运行环境,就是Jdk(就像我买了艘船,能在陆地上开吗,肯定是要有它行驶的环境才行): 开发 Java 程序首先要安装 JDK(Java Development Kit),JDK 是 Java 语言的软件开发工具包 在JDK中包含两个主要的工具,分别是Java 解释器,Java 编译器。 如何去下载安装Jdk呢?下面我们一起来看看【过渡】 5.4 Jdk安装配置 讲解思路: 1)下载Jdk(官网下载) 2)安装Jdk 3)配置环境变量(环境变量的目的即让计算机更好的识别到我们安装的Java环境) 4)测试Java环境是否成功 实践任务: Jdk的安装和配置、测试
6. Java程序结构[25分钟] 6.1 Java程序结构和Main方法 1、结合PPT讲解Java程序的结构,强调main方法是入口方法,一般一个项目只能有一个入口,且写法,单词大小写严格: 6.2 Java程序开发的步骤 1)编写源代码(使用记事本编写Java指令,目的是控制电脑做事) 2)编译(把Java指令翻译为电脑能够识别的指令) 3)运行(让电脑运行Java指令的功能做事) 6.3 Java程序中的注释 1)强调注释的作用意义,规范度 2)强调注释的两种写法(单行、多行),注释不参与程序的运行过程 3)强调注释在企业级开发中的必要性 课堂案例(演示): 使用记事本编写程序、编译、运行,查看结果 实践任务 “使用记事本编写 Java 程序,输出“大家好!我的梦想是做一名 Java 高级工程师!”。” 7. Eclipse介绍[20分钟] 7.1.Eclipse介绍 讲解要点: 1、 引入为什么需要eclipse(记事本写指令代码太麻烦,单词写错额不知道,格式也不好控制),eclipse是Java领域非常出名的一款免费IED(开发工具),可以帮助我们快速高效且准确的开发Java程序,简单介绍如何安装。 注意:安装eclipse之前一定要先安装配置好Jdk(机房都是已安装配置好的),现在我们知道了使用eclipse可以快速开发Java程序,那么下面我们一起来看看如何使用eclipse进行指令编写(过渡) 7.2.使用Eclipse开发Java程序 1、使用Eclipse开发Java项目步骤如下 1)创建Java项目。 2)创建并编写 Java 源程序。 3)编译 Java 源程序。 4)运行 Java 程序。 2、介绍eclipse中的常用视图作用 7.3 eclipse开发示例演示 实践任务: 使用eclipse开发王者荣耀游戏主菜单。 实现思路: 1)在 eclipse 中创建项目及Java类。 2)在项目中添加 Java 类WzryGame 。 3)在 WzryGame 类的 main 函数中添加代码。 4)选中eclipse窗口中“WzryGame.java”类文件,选中“Run” “Run As” “Java Application”。 今天我们第一章的内容到这里就结束了,第一章内容相对比较简单,发现同学们完成的都比较快,但是也有同学速度上仍然跟不上,主要原因还是单词不熟,同学们一定要注意下去把整本书单词进行记忆和熟练敲出来,我已经把整本书单词都整理为一个文档,大家下去进行背诵,只有这样才能在后面的课程中不会被单词问题影响学习效率,最后我们一起总结一下今天第一章的内容: 8.总结[5分钟] 1)程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。 2)Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 3)JDK全称是Java Development Kit,译为Java开发工具包,JDK是整个Java的核心,包括Java运行环境、Java工具和Java基础类库。JDK是开发任何类型Java应用程序的基础。 4)每一个程序有且只能有一个main方法。 5)编译Java源程序不需要手工操作,如果程序没有错误,Eclipse可以实现自动编译;如果有错误,Eclipse会给出相应的错误提示,修改正确后会自动完成编译。 9.学生问题汇总 问题1:main方法编写错误找不到运行选项? 问题2:输出语句单词大小写错误导致无法运行? 10.作业布置 预习作业: 1、 预习第二章变量 2、 有电脑的同学在自己电脑上安装好Jdk和Eclipse(软件在班级群中提前放入,安装步骤也同步放入) 复习作业: 1) 巩固本章main方法和输出语句 2) 背诵整理的单词 |
第五章 循环机构
课程 章节 | 课程名:Java程序设计基础 章节名: 第五章 循环机构 | 课时安排: 4 课时 |
教学 目标 | 教学目标 | 技能点 |
1、 循环结构的理解 2、 深入理解while循环 3、 do-while循环 4、 深入理解do-while循环 | 1、 While循环操作 2、 Do-while循环操作 | |
思政 目标 | 课程思政说明: | 详细介绍 |
1) 课程思政素材 2) 思政设计思路 | 1、为中华崛起而刻苦努力读书学好专业课只是,目标开发一款便民服务软件,学习过程中固然会遇到很多困难,遇到困难就解决一个,再遇到再解决一个,直到开发一款成功软件为止,这就是循环的一个过程。
| |
教学 重点 难点 | 教学重点难点: | 对应教学技巧 |
1)本章重点: 理解循环概念 While循环 2)本章难点: While循环的掌握 Do-while循环的掌握 | 1) 3W1H:引入、是什么、在以后的工作中什么地方用、如何用 2) 现场操作:讲师、学生现场演示 3) 课堂设问和提问教学:与学生互动,点学生起来回答问题 | |
教学过程设计 | ||
整章授课思路 本章依次讲解四个问题: 1) 循环的概念: 主要让学生理解透彻什么是循环,循环的特点,然后引申出while循环的语法 2) 深入理解while循环: 通过几个案例让学生理解while循环的写法 学生开始掌握循环比较困难,使用模板的方式让学生学会去套模板写出循环,如: 1》 有次数的循环,while如何写(从1累加到100) int i = 0; while(i<10){ //循环操作 i++; } 2》 不明确次数,但是有条件控制的循环,while如何写(从键盘输入某个值,进行处理,直到不满足条件为止) String choice = 键盘输入初始值; while(choice.equals("y")){ //循环操作 choice = 键盘重新输入值; } 3) 理解do-while循环。 讲解do-while循环的语法和特点,执行过程 4) 深入理解do-while循环。 讲解while和do-while的区别,以案例或者生活化案例方式对比教学完成 1. 回顾[2分钟] 各位同学们大家好,在上一章我们学习了条件结构,也明确知道了条件结构可以用来解决程序中的判断问题,比如登录时的判断、网上购物时的判断、余额不足时的判断等等,它都会根据判断的结果不同而执行不同的代码块,下面有请同学回答几个问题【建议提问】(点学习成绩或者上机时容易出现问题的学生回答): 1) 条件判断结构中条件的结果必须是什么类型? 2) Java中有哪几种条件结构? 根据回答情况进行鼓励和总结,强调程序执行的要点。 下面我们正式开始新一个章节内容的学习,就是循环结构,它同样是程序执行处理过程中非常重要的一个结构: 2. 本章课程目标及重难点介绍[1分钟] 本章节我们要学习的目标包括: 1)循环结构的概念(重点) 2)深入理解while循环(重点) 3)do-while循环(难点) 4)深入理解do-while循环(难点)
3.预习检查 [2分钟] 3.1.预习检查 提问:什么是循环结构? 重复执行某个代码块的操作成为循环结构 提问:Java中有几种循环结构? while、do-while、for 根据回答情况进行鼓励和简单总结,强调预习和观看moot的重要性,并且公示moot观看结果,进行批评和表扬。 4. 循环的概念和while循环 [25分钟] 4.1 循环的概念 讲解要点:循环的概念和特点 1. Why:为什么需要循环 我们首先来通过一个案例来看看为什么需要循环,艾边成同学为表达对女朋友的爱,要对她说100遍“亲爱的,我爱你一万年!” 有同学说这还不简单,第一章我就能做了,写100遍我爱你嘛,确实很简单,复制几次就行了,现在女朋友说爱的不够深,不够真,要说一万遍,这可怎么办?难道我要把同一行代码复制一万遍嘛?程序的魅力是很大的,显然是不需要的,接下来我们来看一段代码【引出while循环】 2. What:为什么是循环以及特点 通过这段代码,同学们会发现,很简单的几行就能让程序重复一万遍,那现在如果女朋友让我爱100万遍,请问同学们我改哪个地方可以快速达到效果呢? 同学们可以发现:循环结构就是重复的去执行某个操作(一块代码)的结构 那么它是不是无休止的去运行呢?显然不是,如果无休止运行那么则是死循环,是没有意义的,一定要避免死循环(这里老师告诉大家一个秘密,如果你想通过程序让别人电脑卡顿甚至死机,其实可以通过死循环去实现),那么循环结构有哪些特点,我们一起来分析: 1) 有重复执行的操作(循环体) 2) 有循环控制变量及初始值 3) 有循环控制的条件判断(循环条件) 4) 有循环控制变量的改变(循环条件的改变) Java中到底有几种循环呢?快速介绍三种:while、do-while、for 3.Where:当程序需要去重复执行某个操作的时候,就可以使用循环 4.How:下面我们就详细来看看while循环到底如何实现 4.2 while循环 讲解要点: 1)语法 结合PPT介绍while循环的语法及注意的关键点 2)流程图 结合PPT讲解while循环的执行流程,强调条件不成立时一次都不会执行 3) 案例演示1 结合PPT上案例讲解使用Java程序复印36份试卷 4) 案例演示2 结合PPT上的案例2讲解使用Java实现1到100之间整数和 4.3 While循环注意事项 讲解要点: 1、结合PPT以提问方式讲解循环过程中写法不当会造成的结果 使用循环不仅可以简化代码,还可以解决许多我们之前力所不能及的问题,但在使用循环结构时很容易出现一些问题。 错误一:循环一次也不执行 错误二:循环执行次数错误 错误三:死循环 小结:所以我们要合理的使用循环,同时也要把循环的结构控制好,否则就会造成意想不到的结果,刚才我们所完成的循环结构都是明确次数的循环,那么遇到不明确次数的时候如何解决呢?下面我们一起来看看使用while循环实现不明确次数的循环结构:【过渡】 5. 深入理解while循环[15分钟] 5.1 案例1 思路:结合PPT上案例讲解不明确次数时的while循环写法控制。 使用对比教学法,对比上一小节的while写法,即将数字换成字符或字符串即可,整个过程原理其实是一致,形成对比模板: String choice = 键盘输入初始值; while(choice.equals("y")){ //循环操作 choice = 键盘重新输入值; } 5.2 案例2 思路:结合上一个案例总结的模板,实现“本金10000 元存入银行,年利率是千分之三,每过1 年,将本金和利息相加作为新的本金。账户本金需要多少年可以超过12000 元”案例,分析案例,分析出循环条件,分析出循环操作,完成案例。 5.3 案例3 思路:完成案例“王者荣耀游戏中,己方队员为5人。通过输入每个队员的推塔数统计出最多的推塔数”,分析出循环条件,循环体等内容,完成案例。
实践任务: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。
现在我们知道了如何使用while循环实现Java中的循环操作,除了while循环刚才我们介绍的时候提到还有do-while循环,其实do-while循环和while循环很相似,下面我们一起来看看Java中的do-while循环如何实现【过渡】 6. do-while循环[25分钟] 6.1 do-while循环语法 思路:结合PPT讲解do-while循环和while循环的语法和区别 6.2 do-while循环的使用 思路:结合do-while循环的语法讲解案例实现 分析出循环条件、循环操作、循环变量如何改变完成案例 6.3 while循环和do-while循环的区别 思路:该PPT作为小结使用即可,将while循环和do-while循环进行对比,强调有些循环使用while和do-while都能实现相同的操作,只要能将功能实现,选择哪一种循环都是可以的。 实践任务 编写Java程序,实现用户登录验证。 若用户名与密码输入正确,则提示“登录成功,欢迎回来!”,若用户名与密码不匹配,则提示“用户名和密码不匹配,请重新输入!”,直到输入正确的用户名和密码为止。
7. 深入理解do-while循环[20分钟] 7.1 案例1 思路:根据问题描述,在控制台中模拟ATM机菜单项的选择,带领学生分析循环条件、循环操作以及如何改变循环条件变量的值,进而带领学生完成案例。 7.2 案例2 思路:结合PPT案例,带领学生分析题目中的意思,然后完成案例。
实践任务: 实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字 实现思路: 要求用户从控制台输入数字,若输入的数字比随机数小,则输出“太小了,再大一点!”;若输入的数字比随机数大,则输出“太大了,再小一点!”,若输入的数字与随机数相同,则输出“恭喜你猜对了!”。游戏过程中用户需要多次输入所猜数字,直到猜中为止。
今天我们第五章的内容到这里就结束了,通过本章节内容同学们知道了Java中循环结构是用于处理程序中重复执行的某个操作,而循环最关键的地方就是如何将循环控制好,而不能让其死循环,Java中的循环有while、do-while循环,还有下一章要学习的for三种,刚开始接触循环结构的时候肯定会觉得有些难点,这个是正常的,你觉得难,别人也会觉得难,这个时候机会就来了,你只要攻克这个难点,你就超越了其他同学,而掌握循环唯一的方法就是理解或多去练习,慢慢就融会贯通,最后我们快速总结一下今天的内容: 8.总结[5分钟] 1)循环结构由循环条件和循环操作构成,只要满足循环条件,循环操作就会重复执行。 2)使用循环解决问题的步骤为:分析循环条件和循环操作,套用循环结构的语法,检查循环能否退出。 3)编写循环结构代码时要注意,循环变量的初值和结束条件,确保循环次数正确;检查循环条件能否使循环结束,避免出现死循环。 4)while循环结构的特点是先判断,后执行循环体。do-while循环的特点是先执行循环体,然后判断循环条件。 9.学生问题汇总 问题1:死循环的问题? 问题2:循环次数有问题? 10.作业布置 预习作业: 1、 通过moot预习for循环的写法 复习作业: 1) 巩固本章内容 2) 完成课后练习题和老师布置的扩展练习
|
第八章 方法
课程 章节 | 课程名:Java程序设计基础 章节名:第八章 方法 | 课时安排: 4 课时 |
教学 目标 | 教学目标 | 技能点 |
1、 方法的概述 2、 无参数无返回值方法 3、 有参数无返回值方法 4、 成员变量和局部变量 | 1、 无参数无返回值方法 2、 有参数无返回值方法 3、 成员变量和局部变量 | |
思政 目标 | 课程思政说明: | 详细介绍 |
1) 课程思政素材 2) 思政设计思路 | 1、社会的繁荣发展离不开坚守在各行各业中兢兢业业的工作人员,不同岗位有着不同的职责,我们在需要的时候就可以随时随地按照流程要求去办理事项,而他们所处理这个事情就好比程序中的一个方法,我们在让他们办理事情的时候,就好比调用对象里面的这个方法,而他们要求我们提交的内容则好比方法需要接收的参数,办理完毕给我们的结果就好比调用方法返回的结果一样。
| |
教学 重点 难点 | 教学重点难点: | 对应教学技巧 |
1)本章重点: 理解方法的概念 方法的声明 方法的调用 2)本章难点: 方法的声明 方法的调用 | 1) 3W1H:引入、是什么、在以后的工作中什么地方用、如何用 2) 现场操作:讲师、学生现场演示 3) 课堂设问和提问教学:与学生互动,点学生起来回答问题 | |
教学过程设计 | ||
整章授课思路 本章依次讲解四个问题: 1) 方法的概念: 主要让学生理解什么是方法,大白话即是:将我们前6章所学的内容按照特定的功能要求组合在一起起个名字(压缩打包),然后需要用的时候直接使用这个名字就能完成特定的功能。 2) 无参数无返回值方法: 无参无返回值即让方法去完成某个事情,做完无需给反馈,仅去执行做事即可。 3) 有参数无返回值方法: 有参数无返回值,即让方法去执行某个功能的时候,方法需要我们传递N个参数进去,做完也无需反馈,好比我们命令某个人去打扫卫生,要告诉他扫哪里(传递给方法的参数),他去打扫即可,无需告诉我结果。 4) 成员变量和局部变量。 让学生理解写在类中方法外的即成员变量(全局有效),写在方法中的称为局部变量,作用域仅在方法中有效,方法执行完毕自动释放,不能跨方法使用。 1. 回顾[2分钟] 各位同学们大家好,在上一章我们学习了类和对象,初步了解了Java是一门面向对象的编程语言,实际上就是模板和模板创造出来具体实物的关系,类好比是模板,而对象则是模板建造出来具体使用的,每个对象都具有模板中的一些属性,但是各个对象确可以赋予不同的值,代码量不大,但是理解起来需要一些时间,同学们只要会创建类和对象,这一章的内容可以说就理解了。 1)对象是具体的实体,具有特征(属性)和行为(方法)。 2)类是具有相同属性和共同行为的一组对象的集合,对象或实体所拥有的特征在类中称为属性,对象执行的操作称为类的方法 3)类是抽象的,对象是具体的。 4)Java中的数据类型主要分为基本数据类型与引用类型。 5)引用类型对象的创建需要调用构造方法。
下面我们正式开始第八章内容的学习,首先我们还是看下第八章我们将学习哪些知识点: 2. 本章课程目标及重难点介绍[1分钟] 本章节我们要学习的目标包括: 1)方法概述(重点) 2)无参数无返回值方法(重点、难点) 3)有参数无返回值方法(重点、难点) 4)成员变量和局部变量(重点)
3.预习检查 [2分钟] 3.1.预习检查 提问:根据你预习的理解,请问什么是方法? 方法是一个具有名称且执行特定功能的代码块 提问:方法有哪几种分类? 无参无返回值 无参有返回值 有参无返回值 有参有返回值 根据回答情况进行鼓励和简单总结,强调预习和观看moot的重要性,并且公示moot观看结果,进行批评和表扬。 4. 方法的概念理解 [25分钟] 4.1方法概述 讲解要点:方法的概念理解 1. Why:为什么需要方法 我们首先来通过一个案例来看看为什么需要方法,假如我们现在需要开发一个大型软件,有很多人参与共同开发,其中有一个加密的功能,而这个功能很多人都会用到,如果每个人每次需要的时候都去写一遍可以实现,但是好像不是那么方便高效,那么怎么做才更好(抛出疑问)。 能不能写成一个公用的大家都能用,并且如果需要改变是不是只需要改一个地方呢(此处可以通过画图来直观描述),如: 小结:从这个图大家可以看出来,如果把某个功能打包(封装)成一个方法,起个名字,大家都调用是不是更方便呢?这就是方法。 【引出方法概念】 2. What:方法就具有名称的特定功能的代码块 那么方法有哪些特点,我们一起来分析: 1) 有名字(方法名) 2) 有参数(调用的时候传入方法的值) 3) 有返回值(方法执行完毕返回给调用者的值) 4) 有方法体(实现功能的具体代码过程) 3.Where:当需要将功能块封装成一个单元时就可以使用方法 一个软件的开发过程,就是若干个方法相互调用的过程,我们前面学习的main方法其实就是一个特殊的方法: 4.How:下面我们就看看如何自定义方法 4.2 方法的分类 讲解要点: 方法从定义方式不同可以分为: 1) 系统方法(官方写的,我们直接调用) 2) 自定义方法(自己定义方法,自己调用) 4.3 自定义方法简介 讲解要点: 1、结合PPT讲解方法声明的语法 1)访问修饰符:该方法允许被调用的范围,目前不关注,固定public 2)返回值类型:该方法执行完毕后给调用者返回什么样的数据,如不返回则写void代表空 3)方法名:被调用时候的名称(采用驼峰命名法,讲解语法规则) 4)参数列表:调用者可以传递给方法的参数,多个使用逗号分隔 2、演示方法定义 下面我们通过一个案例来看看如何定义一个方法 “定义两个数相加的方法” 结合PPT讲解两个数相加的方法 3、方法的调用 我们已经声明了一个方法了,那么如何去调用一个定义好的方法呢?下面我们一起来看看: 1) 方法在其定义的类中被调用 方法名(参数); 2) 方法在其他类中被调用 对象名.方法名(参数); 说明:通俗的将就是,同一个类中肯定互相认识,直接使用方法名即可,不同类(不同文件)需要创建对象后才能调用。 演示方法的调用 4、 方法按功能分类 按参数不同分为: 1)有参的方法 2)无参的方法 按返回值不同分为: 1)有返回值的方法 2)无返回值的方法 学生实践: 编写 Java 程序,让用户输入指定数字实现产生随机数。运行效。
小结:现在我们已经大概了解了方法的定义和调用过程,也知道了方法具有四种不同的分类,下面我们一起来看看每种不同类型方法具体的定义和使用过程【过渡】 5. 无参数无返回值方法[20分钟] 5.1 无参无返回值方法语法 思路:结合PPT上语法讲解无参无返回值方法的定义和调用的语法过程。
5.2 无参数无返回值案例 思路:结合语法进行案例方法的声明和调用 输出 5次“Hello World!”,要求定义方法实现信息的输出 public void showMsg() { for (int i = 0; i < 5; i++) { System.out.println("Hello World!"); } } 演示方法声明、调用 结合PPT上总结方法执行过程 强调方法定义过程中容易出现的问题: 1) 不能嵌套定义,方法之间平级关系 2) 方法只能声明一个返回值,不能多个,如果无返回值则必须写void 3) 方法名必须符合变量命名且规范 4) 方法必须使用{}花括号括起来
实践任务: 编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表。
现在我们知道了如何定义无参数无返回值的方法,那么如何定义有参数无返回值的方法呢,下面我们一起来看【过渡】 6. 有参数无返回值方法定义和调用 [25分钟] 6.1 有参数无返回值的方法介绍 思路:结合PPT讲解有参数和无参数方法的区别 无参数无返回值的方法是形式最为简单的一种方法,但是功能上存在很大的局限性,若要实现更加灵活的功能,可以为方法提供参数,这样会大大提升方法的灵活性。
6.2 有参数无返回值方法语法 思路:结合PPT讲解有参数无返回值方法定义的语法和调用的语法 分析出和无参数、无返回值方法的区别,强调不一样的地方 6.3 有参数无返回值方法案例 1)思路:结合PPT演示有参数无返回值方法的定义过程 2)演示有参数无返回值调用时如何传参,再次强调和无参数方法调用时的区别 3)结合PPT讲解有参数无返回值方法调用时执行的过程 注意:要实现正确的参数传递,形参列表与实参列表在参数的个数、类型以及顺序上必须一一对应。 实践任务 定义一个计算器类, 实现计算器类中加、 减、 乘、 除的运算方法, 每个方法能够接收2个参数。
现在我们知道了无参数和有参数方法的定义以及调用,同学们会发现,在类中可以定义变量,在方法中也可以定义变量,甚至方法参数也可以声明变量,那么如果名称一样的时候到底使用哪一个呢?下面我们一起来看看类中关于变量的解释【过渡】 7. 成员变量和局部变量[20分钟] 7.1成员变量与局部变量介绍 思路:先讲解在类中位置不同的两种变量,分别是成员变量(属性,方法外声明的)和局部变量(方法内声明的) 结合PPT上的图形说明使用范围。
7.2 成员变量 思路:结合PPT案例,讲解和演示成员变量的声明和使用过程。 案例演示和总结
7.3 局部变量 思路:结合PPT案例,讲解和演示局部变量的分类、声明和使用过程。 案例演示和总结 强调:如果一个类中成员变量和局部变量同名,在局部变量作用域范围内访问变量会出现什么结果呢? 通过PPT上案例解释 实践任务: 编写Java程序,在控制台中输入一个数字,要求定义方法实现找出能够整除该数字的所有数字。
今天我们第八章的内容到这里就结束了,通过本章节内容同学们掌握了方法的分类,以及各个分类下方法定义和调用,其实整个过程没有太多的新内容,细心的同学们会发现大部分的代码其实还是前面六个章节的代码,只不过在本章节是把前面的代码进行组合起来(方法),然后起了个名字,所以大家要对这种模式上的变化理解,按照分类去套,去完成课后的练习,慢慢熟练就行了。其实在学习方法过程中还有一个最重要的问题是,声明一个方法的时候我怎么知道什么时候要参数,什么时候不要,以及什么时候要返回值,什么时候不要返回值,目前大家刚开始接触方法,只需要按照书上的要求完成即可,在外面不断熟练和学习,这些疑问会逐步慢慢解开,最后让我们快速总结一下今天的内容: 8.总结[5分钟] 1)定义方法要确定访问修饰符、返回类型、方法名和参数列表。 2)方法的参数分为形参与实参,形参是方法定义时在参数列表中声明的参数,实参是调用方法时传给形参的值。 3)类中的变量分为成员变量和局部变量,成员变量是类的属性,局部变量是指在方法中或方法语句块中定义的变量。 4)成员变量与局部变量的作用域不同,成员变量能在类的所有方法中使用,局部变量只能在声明它的方法中或声明它的语句块中使用。 9.学生问题汇总 问题1:无参数无返回值方法声明? 问题2:有参数无返回值的方法声明? 10.作业布置 预习作业: 1、 通过moot预习有返回值方法的定义和调用 复习作业: 1) 巩固本章内容 2) 完成课后练习题和老师布置的扩展练习
|