版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3页共4页XXXXXXXXX学院教案 TIANFUCOLLEGEOFSWUFE第1页共1页XXXXXXXXXXX学院教案(2026年春季学期)课程名称:面向对象程序课程设计课程学时:16授课年级:2025级任课教师:XXXXXXXXXXX学院教务处
XXXXXXXXX学院教案 XXXXXXXXXXXX第2页共5页课程英文名称Object-orientedprogrammingcurriculumdesign课程代码COM1304A课程类型综合实践考核方式考查成绩构成终结性考核课程设计100%教材和参考书目书目类型书目名称作者出版社及出版时间课程教材Java基础案例教程高玲玲、范佳伟、罗丹、郭进电子工业出版社,2020年03月参考书目Java从入门到精通(第6版)Java程序设计教程(第3版)Java基础案例教程明日科技林巧民黑马程序员清华大学出版社,2021清华大学出版社,2022人民邮电出版社,2017授课时间13-16周课程组负责人审核教案符合/符合教学大纲的要求,教学方式和课程内容合理,教学过程安排适当,能达到设定的教学目标,便于衡量课程目标是否达成,教学总结有助于持续改进。课程负责人审核(手写签名):2026年7月14日
XXXXXXXXXX学院教案 XXXXXXXXXXX第2页共5页教案编号:13教学单元第十章Java文件读写操作10.110.2课时数4教学单元性质实践授课方式讨论+实践支撑的课程目标1.课程目标1(支撑毕业要求3.2):通过小型应用系统设计与实现,使学生掌握软件开发的流程和技能,包括问题分析、系统设计、程序编码、测试。2.课程目标2(支撑毕业要求3.3):通过小型应用系统设计与实现,培养学生创新意识,能够在软件系统设计过程中优化方案。教学目标1.同学们应具备流类的基本概念和相关知识,培养逻辑思维能力2.同学们应该掌握字节i/o流,字符i/o流,标准i/o流相关程序设计,锻炼程序设计能力3.同学们应该掌握文件操作和代码实现,达到分析问题和解决问题的能力4.同学们应具备file类的相关知识,培养自主学习的能力教学重点1.文件操作以及相关程序设计教学难点1.文件操作以及相关程序设计时间分配教学过程MIN58590一、同学们在平台上查询本周的学习和任务安排二、案例10-1遍历文件夹下特定格式的文件1.案例描述:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件格式的文件名。2.关联知识:讲授或者在线学习I/O流概述I/O流在计算机中表示输入与输出,是计算机中最基本的操作。比如通过键盘输入数据,通过鼠标单击输入信息,通过打印机打印文字等Java中的I/O流操作主要是指使用Java进行输入,输出操作Java的I/O流提供了读写数据的标准方法Java中任何表示数据源的对象都会提供以数据流的方式读写它的数据的方法File类java.io.File类是文件名和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作File类是一个与系统无关的类,任何操作系统都可以使用这个类中的方法Java约定使用UNIX和URL风格的“/”作为路径分隔符,也可以使用“\”作为路径分隔符,但是在Java中单个反斜杠“\”代表转义字符,所以在使用“\”作为路径分隔符时,要写两个反斜杠“\\”绝对路径和相对路径绝对路径是一个完整的路径,它是以盘符开头的路径,如D:\java\Workspace\Demo10_1\Demo10_1.java相对路径是一个简化的路径,相对指的是相对于当前项目的根目录D:\java\Workspace\Demo10_1,路径可以简化书写为Demo10_1.javaJava中路径是不区分大小写ava中的路径可以以文件结尾,也可以以文件夹(也就是目录)结尾File类判断功能File类创建删除功能文件遍历3.案例分析:课堂讨论创建多级文件夹使用哪个方法publicString[]list()方法和publicFile[]listFiles()方法是否会遍历隐藏文件和隐藏文件夹4.案例实现:课堂翻转,老师演示或者学生展示5.案例小结:I/O流的概念;File类构造方法和常用方法6.案例拓展:在本案例中使用publicFile[]listFiles()方法遍历File目录中的所有子文件,思考使用publicString[]list()方法实现功能三、案例10-2遍历文件夹下特定格式的文件1.案例描述:现有一个文件a.txt,将文件中的内容全部复制到b.txt中2.关联知识:讲授或者在线学习字节流流概述:字节流是指在传输过程中,传输数据的最基本单位是字节的流字节输出流:java.io.OutputStream抽象类表示字节输出流的所有类的超类,它定义了字节输出流的基本共性功能方法OutputStream是抽象类,无法实例化,需要通过它的实现子类来创建对象文件输出流FileOutputStream是OutputStream的子类OutputStream抽象类主要方法FileOutputStream类构造方法在创建FileOutputStream对象时,在构造方法中如果不存在传递的文件,则会在该路径下创建文件,并写入数据;如果存在传递文件,则直接写入数据。但如果传递的路径不存在,则会抛出异常,同时流的使用会占用一定的内存,在使用完流后要通过调用close()方法将资源释放如果要在文件中写入字符串,则需要先将字符串通过getBytes方法转换为字符数组后再写入。如果要在文件中追加写入数据,则需要使用publicFileOutputStream(Filefile,booleanappend)或者publicFileOutputStream(Stringname,booleanappend)构造方法,方法的第二参数为true则表示创建对象不会覆盖源文件,继续在文件的末尾追加写入数据;第二个参数为false则表示创建一个新文件并覆盖源文件3.案例分析:课堂讨论文件复制的步骤应有哪些4.案例实现:课堂翻转,老师演示或者学生展示5.案例小结:字节输出流、字节输入流;字节缓冲流、字符缓冲流6.案例拓展:本案例是通过字节输入流和字节输出流来完成文件的复制的,同时为了提高读写的效率,使用了字节缓冲流。字节流的实现子类有很多个,在本案例中只讲解了FileInputStream类和FileOutputStream类,其他子类同学们可以课下学习,尝试练习四、课程思政通过文件读写学习,培养学生遵守规则,学会遵守社会公德。通过文件管理的学习,培养学生要学会保存资料,学会资源共享等。文件存储方式以及效率,培养学生节约和环保的意识。作业布置1.平台第十三周测试作业课后反思针对课程设计进行了文件读写的讲解,同学们完成情况较好,能够实现对文件读写操作,并且大部分同学都能够解决乱码问题,为课程设计奠定基础
教案编号:14教学单元第十章JavaGUI程序设计11.111.211.311.411.5课时数4教学单元性质实践授课方式讨论+实践支撑的课程目标1.课程目标1(支撑毕业要求3.2):通过小型应用系统设计与实现,使学生掌握软件开发的流程和技能,包括问题分析、系统设计、程序编码、测试。2.课程目标2(支撑毕业要求3.3):通过小型应用系统设计与实现,培养学生创新意识,能够在软件系统设计过程中优化方案。教学目标1.同学们应具备GUI的基本概念,培养逻辑思维能力2.同学们应该掌握awt常用控件的使用和API文档查询,以及代码实现,培养自我学习能力以及程序设计能力3.同学们应该掌握swing常用控件的使用和API文档查询,以及代码实现,培养自我学习能力以及程序设计能力4.同学们完成相关GUI的项目程序设计和代码实现,锻炼程序设计能力,以及分析问题和解问题能力教学重点1.awt中的相关控件的使用2.swing中相关控件的使用教学难点1.awt中的相关控件的使用2.swing中相关控件的使用时间分配教学过程MIN52020202590一、同学们在平台上查询本周的学习和任务安排二、案例11-1第一个GUI程序1.案例描述:通过第一个JavaGUI的应用程序设计,对JavaGUI的基础知识进行了解和学习;对JavaGUI的组件和容器进行了解,对JavaGUI的基本开发环境进行掌握;实现第一个JavaGUI的应用程序,界面只有一个Frame,简单实现对Frame的窗体属性的修改以及代码的实现。2.关联知识:讲授或者在线学习JavaGUI基础知识AWT和Swing的结构JavaWindowBuilder插件setBounds(intx,inty,intwidth,intheight)设置窗体位置以及大小setSize(intwidth,intheight)设置Frame窗体的大小,width和height是宽度和高度。setLocation(intx,inty)设置Frame窗体的位置,xy分别是Frame在窗口中的左上角位置。setBackground(Colorc)设置Frame窗体的背景色,c为Color对象。setVisible(booleanb)设置窗体是否可见。setTitle(Stringname)设置窗体的标题文本。setReszieable(Booleanb)设置窗体是否可以改变大小。3.案例分析:课堂讨论图形用户界面的开发过程中涉及属性修改属性修改以及API的调用4.案例实现:课堂翻转,老师演示或者学生展示单击“窗体”,然后在属性窗口找到“title”,添加标题“我的第一个窗体”。基于WindowBuilder的可视化操作可以立即查看效果,并且单击“Source”切换到代码模式,可以看到自动添加的代码如下。单击“runas”“JavaApplication”,可以看到运行结果contentPane.setBackground(newColor(255,0,0));5.案例小结:AWT和Swing对比,控件的学习方法,GUI程序设计流程6.案例拓展:基于可视化的界面设计方式既可以通过在属性窗口修改对应控件的属性,又可以切换到代码设计模式在代码窗口添加相应的API函数进行修改,在学习的过程中二者都需要进行掌握。思考如何在当前的界面添加一个button按钮。三、案例11-2点击不到的按钮1.案例描述:在Frame的界面上有一个按钮,当鼠标正要移动到按钮去点击该按钮的时候,按钮就随机移动离开鼠标的位置,每次当鼠标要移动到该按钮单击的时候都发生随机移动,但是按钮移动不会超出界面的范围2.关联知识:讲授或者在线学习JavaGUI布局管理器JavaGUI事件监听处理机制:事件:用户对组件的一个操作例如鼠标单击,键盘按下,或程序执行某个动作,称之为事件。事件源:发生事件的组件就是事件源,也就是被监听的对象,例如单击按钮,按钮就是事件源。事件监听器(处理器):监听并负责处理事件的方法,如果被监听的事件触发就需要处理相应的方式,例如按钮被单击,系统执行退出的方法。Button:Button()构造一个标签字符串为空的按钮。Button(String
label)构造一个带指定标签的按钮。getLabel()获取此按钮的标签。SetLabel(String
label)将按钮的标签设置为指定的字符串。3.案例分析:课堂讨论需要添加的事件;如何实现按钮的移动;;如何实现按钮的随机移动;移动的范围如何确定4.案例实现:课堂翻转,老师演示或者学生展示btnNewButton.addMouseMotionListener(newMouseMotionAdapter(){@OverridepublicvoidmouseMoved(MouseEventarg0){intx=(int)(Math.random()*(getWidth()- btnNewButton.getWidth()));inty=(int)(Math.random()*(getHeight()-btnNewButton.getHeight()));btnNewButton.setLocation(x,y);}});5.案例小结:布局管理器,监听机制和事件6.案例拓展:在工程中添加一个新的控件,案例会在类的构造函数中自动生成该控件的构造函数的代码,例如本案例添加的按钮,自动生成代码,但是这个btnNewButton对象作为局部变量的作用域只在构造函数中有效,可以将此对象申明放到类的下面作为成员变量使用,把该对象看作是类的一个成员,这样访问的时候更加方便灵活。四、案例11-3简单加法器1.案例描述:设计一个简单的加法运算器,实现对两个数的输入,单击后可以实现加法运算;通过本案例学习新的控件包括Label的使用和TextField的使用;掌握好软件代码的规范和完整,保证代码无异常能够进行测试2.关联知识:讲授或者在线学习LableLabel()构造一个空标签。Label(String
text)使用指定的文本字符串构造一个新的标签,其文本对齐方式为左对齐。Label(String
text,int
alignment)构造一个显示指定的文本字符串的新标签,其文本对齐方式为指定的方式getText()获取此标签的文本。setText(String
text)将此标签的文本设置为指定的文本。TextFieldTextField()构造新文本字段。TextField(int
columns)构造具有指定列数的新空文本字段。TextField(String
text)构造使用指定文本初始化的新文本字段。setText(String
t)将此文本组件显示的文本设置为指定文本。getColumns()获取此文本字段中的列数。StringgetText()返回此文本组件表示的文本。3.案例分析:课堂讨论如何实现加法运算,添加什么事件计算过程中如果有非法的输入怎么处理4.案例实现:课堂翻转,老师演示或者学生展示btnNewButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){doublea=Double.valueOf(textField.getText());doubleb=Double.valueOf(textField_1.getText());lblNewLabel_1.setText(String.valueOf(a+b));}});5.案例小结:Label控件,TextField控件,异常处理6.案例拓展:案例代码是存在异常的,当输入的数据存在非法字符时,程序将报异常,因此需要在测试后对代码进行异常的处理。btnNewButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){try{doublea=Double.valueOf(textField.getText());doubleb=Double.valueOf(textField_1.getText());lblNewLabel_1.setText(String.valueOf(a+b));}catch(Exceptione){lblNewLabel_1.setText("输入字符有误");}}});五、案例11-4三原色配色1.案例描述:设计一个简单的红绿蓝三元色调色,利用三个Scrollbar的滚动实现对红绿蓝以及混合色的调整;每种单色RGB颜色值可以从0~255的范围内进行调整,基于三原色可以搭配出其他更多的色彩;Scrollbar可以实现平滑的移动,颜色调整更加方便。2.关联知识:讲授或者在线学习ScrollbarAPIgetValue()获取此滚动条的当前值。setValue(int
newValue)将此滚动条的值设置为指定值。setMaximum(int
newMaximum)设置此滚动条的最大值。setMinimum(int
newMinimum)设置此滚动条的最小值。setOrientation(int
orientation)设置此滚动条的方向。3.案例分析:课堂讨论单颜色的值的范围?设置和调整Scrollbar的最大值和最小值范围一致如何颜色的单独控制,需要用到Scrollbar的什么事件触发如何颜色的组合控制,如何进行颜色的设定4.案例实现:课堂翻转,老师演示或者学生展示textField.setBackground(newColor(scrollBar.getValue(),0,0));textField_1.setBackground(newColor(0,scrollBar_1.getValue(),0));textField_2.setBackground(newColor(0,0,scrollBar_2.getValue()));textField_3.setBackground(newColor(scrollBar.getValue(),scrollBar_1.getValue(),scrollBar_2.getValue()));5.案例小结:Scorllbar的用途和常用API;Color类;API的重要性6.案例拓展:本案例中当前只是显示了颜色,并且没有显示其值的大小,思考如何在文本框后面添加TextField或者Label进行颜色值的显示lblNewLabel.setText(String.valueOf(scrollBar.getValue()));六、案例11-5新书排行榜1.案例描述:在文本框中输入一本书名和一个排行,单击添加按钮可以将书添加到指定位置,排除出现异常的情况;实现选中已有的一本书,单击删除按钮可以将该书删除,排除出现异常的情况,也可以清空;选中一本书单击向上或向下,可以将一本书的位置进行交换,排除出现异常的情况2.关联知识:讲授或者在线学习List构造函数List()创建新的滚动列表。List(int
rows)创建一个用指定可视行数初始化的新滚动列表。List(int
rows,boolean
multipleMode)创建一个初始化为显示指定行数的新滚动列表List常用APIadd(String
item)add(String
item,int
index)getItem(int
index)getItemCount()getSelectedIndex()getSelectedItem()isIndexSelected(int
index)remove(int
position)remove(String
item)removeAll()select(int
index)3.案例分析:课堂讨论如何实现添加新书功能——add;如何实现删除新书功能——remove;如何实现清空新书功能——removeAll;如何实现上移下移功能——getselectIndex+getSelectedItem+remove+add4.案例实现:课堂翻转,老师演示或者学生展示5.案例小结:List控件;GUI程序设计流程;JDKAPI查询6.案例拓展:在本案例中有上移和下移功能,但是在右边的文本框中,及时显示当前的移动后的数据,如何添加代码,实现与右边添加数据时文本框的显示联动。六、课程思政通过界面的设计学习,培养同学们自学能力和自我总结和归纳的能力通过界面的插件安装学习,培养同学们开拓精神,不要墨守成规作业布置1.平台第十四周测试作业课后反思GUI程序设计前进行了环境的搭建和演示,同学们完成情况良好,通过几个案例的讲解和演示,同学们掌握了控件学习的基本方法和开发步骤,通过API查阅的方式结合AI提升等进行界面设计
教案编号:15教学单元课程设计讲解和demo演示课时数4教学单元性质实践授课方式项目设计+答辩支撑的课程目标1.课程目标1(支撑毕业要求3.2):通过小型应用系统设计与实现,使学生掌握软件开发的流程和技能,包括问题分析、系统设计、程序编码、测试。2.课程目标2(支撑毕业要求3.3):通过小型应用系统设计与实现,培养学生创新意识,能够在软件系统设计过程中优化方案。3.课程目标3(支撑毕业要求10.1):能够根据小型应用系统开发流程,完成需求分析,系统功能设计,程序流程设计及测试报告撰写,并且完成答辩,培养学生表达和沟通能力。教学目标1.讲解课程设计要求和内容2.简要分析项目demo的设计流程3.核心功能部门代码演示分析教学重点1.期末项目中的难点问题解决教学难点2.期末项目中的难点问题解决时间分配教学过程MIN452025303030课程设计要求讲解1.课程设计题目:自拟,需要与课程设计指导老师确定2.需求分析:根据需求分析进行功能的梳理,形成相关文档3.概要设计:根据需求完成功能分析主程序的流程,并划分各功能模块、完成各程序模块之间的层次关系设计4.详细设计——界面设计:前台采用JSP或者GUI图形用户界面技术,要求采用JSP技术采用表单控件对页面进行合理布局,或者采用GUI的方式进行界面设计和布局,界面大方美观。5.详细设计——数据保存设计:数据保存采用文件形式,或者数据库形式,数据库采用ACCESS或者SQLServer或者MYSQL或者ORACLE,根据需求分析进行数据保存进行设计6.详细设计——业务开发:根据需求分析梳理业务功能,结合所学知识及技术进行业务的开发和实现,根据提取的功能部分,实现对数据库数据的读取或者文件数据读取(必须实现),可以在界面进行显示;实现数据的录入,届面数据填写后可以添加进数据库或者写入文件(必须实现);实现对数据的查询(选其一实现),并且完成相应的业务流程和业务逻辑。7.提交方式:18周,上课时间以及课后时间,提交方式:以自己的姓名和学号命名文件夹(例如:41908888_XX),文件夹里面包含三个子文件夹(java程序,数据文件,文档)分别将自己设计的代码整个工程放到“java程序文件”夹,将自己建的数据文件放到“数据文件”夹,将撰写的文档放入“文档”文件夹;然后压缩成压缩文件命名方式(41908888_XX.rar),答辩完成修改后,提交给每位任课老师。二、Demo程序设计演示1.设计流程讲解2.设计功能分析3.界面设计演示4.代码设计演示5.程序调试演示三、课程思政通过课程设计培养同学们创新和创业的意识培养同学们的团队协作能力培养同学们诚信的优良品质作业布置期末项目设计和答辩,根据本学期的内容,结合GUI和数据库进行项目设计,制作一个有意义的调查表项目,不能与上课案例相同,基本功能实现数据的录入,添加,删除和查询,上课进行项目答辩课后反思课程设计的创新创意也非常重要,课堂上演示了结合文件读写和GUI的小系统,给同学们分析了一些创意,要求大家开拓思路,结合AI等做一些有意义的小软件或者小系统。
教案编号:16教学单元课程设计和答辩课时数4教学单元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年高一跨学科素养拓展元旦联欢小游戏教案
- 共青团政治题目及答案
- 《新朋友心起点》-七年级心理健康教育主题班会教学设计(2025-2026学年)
- 筑梦青春·强国有我-初中班团队活动《梦想你好》教学设计
- 筑梦丙午蓄力前行-初中九年级期末总结暨寒假备考主题班会教案
- 2026届初中地理中考备考教案:识“汛”而动你我同行-基于“防灾减灾”主题的跨学科融合教学设计
- 2025年广西高考思想政治真题(新高考Ⅱ卷)含答案详解
- 2026年钳工理论考试模拟题
- 2026年飞行员理论考试模拟题库
- 护理安全跨专业团队协作
- GB/Z 177.2-2026人工智能终端智能化分级第2部分:总体要求
- 2026年广东东莞市初二学业水平地理生物会考试题题库(答案+解析)
- 新生儿呼吸窘迫综合征应急预案演练脚本
- 2026中级消防设施操作员《基础知识》记忆口诀
- 物流配送司机奖惩制度
- 反兴奋剂知识试题及答案
- 公路工程施工突发环境污染事件应急预案
- 卫生事业管理学重点题库含答案
- 工程公司临建工程审批和验收管理办法
- 尿素项目可行性研究报告
- GB/T 3920-2008纺织品色牢度试验耐摩擦色牢度
评论
0/150
提交评论