java程序设计课程(精选8篇)
课程名称:面向对象程序设计JAVA 适用专业:计算机及计算机相关专业
学时数:20(上机实验)学 分: 1 配套教材:《JAVA语言与面向对象程序设计》印旻 编著 清华大学出版社 大纲编写者:周斌 编写日期:2008.2
一、课程设计目的
1、课程设计的教学任务是让学生通过动手动脑解决实际问题,是学生学完课程后进行 的一次全面的综合训练,是一个非常重要的教学环节,通过课程设计,使学生经受一次综合动用所学知识,解决实际问题的方法。
2、使学生掌握使用各种计算机资料和有关参考资料,提高学生的基本设计能力。
3、培养学生理论联系实际和独立思考的能力,并激发学生的实际开发创造的意识和能力。
二、课程设计要求
1、利用JAVA进行应用程序的设计。
2、必须熟悉课程设计的各项内容和要求,明确课程设计的目的、方法和步骤;
3、设计中必须独立地地完成每一阶段的设计任务,禁止抄袭他人的设计成果;
4、所设计的程序必须满足实际使用要求,编译出可执行的程序。
5、要求程序结构简单,功能齐全,使用方便。
三、课程设计内容
课程设计题目:
1、已知银行整存整取存款不同期限的年息利率分别为: 0.63% 期限一年
0.66% 期限二年
年息利率= 0.69% 期限三年 0.75% 期限五年
0.84% 期限八年
要求输入存钱的本金和期限,求到期时能从银行的到的利息与本金的合计。
程序如下:
import java.io.*;public class myWork1 { public static void main(String args[]){ try { int m,n;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.print(“请输入金额: ”);m=Integer.parseInt(br.readLine());System.out.print(“请输入年限: ”);n=Integer.parseInt(br.readLine());System.out.println();switch(n){ case 1: System.out.println(“得到的总额为 ”+m*(1+n*0.0063));break;case 2: System.out.println(“得到的总额为 ”+m*(1+0.0066*n));break;case 3: System.out.println(“得到的总额为 ”+m*(1+0.0069*n));break;case 5: System.out.println(“得到的总额为 ”+m*(1+0.0075*n));break;case 8: System.out.println(“得到的总额为 ”+m*(1+0.0084*n));break;} } catch(IOException e){ System.out.println(e);} } } 截图如下:
2、输入n值,打印边长为n的空心正六边形,其边由“*”组成。
3、编写一个类,这个类同时求出n个学生成绩的最高分、最低分、平均分以及超过平均分的人数,并编写主类完成:(1)输入n个学生的成绩;(2)调用此类进行统计;(3)输出统计结果。
4、编程实现实时动态运行的模拟时钟。以下题目选做:
5、编程实现约瑟夫问题。8个人站成一圈,从第1个人开始报数,报到5的人出圈,第6个人再从1开始报。依次类推,求出圈的序列。
6、编程实现俄罗斯方块游戏。
说明:可以自行选择其他设计题目
四、编写课程设计报告书
课程设计报告书要求:
1、文字叙述清楚,结构结构简洁明了,理论正确,程序功能完备。
2、设计说明书要求文字工整,书写整齐。
3、附参考资料名称说明。
4、课程设计报告主要内容: 1)题目 2)问题需求分析 3)总体设计 4)详细设计
5)测试数据和调试报告 6)小结
五、成绩评定方式
关键词:java,任务驱动
一、引言
《Java语言程序设计》是高校计算机专业一门基础课程, 在网络时代的今天, 掌握Java语言对于计算机专业学生来说, 尤为重要。学习JAVA语言, 不仅是学会一门编程语言, 更重要的是掌握面向对象的编程思想。Java语言入门看似简单, 但在实际的教学中, 却发现学生存在着很多问题。针对这种情况, 笔者总结了一些教学经验, 对存在的问题和解决的方法进行一些探讨。
二、教学现状和存在的问题
1、难以建立面向对象的编程思想
在学习Java语言之前, 绝大多数学生都完成了C语言的课程。由于受C语言的面向过程编程的影响, 对面向对象编程不容易接受, 解决问题的方法, 仍是沿用面向过程的思想。
2、基础概念太多, 互相穿插, 难以理解。
Java作为面向对象编程语言的典型代表, 已经成为众多计算机专业的首选编程类课程。各种教科书中, 除了Java语言本身特点的介绍, 还介绍了很多面向对象的共有特性。这些内容一定程度上加大了Java课程的难度。初次接触面向对象语言的学生, 往往会被这些内容搞得晕头转向, 更别说编写正确的程序了。
3、庞大的Java类库, 让学生望而却步。
功能强大且庞大的Java类库, 虽然使得开发Java程序更方便了。但无疑在一定程度上使得Java的学习难度更大了。
4、课时安排过少, 教学内容难以吸收。
由于专科性质, 课程教学学时压缩, Java课程一学期基本在70学时以内就结束, 加之上机课时过少, 对于学生来说, 往往讲过的内容很快就忘了。
5、
教学中, 往往偏重Java知识点的讲解, 而忽略知识“面”的培养。学生难以对所学的知识融会贯通。
三、教学探索
1、学习Java, 相比于细节上的编程, 本人认为建立面向对象的立体思维更重要。
C语言是面向过程的, 而Java是面向对象的。这两者之间的差别绝非一个class能解释清楚。很多学生学了很久的Java, 还是习惯于面向过程的思维方式, 要首先帮助学生养成面向对象的思考方式, 尽可能的忘记那些面向过程的解决问题的方式。用抽象来代替具体的解决方案, 用接口来替代面向过程中的函数。比如, 说到两个数相加, 学生往往会马上动手编写一个add函数, 这时, 老师就要纠正, 可以用一个接口operator, 内含若干个抽象的运算方法。只有在思维正确的基础上, 才能开展更有效的教学。
2、
针对基础概念过多难以掌握的情况, 笔者认为, 应该先抓主线, 先帮助学生建立一个比较清晰的思路, 比如, 用典型的“hello, world”程序让学生理解类—对象—程序这种JAVA程序设计的模式。多用一些形象化的例子, 使学生理解比较抽象的内容。比如谈到继承, 可以用一个father类表示父亲, 父亲有一个成员money, 被儿子类son继承, 而son类中也有自己的money成员, 通过比较, 使学生较快理解继承的概念。
3、对于庞大的Java类库的学习, 笔者认为应该鼓励学生学会自学。
虽然Java自带了一个API文档, 但几乎没有教科书对其进行详细的介绍, 实际上, 这也是不可能的。授人以鱼, 不如授人以渔。教师在课堂上要有目的的引导学生多查API文档, 每次碰到一个新类, 先查API文档, 了解其成员变量和方法, 学习其用法。让学生养成查阅API文档的习惯。
4、Java本身所包含的概念比较多, 在谈论到某些内容时, 容易让学生有囫囵吞枣的感觉。
对于一些知识点, 应该尽可能的做一些探讨, 对于不太复杂的内容, 做一些模拟的代码实验, 对于学生加深理解, 有很大的帮助。
比如在说到容器类中有关迭代器的使用时, 学生经常都是死记硬背下面的几句代码:
至于迭代器如何得到的, 又是如何利用迭代器实现集合遍历的, 却很少有学生关注。尽管底层实现很复杂, 但可以用学过的Java知识来模拟迭代器, 这样学生理解起来也就更容易了。比如写一个程序, 先定义自己的迭代器接口my Iterator。用一个数组来模拟集合, 在集合类my Co的内部, 使用内部类定义自己的迭代器类iter, 并实现了迭代器接口my Iterator。在集合类my Co中的iterator方法中, 创建自定义的迭代器对象, 并返回其引用给用户使用。通过这个实验, 学生既理解了迭代器的工作过程, 又对接口和内部类有了更深的理解。在教学中, 应该多找机会写这样的模拟代码, 有助于学生加深内容的理解, 更能让自己所学的知识融会贯通。
5、学习一门计算机语言, 最有效的方法, 就是写代码。
看得懂, 不叫真的懂, 写出来, 能正确运行的, 才是真的懂。要让学生多动手, 最好将书上的代码都敲一遍。同时, 动脑也很重要。作为教师, 应该鼓励学生勤思。在书上代码的基础上, 教师应该多考虑如何变化代码, 产生更多不同的结果, 并作为习题, 留给学生思考。采用任务驱动教学方法, 一个阶段的课程结束后, 布置一个综合编程练习;在课程的最后, 应选用一个较为完整的综合项目, 锻炼学生的思维和编程能力以及考察对知识融会贯通的掌握程度。
四、结语
随着网络时代的发展, 可以预见, Java语言在未来很长一段时间内, 都是计算机专业的一门重要课程。学好Java对于计算机专业的学生来说, 是非常重要的。作为计算机教师, 应该不断提高自身素质, 在教学中发现缺点, 并切实的去纠正, 才能更高效的完成Java程序设计课程的教学任务。
参考文献
[1]Bruce Eckel.Java编程思想.机械工业出版社, 2012.2
关键词课程建设;课程设计;软件编程(Java方向)
中图分类号G420文献标识码A文章编号 1673-9671-(2010)031-0135-01
2005年,国务院《关于大力发展职业教育的决定》中提出的一项重要任务,即深化职业教育教学改革。并在《关于全面提高高等职业教育教学质量的若干意见》进一步明确提出:课程建设与改革既是提高教学质量的核心,也是教学改革的重点和难点。长期以来,传统学科性课程始终统治着我国的职业教育,但职业教育最根本的特性是职业性,最重要的目标是培养技能型人才。职业素养和职业能力的提升主要通过课程教学实现,是否拥有与岗位、岗位群相适应的课程设计,关系到高职人才培养目标能否实现,关系到高职教育能否持续发展。
通过几年的实践教学及高职教学改革经验的探索,我对高职院校的国家精品课程《软件编程(Java方向)》的课程设计有了一些独特见解,下面我将从课程定位与设计思路、教学内容的选取、教学设计、考核与评价等方面进行论述。
1课程定位与设计思路
1)课程定位。本课程是为培养Java程序员而设置的,是软件技术专业的一门专业核心课程,主要培养学生的软件编码能力和项目开发能力,使之适合Java程序员的工作岗位需求。通过本课程的教学使学生掌握面向对象的程序设计思想、动态网站开发的相关技术,能够采用MVC的设计模式,选择合适的框架技术和开发工具,设计和开发基于Java的应用程序。为今后从事软件开发、软件测试、软件管理等岗位打下良好的基础。
2)设计思路。课程设计的核心是课程内容的设计、教学模式的设计、实施方案的设计与评价体系的设计。本课程遵循“以职业行动获得知识”的认知规律,以岗位工作综合能力培养为核心,对职业岗位的工作内容、工作过程、工作环境等内容加以分析提炼,并按照循序渐进的教育规律进行深度加工,对应构建课程教学,使学生获得知识的过程始终与具体的职业实践相对应。与启明信息技术股份有限公司合作,结合Java程序员的岗位需求,把课程设置为软件编程Java—桌面开发、软件编程Java—web开发、软件编程Java—web高级开发三个模块。通过以上三个模块的学习,培养学生编程思想,积累项目开发经验。
2教学内容选取
1)社会调研。近三年,课程组成员通过专家访谈、调查问卷和网络搜索三种方式社会调研,明确软件企业对Java程序员的任职要求,掌握Java程序员的工作任务和工作方法。了解企业对Java程序员的总体要求;调查问卷主要针对不同类型软件企业以及同一软件企业不同层次的人员(项目经理、系统分析师、系统架构师、编码人员和测试人员)进行,从不同层面了解企业对Java程序员的具体要求。
2)工作任务及职业能力分析。通过调研,掌握软件企业软件开发部门的工作任务,对其进行总结归纳,明确Java程序员的典型工作任务。根据软件企业Java程序员的典型工作任务和任职要求,进行全面的职业能力分析。(1)具备C/S架构设计能力;(2)具备B/S多层架构设计能力;(3)数据库设计能力;(4)根据具体情况调试程序的能力。
3)内容选取。本课程以工作任务为载体选取学习内容,开发设计学习性项目,组织教学内容。遵循“做中学,学中做”的教学原则,以完成项目为目标,以工作过程为主线,以企业工作组织形式(小组)为团队,将学习过程映射为工作过程,在自主学习过程中完成指定任务,掌握专业技能。本课程分为软件编程Java—桌面开发、软件编程Java—web开发、软件编程Java—web高级开发三个模块。
桌面开发模块包括掷骰子、简单计算器、聊天室、二十一点游戏、超市管理系统5个项目,使学生掌握面向对象的思想及J2se基础知识。web开发模块使用网上购物管理系统(WEB1.0)项目,使学生掌握Jsp、Servlet、Filter等技术。web高级开发模块使用网上购物管理系统(WEB2.0)项目,使学生掌握各种流行框架技术的应用。
3教学设计
坚持以岗位能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。在教学过程中,培养学生树立面向对象程序设计的思想,强调学生在学习过程中的主体地位,并实现分层次教学。将学生开发实际工程项目的能力培养以及再学习能力和创新能力的培养作为教学的重点,采用“项目驱动”教学法和“榜样学习”教学法进行教学。以掷骰子项目为例,教学设计如表1所示。
表1掷骰子项目教学实施方案设计
4考核与评价
为保证学生成绩采集的多元性、全面性及公平性,本课程采取過程考核与企业案例考核相结合的方式,这种方式极大地调动了学生学习的积极性、主动性,使课堂教学更加高质高效地进行。
1)过程考核。根据学生平时阶段性项目设计、课堂提问等综合表现,给出过程考核成绩,过程考核成绩占总成绩的40%,此种方式能够在一定程度上增加成绩采集的全面性、客观性,也是对学生平时表现的监督,是保证课堂教学质量的前提。
2)企业案例考核。本课程最终采用“企业案例考试”,学校与企业共同制定案例实践考试方式的项目。企业案例考核占总成绩的60%。它不是以简单客观题为主的标准化考试,而是引入了以企业实际项目为
基础、企业参与命题的“企业案例考试”方式,学生在进行案例考试的同时,就是在模拟企业实际工作中的项目开发,使考试内容与工作实践结合更加紧密,考试结果的说明性更强。“企业案例考试”是对传统考试方式的革新,是考试与企业岗位需求的良好结合。“企业案例考试”将最大限度地杜绝学生突击背题等有损考试真实性的行为,从而能够保证以最小的误差评定学生在Java程序员岗位的工作实践能力,能够为IT校企联盟中企业提供最精确的人才素质信息。
以上为本人对高职院校Java课程的设计思路,在实施过程中建议采用高职高专系列工作过程导向化教材,建议选用具有企业工作经历和中小型项目开发能力的双师型教师,并能够指导学生进行生产性实训,具备行动导向教学组织能力。
参考文献
[1]陈亚玲.中国高职教育改革与发展的回顾与反思,2007,9.
[2]徐明华.Java Web整合开发与项目实战[M].北京:人民邮电出版社,2009.
作者简介
一、课程设计的目的
为了进一步巩固java程序设计课程所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了一周的Java程序设计课程设计。
通过此次课程设计,巩固所学java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。
二、课程设计的基本要求
1、明确题目要求,进行需求分析;
2、进行功能设计,编写设计说明;
3、进行程序设计与调试;
4、对设计过程进行系统的总结;
5、界面美观大方;
6、完成设计报告
7、课程设计建议在Editplus +JDK、JCreator +JDK、myeclipse平台上开发、调试。
8、Java源程序应加上详尽的注释语句,对所设计的类、属性、方法说明其用途,对方法的调用说明其用意和使用参数的原因。特别是有深刻理解、有独特见解的地方,用注释语句加以说明。
三、课程设计的主要内容
利用学到的编程知识和编程技巧,通过具体项目的分析、设计和开发,掌握开发Java大型软件项目过程中所需要的软件技术并熟悉软件。
可以以小组为单位,每组1至2名学生,在教师的指导下,每组完成一个题目。题目可由下面提供的选题中选择或学生自选经教师审核后方可。该组每个同学承担题目的不同部分,每位同学的课程设计报告必需独立完成。题目类型大致分配如下:
1、网络通讯类,编制网络聊天(Chat)程序,以下简称“网络”类。
2、图形界面Application类,编制类似计算器、MP3播放器、围棋打谱,斗地主、潜艇大战、挖地雷、迷宫等功能单一的程序,以下简称“图形 ”类。
3、通讯类,使用Socket通讯完成信息通讯,比如QQ
4、数据处理类,编制考试系统、出题系统、查询系统、学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序,以下简称“数据”类。
5、其它类型,自选题目,须经老师同意。
四、主要技术关键的分析、解决、方案比较
以下是可以参考的课程设计可能包含的相关知识:
1、Java核心编程J2SE:
面向对象技术
Java程序运行机制
开发环境的安装和配置 Java语言基础和重点API Java程序异常的处理 I/O、控制台程序开发 Swing程序开发 Socket通讯
2、数据库技术:
关系型数据库原理 SQL数据查询语言 MS SQL Server使用方法
数据库中对象的建立与使用
Java数据库编程(JDBC)
五、课程设计考核方式与标准
采用上机情况、程序质量、实习报告相结合的考核形式:
1、上机情况
包括出勤情况、调试程序时表现。
2、程序质量与创新能力
最终完成的程序设计的工作量、质量、难易程度。
3、课程设计报告
报告的格式与内容。
六、参考题目及要求:
1、多媒体播放器程序的设计与实现
目的:利用java开发一个支持mp3、wma、wmv、avi、mpg等不同音频、视频格式的多媒体播放器。通过课程设计掌握多媒体编程的基本原理。任务: 编程实现一个可支持多种音视频格式的多媒体播放器,其基本功能包括媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等;
2、带格式的文本编辑器
功能参考word软件
3、学生信息(包括成绩)管理系统
要求:
使用图形用户界面
用数据库建立1或2个学生信息表。(不限使用哪种数据库)能连接数据库并实现查询、增、删、改等功能。
4、期刊资料信息管理系统
要求:
使用图形用户界面
用数据库建立1或2个图书信息表。(不限使用哪种数据库)能连接数据库并实现查询、增、删、改等功能。借阅记录等信息
5、聊天小程序QQ 要求:使用图形用户界面。能实现一个聊天室中多人聊天。可以两人私聊。提示:使用socket通信
6、ATM柜员机模拟程序
要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
1)查询余额:初始余额为10000元
2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3)ATM存款:不能出现负存款。
4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
7、超市收银系统
要求:使用图形用户界面。
由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。
另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
8、网络监听程序
要求:使用图形用户界面。
有服务器和客户端,服务器监听客户端的登陆。即:如果A客户端登陆服务器,则服务器界面上的A字母对应的红灯变成绿色。
绿灯表示连接,红灯表示断线。提示:socket的监听方法
9、全球通计费程序
要求:使用图形用户界面。
使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费。能根据输入实现各种用户的话费的计算并显示月实时帐单。
提示:使用接口和多个子类实现分别表示金卡、银卡等各种套餐的话费计算。
10.学生机房上网计费系统
要求: socket通讯
11.电子英汉词典
要求:
能够编辑词典库中的信息
能够实现英译汉,汉译英。(要考虑一词多义)
12.加密与解密
要求:采用图形用户界面
1)给定任意一个文本文件,进行加密,生成另一个文件。2)对加密后的文件还原。3)图像水印的添加以及还原
13.小游戏
要求:。
程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。(使用图形界面)
14.敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
15、猜数字游戏
要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
要求提交Application和Applet两个版本的程序。
16、小学算术运算测试程序
要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数。
要求提交Application和Applet两个版本的程序。
17、模拟画图
要求:模拟Windows中的画图程序,实现图形图像的编辑、修改、保存等功能。模拟时钟
要求:通过多线程技术,重绘界面,界面包括表盘和指针。并用数字表显示时间。实现要点:多线程技术,图形的绘制。
18、打字训练测试软件
要求:设计一个英文打字测试软件。从文件中调入英文录入材料,最后可以给出错误率,平均录入速度。
19、用java开发一个小型数据库管理系统,比如Access 在界面中输入SQL语句,可以完成数据可的相关功能 20、学生宿舍管理系统
数据库
21、电话号码查询系统,ip地址、手机归属地查询
要求:有电话录入,修改,增加,删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。
22、同学录管理系统()
要求信息的录入、查询、删除、修改等一列功能。
22、购物车子系统
要求:使用图形用户界面。当输入给定的顾客编号和密码(初始卡号和密码为123456)时,系统能进入购物车子系统,顾客可以按照以下规则进行: 查询自己购物车中商品信息; 修改 删除物品 数据库库存管理
23、火车票管理系统
要求: socket通讯,多线程
服务器端数据库存放火车票信息
客户端(窗口)卖票,退票
24、利用Socket通讯模拟学生食堂卖饭系统
账户的管理,充值管理,售饭管理
启动两个客户端(窗口),模拟售饭过程
25、为一个超市设计一个货物管理程序。
要求:
进货库:货号,货名,型号
,进货量,进货价,经办人,销售库:货号,销售量,售价,利润。
存库:
货号,库存量。
二
包含功能:
1)在程序中初始化库存库,销售库,及进货库.2)可提供菜单,供随时添加,修改,删除,查找库中信息.(具体货物及编号等自编),在设计时应尽量考虑全面,比如查找就可以按照货名或者货号,经办人等来查找。
3)可自动计算利润等字段。可以统计总利润。
4)可随时根据进货库调整库存库。
5)可随时根据销售库调整库存库。
6.)可根据要求核对库中内容,如数量是否一致等。
7.)可根据销售情况统计出销售排行榜。
8.)自行设计的其他功能。
合肥学院计算机系
实验一 Java开发环境的安装与配置,熟悉Java程序
结构
一、实验目的:
1.掌握JDK的安装步骤。
2.理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法。3.熟悉Editplus 或Eclipse(或TextPad,JCreator)编辑环境,编写简单的Application程序和Applet程序,并编译和执行。
二、实验内容:
熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息);
三、实验要求:
1.能正确地安装JDK 2.熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3.调试程序、编译,运行后得到正确的结果
4.写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
四、实验步骤:
1.从http://java.sun.com 上下载最新版本的JDK,并安装。
2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。3.在Eclipse(或JCreator,Textpad)环境下编写一个HelloWorld.java程序,(1)在主方法static public void main(String[ ] args)中调用System.out.println()方法,使程序输出一条问候信息;
(2)编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用javac.exe和java.exe编译和执行程序)
4.在Eclipse(或JCreator,Textpad)环境下编写一个HelloWorldApplet.java程序。
(1)在public void paint(Graphics g)方法中调用g.drawString()方法,使 程序输出一条问候信息;
(2)编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用javac.exe编译和浏览器解释执行Applet程序)
实验二 Java语言基础
一、实验目的:
熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。
二、实验内容:
1.编写Java Application程序,输出1900年到2000年之间的所有润年。(闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.编写Java Appet 程序打印 “水仙花” 数(它的个、十、百位数字的立方的和等于该数本身,如:153=1^3+5^3+3^3)3.编写Java Application程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和
三、实验要求:
1.正确使用Java语言的选择语句,循环语句; 2.调试程序、编译,运行后得到正确的结果
3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成示,并给出解决办法。
四、实验步骤:
1.编写主类;
2.在static public void main(String[ ] args)方法中加入实现要求功能的代码,主要步骤如下:
(第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。
(第二题)编写Java Applet, 在public void paint(Graphics g)方法中加入实现要求功能的代码, 主要步骤是:从100到1000循环,判断每个数是否符合水仙花数的特点,是则输出之。3.编译运行程序,观察输出结果是否正确。
五、自做实验
1.输出100以内的所有素数。提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数。
2.将所输入之正整数,以二、八、十六进制表示出来。提示: 可写三个方法分别计算输出二、八、十六进制表示。
实验三 类和对象
一、实验目的:
掌握Java类的结构、类的定义、方法和属性的定义以及对象的实现; 掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的用法;
掌握类变量与实例变量,以及类方法与实例方法的区别。
三、实验内容:
1.定义一个学生类(Student),属性有private的名字(name), public的年龄(age),专业(specialty)和封装name属性的方法:setName(),getName(),getspecialty()编写Application,创建一个学生对象,设置name和age属性值,然后调用一个方法(此方法将对象作为参数传递,在方法中打印出学生的名字name和年龄age)。(学生类仅包含静态成员变量和方法。)2.定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标 show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。
3.定义一个复数(z=x+iy)类Complex,包含:
两个属性:实部x和虚部y 默认构造函数 Complex(),设置x=0,y=0 构造函数:Complex(int i,int j)显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2)求两个复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex subComp(Complex C1,Complex C2)求两个复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象,新复数实部=两复数实部乘积-两复数虚部乘积,新复数虚部=两复数实部与虚部 交叉乘积之和,)public Complex multiComp(Complex C1,Complex C2)比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean类型)public boolean equalComp(Complex C1,Complex C2)在Application中测试该类的方法,实部x和虚部y可由main方法参数提供输入。
三、实验要求:
1.正确地定义类、方法和属性;2.学会方法的参数传递和返回值的用法; 3.熟练使用类及其成员修饰符 4.使用构造函数创建类的对象;
5.类变量与实例变量,以及类方法与实例方法的使用 6.程序应包括各个被调用方法的执行结果的显示。
7.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.(第1题)定义一个学生类(Student)及它的属性和方法;定义主类和main(),在main()方法中创建学生对象,并通过对象调用它的方法setName(),getName(),输出学生的名字name和年龄age。
2.(第2题)定义类Point及它的属性、方法和构造函数,定义主类和main(),在main()方法中创建两个坐标对象,,并通过对象调用getMiddle方法后得到一个新的点坐标,调用show()显示该对象的坐标值。3.(第3题)定义一个复数(z=x+iy)类Complex,及它的属性、方法和构造函数;定义主类和main()方法,在main()方法中创建两个复数类Complex对象,并通过复数类对象调用它们的属性和方法,输出方法执行结果。
五、自做实验
1.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。
2.编写实现:有一个三角形类Triangle,成员变量有底边x和另一条边y,和两边的夹角a(0
3.编写实现: 构造函数为 Triangle(int xx,int yy,int aa)参数分别为x,y,a赋值 在main方法中构造两个对象,求出其面积,然后使用修改角度的方法,修改两边的夹角,再求出面积值。(提示:求高的方法 h=y*Math.sin(a))注意:构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。
实验四 java继承与多态
一、实验目的:
掌握继承、多态的概念与实现方法;
掌握包和接口的定义和使用方法;
了解JAVA语言实现多继承的途径;
二、实验内容:
1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:
(1)Point2D有两个整型成员变量x, y(分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。
(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z(分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
(4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。
(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。
2.定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。
定义接口DiagArea,其中包含方法double getDiagonal()求对角线长, double getArea()求面积,定义一个矩形类,实现此接口,并自行扩充成 员变量和方法,定义一个正方形类继承矩形类(如矩形有长w和宽h,正方形有边x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长),在另一类中的主方法里使用测试该类。
三、实验要求:
1.能实现类的继承关系;
2.用多种方法创建各个类的对象;
3.程序应包括各个被调用方法的执行结果的显示。
4.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.(第1题)定义Point2D,及定义它的属性和方法;
定义子类Point3D,及定义它的属性和方法;在Point3D中的主函数main()中实例化两个Point2D的对象,并通过这两个对象调用它们的属性和方法,输出方法执行结果。
2.(第2题)定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。定义主类、主方法,在main方法中构造3个对象,调用showArea方法;定义接口DiagArea,其中包含方法double getDiagonal(),在主main方法中输出方法执行结果。
六、自做作实验
1.定义一个描述人的基本类,该类包括人的性别和出生日期两个数据成员,以及设置和获取这些属性值的方法成员;再定义一个大学生类,使大学生类具有人的所有属性外,还具有姓名、学号,大学入学成绩,籍贯属性以及设置和获取这些属性值的方法成员;编写完整的程序,完成一个具有班级学生信息管理功能的程序。
2创建一个接口Shape,其中有抽象方法area,类Circle、Rectangle实现area方法计算其面积并返回。又有Star实现Shape的area方法,其返回值是0,Star类另有一返回值boolean型方法isStar;在main方法里创建一个Vector,根据随机数的不同向其中加入Shape的不同子类对象(如是1,生成Circle 10 对象;如是2,生成Rectangle对象;如是3,生成Star对象)。然后将Vector中元素依次取出,判断其是否为Star类。如是返回其是个Star。否则返回其面积。
3..学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
1)设计两个信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay()方法和getPay()方法,分别用于设置和获取教师的工资
2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
3)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。提示:
1)定义两个接口,分别在其中申明两个方法。2)定义主类Graduate,实现这两个接口。3)定义主类的成员变量,和构造方法。
4)给出四个接口方法的实现。5)给出一个计算是否需要贷款的方法,在里面统计年收入和学费,并输出是否需要贷款的信息。
6)写main方法。在其中创建一个姓名为“zhangsan”的研究生,调用计算是否需要贷款的方法。4.书后练习
实验五 Java的异常处理
一、实验目的:
理解 java 语言中独特的异常处理机制;掌握异常处理方法;正确地使用捕获异常和声明抛弃异常的两种异常处理的方法;了解自定义异常类的使用;理解抛出异常和声明抛出异常的区别与联系;
二、实验内容:
1. 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。
2.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
3.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。
三、实验要求:
1.通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法; 2.程序必须能够捕获Integer.parseInt()产生的异常并作相应的处理; 3.程序必须能够将处理的相应的信息输出出来;
4.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.(第1题)使用try„..catch„.finally语句对Integer.parseInt()产生的异常进行捕获处理;2.(第2题)定义方法void sanjiao(int a,int b,int c)中,不符合条件则抛出异常(if a+b<=c(或a+c<=b,b+c<=a)then throw new IllegalArgumentException(),),再定义main方法,调用此方法,用try„..catch„.finally语句并捕获异常;3.(第3题)定义三角形类及相应的方法, 在定义的方法中对不符合条件则抛出异常(如上题),再定义main方法,对正确的数据输出正确信息,否则捕获异常;
五、自做实验
1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试] public class StringIndexOutOf{ public static void main(String args[]){ System.out.println(“字符串索引越界异常”);String str=args[0];System.out.println(“第四个字符为 ”+str.charAt(3));int aa=Integer.parseInt(args[0]);
System.out.println(“
平
方为 ”+aa*aa);} }
实验六 Java数组、字符串及常用类应用
一、实验目的:
掌握数组的定义和使用方法;熟悉数组的排序、查找等算法。掌握字符串的使用方法。
二、实验内容:
1.编写Application程序, 从命令行参数输入10个整数并保存在数组中,求数组中最大、最小、数据的和、平均值。
2.从命令行参数一日期,如“2005-5-6”,计算与今日之间的天数间隔。3.将命令行第一个参数每个字符放入一字符数组,然后逆序输出
4.编写Application程序,接受用户输入一段英文文字后,输出其中的字符数、单词数和句子数(设句子以“?”、“!”、“.”结束)。5.打印杨辉三角的前10层。
6.编写Applet程序,使用 *画一条正弦曲线(提示:y=a* sin(x),坐标要取整)
三、实验要求:
1.熟练对象数组及创建初始化和未初始化的数组的方法;2.熟悉从命令行参数的使用;3.熟悉String 和StringBUFFER的使用方法 4.熟悉常用类库的使用;5.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1(第1题).从命令行输入10个数到数组,用循环语句分别求最大、最小、数据的和、平均值。
2.(第2题)利用String类的各种方法,分别判断字符是否为“?”、“!”、“.”,用3个计数器分别计数。
3(第3题)将命令行第一个参数字符串中的每个字符作为数组元素放入一字符数组,再循环语句逆序数组元素。
4.(第4题)定义一个二维数组,第一维的长度为所打印杨辉三角的层数(即 10),第二维为每一层的数据个数(也就是其所在的层数)。(第5题)利用Math类中sin函数,在Paint()方法中用Graphics类drawString()画一条正弦曲线.五、自做实验
1.求Fibonacci序列的前n项,要求:
在main方法中定义一数组,数组的长度n为一final定义的常量,使用一单独方法,无返回值,参数为一数组,在方法中给数组赋予序列的值,在main方法中调用该方法,然后打印结果数组的内容
2.声明一个矩阵类Matrix,成员变量是一个二维数组,设数组元素类型为int,请设计方法:(1)构造方法:
Matrix()//构造一个10X10个元素的矩阵,没有数据
Matrix(int n,int m)//构造一个nXm个元素的矩阵,数据由随机数产生 Matrix(int table[][])//以一个整型的二维数组构造一个矩阵 要求使用 this(2)实例方法:
public void output()//输出Matrix类中数组的元素值 public void transpose()//输出一个矩阵的转置矩阵 2.随机数求法:
Math.random()返回0-1的小数,由上题中的Matrix类派生出正方形Square类,在构造方法中调用父类的构造方法(使用super)。
3.编写一个Java程序,完成以下功能:
(1)声明一个名为s的String对象,并使它的内容是“My name is Carrol”;(2)打印整个字符串;(3)打印字符串的长度;(4)打印字符串的第一个字符;(5)打印最后一个字符;(6)打印字符串的第一个单词。
*4.编写一个程序,用散列表实现学生成绩单的存储和查询,并将若干个查 15 询结果存放到一个向量中,通过循环将向量对象内容逐个输出。*5.从命令行读入一浮点数值,将其转化为中文金额的大写方式,如123.45,转化为:壹佰贰拾叁元肆角伍分,中间有多个0只要一个零。*6.利用Vector对象改写上面的程序,输入元素个数由用户自由确定。
实验七 图形用户界面与事件处理机制
(一)一、实验目的:
掌握Java图形组件和布局管理器的使用; 掌握使用Java事件处理机制的使用。
掌握图形界面的各种控件的使用,如:标签、文本框、按钮、复选框、列表框、窗框等。
二、实验内容:
1.编写Application程序,在Frame中加入2个按钮(Button)和1个标签(Label),单击两个按钮,显示按钮的标签于Label。
2.在Applet中加入1个文本框,1个文本区,每次在文本框中输入文本,回车后将文本添加到文本区的最后一行。
3.在Applet中加入2个复选框,显示标题为“学习”和“玩耍”,根据选择的情况,分别显示“玩耍”、“学习”、“劳逸结合”。
4.在Applet中加入1个滚 动列表框List、1个下拉列表框Choice和1个按钮,点击按钮将List中的项目移到Choice组件中,5.编写Application程序,在Frame中加入80个按钮,分20行4列,用GridLayout布局方式,按钮背景为黄色(Color.yellow),按钮文字颜色为红色(Color.red)。
6.设计一个简单计算器,如下图所示。在“操作数”标签右侧的两个文本框输入操作数,当单击操作符+,-,×,÷按钮时,对两个操作数进行运算并将结果填入到“结果”标签右侧的文本框中。
三、实验要求:
1.采用布局管理器进行界面的布局; 2.学会对不同的事件用相应的事件处理器;
3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.运用一种或多种布局管理器,绘制出一个简单的计算器;
2.为按钮注册事件监听器,使其点击按钮,并在显示区域同步显示当前输入或运算结果;
3.编译运行程序,检查计算器的正确性;
五、自做实验
1.学生可以视个人情况完成更复杂更完善的计算器功能,通过多种布局管理方法实现更美观的界面布局。
2.编写Applet程序,在控制按钮程序中,实现播放音乐,显示图片等操作。3.编写Java Applet程序,使它在浏览器中通过响应功能按钮的点击事件绘制各种简单的几何图形(矩形、圆形、扇形、多边形和他们的填充效果),并且能够通过接收传递参数控制图形的绘制。
4.在Applet中做2个按钮,点击它们,分别画一个填充的蓝矩形和粉红色圆,位置随机,并统计每个按钮点击的次数
实验七 图形用户界面与事件处理机制
(二)一、实验目的:
掌握菜单、弹出式菜单设计。会处理事件以及设置输入对话框。
了解对文本域JTextArea中字符进行复制和粘贴的操作。
二、实验内容:
1.在窗口中建立菜单和弹出式菜单,”文件”中有”打开”项目,点击后弹出文件对话框,在界面中的1个文本框中显示打开的文件名。
*2.设计一个JAVA程序模仿记事本(NotePad)的部分功能,界面如下图。
三、实验要求:
1.学会建立菜单和弹出式菜单;
2.学会文件对话框的使用;对不同的事件用相应的事件处理器; 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.(第1题)从打开文件对话框中获取文件名,将文件名放入文本框。2.(第2题)新建文件时,文本域为空;打开文件和保存文件时要给出输入对话框,输入相应文件名后进行操作;选择退出菜单将退出整个程序。
再对文本域中选中的字符能够进行复制和粘贴操作。3.编译运行以上程序
五、自做实验:
1.利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示:
要求该程序能够完成以下功能:
(1)在界面上方的文本框中,按照“小时:分钟:秒”的顺序实时显示系统时间;
(2)当按下界面中间的“Current Time:”按钮时,当前系统时间能够在界面下方的文本框中显示出来。
提示:可以通过调用java.util.Data类的方法,获得系统时间。Data类的接口如下所示,public class Date {
// 返回当前系统时间的小时值
public String getHours(){ „}
// 返回当前系统时间的分钟值
public String getMintues(){ „ }
// 返回当前系统时间的秒钟值
public String getSeconds(){ „}
„
} 2.编写一个计算器程序,只有加减乘除功能,当作Applet运行。
3.编写一个Applet程序:画图
要求:界面上有2个按钮,一个为标签为“椭圆”,另一个为“矩形”,点击后分别画红色的椭圆和蓝色的矩形,其宽度为100、高度为60,左上角顶点坐标为(50,50),试写出完整程序,并且要写出其对应的HTML文件代码。
实验八 Applet类及应用
一、实验目的:
掌握applet的程序结构和运行方式;掌握从html文档向Java Applet传递参数的方法;了解applet程序的生命周期;掌握在Applet中对字体、颜色、播放声音、显示图像和动画控制方法;
二、实验内容:
1.编写Applet程序,改变applet窗口大小,使其最大化、最小化,查看init()、start()、paint()、和destroy()方法的执行情况(执行顺序和执行次数)。2. 编写Applet显示字符串,显示字符串及其显示位置,字体、字体大小和颜色通过HTML文件中的参数来传递。
3.编写Applet(大小140*60),其背景色为蓝色,画一个长方形(其填充色为pink,各边离边小于10像素)和一个在填充的长方形中左右移动的小球(半径15)。
4.实现一个Applet,显示一幅图片。不停地运行一个动画。
三、实验要求:
1.必须编写成Java Applet程序;
2.能够通过传递参数控制一种或者几种图形的绘制;
3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.(第1题)在paint()方法中,绘制init()、start()、paint()、和destroy()方法的执行次数的直方图。
2.(第2题)在HTML文件中添加参数传递的代码:
„„
在init()方法中,调用getParameter()获取由HTML传递的参数,再按照要求,在paint()方法中调用Graphics类中drawString()函数显示 字符串。
3.(第3题)在paint()方法中调用Graphics类中drawString()函数时,X坐标定义成变量(10〈=X〈=120),4.(第4题)在init()方法中,根据指定的位置获取一系列图片类对象放入数组,再循环显示系列图片就形成动画。5.运行、检查和调试 以上各程序。
五、自做实验
1.编写Applet,访问并显示指定URL地址处的图像和声音资源。2.编写Applet,访问并显示指定URL地址处的一组图像构成的动画。3.编写Applet,接收用户输入的网页地址,并与程序中事先保存的地址相比较,若存在则打开网页,并在新打开的浏览器窗口显示*编写一个Applet程序,显示一个圆心在Applet的中心,半径从0到100像素不断变大的绿色球的动画。
4.在Applet中画矩形,要求矩形做上角点坐标(20,20),高度为400*200,上下左右边设为蓝色、矩形填充色为绿色,并在居中的位置写上文字“面向对象程序设计”,字体为楷体_gb2312,大小自定。
5.自定义椭圆(或圆)的方法,画一组椭圆(最大半径200),以圆心处为参考点,半径依次增加2个像素,圆周的颜色随机。
6.给定数组data[]={1,2,3,4}分别画出圆饼图、条形图(宽随意给定,高代表所占百分比),颜色任意。
7.找一幅图像,显示在Applet中,要求按原图大小显示,再放大或缩小一倍显示,或者放大显示右下部的1/4块
实验九 Java多线程
一、实验目的:
熟悉利用Thread类建立多线程方法。熟悉利用Thread接口建立多线程方法。
二、实验内容:
1.阅读下列程序,分析并上机检验其功能。class DelayThread exends Thread{ private static int count=0;private int no;private int delay;public DelayThread(){ count++;no=count;} public void run(){ try{ for(int i=0;i<10;i++){ delay=(int)(Math.random()*5000);sleep(delay);System.out.println(“Thread ”+no+” with a delay ”+delay);} }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread();DelayThread thread2=new DelayThread();thread1.start();thread2.start();try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。
3.利用多线程 编写一个模拟时钟(AWT程序、Runnable接口),有时分秒 针 编写一个应用程序,创建三个线程分别显示各自的时间。
三、实验要求:
1.通过实验掌握Thread、Runnable使用方法; 2.程序必须能够实现多线程; 3.程序必须能够完成题目要求; 4.写出实验报告。
四、实验步骤:
首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。
通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
四、自做实验
课本:P262 12,13,14 25
实验十 输入输出流
一、实验目的:
熟悉Java的文件读写机制,练习输入输出流的使用。
二、实验内容:
1、键盘输入10个整数,从小到大进行排序。
2、接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用FileOutputStream类读出文件内容显示在屏幕上。
3、将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。
三、实验要求:
1.通过实验掌握文件输入输出流的使用方法; 2.程序必须能够从键盘接收字符串并保存在文件中; 3.程序必须能够读出文件内容显示在屏幕上; 4.写出实验报告。
四、实验步骤:
1.(第1题)接收键盘输入字符串,再转化整数;
2.(第2、3题)编写主方法main(),其中实现接收键盘输入功能、文件操作功能和文件内容输出功能; 3.调试运行程序,观察输出结果。
五、自做实验
课本:P300,7、10
实验十一
Java网络编程
一、实验目的:
1、熟悉掌握Java的相对高级别(简单的)网络通讯
2、熟悉掌握URL类访问Web页面的操作流程
3、学会JAVA的Socket类和ServerSocket类的使用
二、实验内容:
1、编程实现同一Web页面两个Applet之间的通讯
2、编程实现显示URL中的Html文件
*
3、参照例程编写一个简单的聊天室程序(P411,2)
三、实验要求:
1.通过实验掌握的URL类、Socket类和ServerSocket类的使用方法; 2.程序必须完成题目要求的功能; 3.写出实验报告。
四、实验步骤:
1.(第1题)参照例程两个Applet分别加上按钮,互相控制对方的线程 2.(第2题)通过URL类中方法,实现通讯,获取Html文件 3.(第3题)参照例程增加多客户端,实现聊天室 4.调试运行程序,观察输出结果。
五、自做实验 P411,8
实验十二
Java与数据库连接
一、实验目的:
熟悉SQL命令集。
学会编写加载数据库驱动和连接数据库的JAVA程序。应用Java.sql包中的类和接口编写操作数据库的应用程序。
二、实验内容:
编程实现如下功能:在数据库中建立一个表,表名为学生,其结构为:编号、姓名、性别、年龄、JAVA语言、数据结构、微机原理、总分。在表中输入多条记录。将表每条记录按照总分大到小的顺序显示在屏幕上。查找并显示姓名为“张三”的记录。(要求图形界面)
三、实验要求:
1.通过实验掌握SQL命令的使用;
2.使用J2SDK中提供的JDBC-ODBC桥连接数据库; 3.使用的数据库系统不受限制,比如可以用Access。4.调试运行程序,观察输出结果。5.写出实验报告。
四、实验步骤:
1、首先设计一个图形界面
2、首先建立一个数据库,在此基础上通过编程实现一下功能:
在数据库中建立一个表,表名为职工,其结构为:编号、姓名、性别、年龄、JAVA语言、数据结构、微机原理、总分。1)在表中输入多条记录。
2)将每条记录按照总分大到小的顺序显示在屏幕上。
3)查找并显示姓名为“张三”的记录
五、自做实验
课本:P411,2
实验十三
实现C/S应用
一、实验目的:
熟悉综合运用图形用户界面与事件处理机制、Java的文件读写机制、输入输出流的使用、多线程、Java的异常处理、Java网络编程知识,编写一个综合程序
二、实验内容:
利用Socket编程实现C/S应用。其中,Client端为GUI程序,用于提供界面输入两个数,并有1个“发送”按钮,另外还有一个 TextField用于显示传来的计算结果;Server端用于监听连接请求、计算发送过来的两数的和、送回数据结果。
三、实验要求:
1.有良好的图形用户界面; 2.多个用户能同时操作; 3.要有异常处理机制
4.调试运行程序,观察输出结果。5.写出实验报告。
四、实验步骤:
1、编写服务器端程序
2、客户端首先设计一个图形界面
3、实现客户端程序
五、自做实验
为了引导同学们认真地学好《JAVA程序设计》这门课程,切实推进主动学习、互动学习,本人特草拟如下的《
1、每个同学都要认真学习本课程,并积极参与到本学习计划之中,尽力发挥自己的主观能动性,提出具体而深刻的问题,或对其它同学提出的问题给出全面而准确的回答,或详细写出自己的学习、实验或研究的新知识、新成果、新进展或心得体会,等等。切忌照抄照搬。
2、每个同学写出的文章都要署名(在文章标题之后),并负文责(鼓励同学们通过反复修改完善自己发布的文章)。每个同学都可以修改或删除自己提交的文章,但不得修改或删除别人的文章。对别人的文章有意见,请以评论的方式发表。
3、请从电子和测控两专业各选出一个博客管理员,负责管理所有同学发布的博客与评论,并进行统计汇总。统计频率为每两周一次,时间为周日晚上12:00。若多篇文章内容相同或相似,则后发的文章应被删除。若文章系完全抄袭或评论明显毫无价值,也应被删除。
1 课程教学设计
根据Java程序设计课程的特点, 课堂教学采用“演示+操作+讲解”的授课方法。使用多媒体, 利用大屏幕投影进行直观教学, 利用多媒体计算机的交互性, 激发学生的学习兴趣, 发挥认知主体的主观能动性。在整个教学过程设计中, 本人使用的一些方法如下。
1.1 认真备课, 精心制作课件
现行教材基本都是以知识点的逻辑结构体系编写, 不适应高职强调应用性和适应性人才的目标。因此, 在制作多媒体课件时, 对教材进行再创造, 理论以“够用”为度, 突出高职培养应用型技能人才的特点, 重新组织内容, 以程序实例为中心, 打破了以教材为中心的传统教学模式, 把授课的重点放在精选出的程序实例的讲述上。
在教学中注重演示、操作、讲解的有机结合, 尽量做到图文并茂, 激发学生的学习兴趣;直接使用软件实时操作进行教学, 学生可以同步感受软件的运行过程;演示程序的调试与运行过程, 使教学更具有直观性和交互性。
1.2 有效利用网络资源
利用校园局域网, 让学生在任何时候都可浏览教师的相关教案、Java API、程序实例, 上交作业, 并根据自测题检测自己对知识的掌握程度。并利用电子邮件、QQ等方式与学生进行课外交流, 为学生答疑解惑。另外, 还鼓励学生有效利用各大搜索引擎和专业技术网站, 建立自己的资源库, 发现问题后首先是自己尝试或者和同学一起解决问题。通过这种方式, 可以培养学生独立思考和解决问题的能力。
1.3 适时发挥激励
组织相关课程的程序设计竞赛, 通过适当的方式奖励优胜者, 以此激励学生的拔尖和创新精神。
2 课程教学方法的多样化
教学过程是一种艺术, 需要多种教学方法的配合与综合应用, 才能达到我们预定的教学目标。因此, 在Java程序设计课程的教学中以解决实际问题的程序设计思想作为教学的切入点, 加强基础、强化实践、注重应用、引导创新, 其目的是使学生学会学习、学会思考, 学会自我启发的“关键能力”。以下本人介绍的方法, 在教学中是穿插使用, 根据不同的教学目标, 教学内容不同会有所侧重。
2.1 引导学生进行探索性学习
以学生为中心, 在教学过程中, 教师引导学生在解题编程的实践中探索其带规律性的认识, 帮助和推动学生架构属于自己的计算机高级程序设计课程的知识体系和技术路线, 让学生在自主探索中获得学习能力。以实际问题为驱动, 通过生动、有趣的典型程序实例的分析、算法设计到编程实现;以应用为出发点, 重点放在讲解程序设计方法和解题思路上, 在分析问题和程序设计实现中使学生逐步熟悉语法和语句的用法, 并学会算法分析和程序设计的能力。
2.2 启发式教学
在教学过程中积极营造活跃、宽松的课堂气氛, 以互动的形式来展开教学。采用启发式教学, 培养学生提出问题、接触问题、接触前沿技术, 通过学生亲身实践、师生之间的互动形式, 让学生体验感受创新实践过程。针对问题, 发动大家思考, 鼓励同学介绍自己的方法和见解, 并开展讨论。运用多媒体课件教学, 传递给学生更多的信息量, 展示程序实例, 给学习者以发表意见和成果的机会, 让其充分展示自我, 增强其主体意识。
2.3 任务教学法
学生的学习活动是一个创造性的劳动过程, 任务教学法主要是围绕一个实际问题, 设计出一个环境, 让所有学生共同参加讨论需要学生解决的问题, 承担不同角色。从信息收集、方案的设计、方案的实施, 到学习结果的评价, 都督促学生相互之间保持良好的协作关系, 进而在携手合作的基础上各司其职, 寻求解决问题的途径, 最终顺利完成学习任务, 由此更增强学生的内心体验, 激发学生的学习动机和愿望。
2.4 实践教学法
Java程序设计是一门实践性非常强的课程, 程序设计技能的培养还需要通过大量的编程训练和上机实践才能获得。对于上机实践的选题, 贯彻以应用出发点的原则, 结合生活, 结合具体所学专业精心挑选难易适中、趣味性强的题目, 提高学生动手能力, 在实践编程的锻炼过程中, 掌握了所学知识, 并达到了应用提高。此外, 教师也要认真检查和考核学生实践操作的完成和掌握情况。
(1) 小组教学法。
在实践教学上本人建议提倡小组教学法。小组教学是指把整个班级划分为若干个学习小组, 组员自由搭配, 以3~5名为宜, 选举组长。刚开始通过几个典型案例, 循序渐进地介绍Java语言, 帮助学生们理解、接受基本的要领和方法, 并对面向对象的概念有比较深入的了解。之后进行案例分析, 并为各小组分配编程任务, 提出纪律要求、技术要求和完成期限, 要求各个小组进行讨论, 并给出最终的解决方案。最后对各个小组的解决方案进行点评。实行小组教学, 可以让不同思想的学生进行交流, 一方面提高他们对知识点的认知程度, 培养他们的团队协作能力;另一方面也可以促进学生处理问题能力的提高。
(2) 陷阱教学法。
在实践教学中再辅以陷阱教学法, 陷阱教学法主要针对学生对代码容易出错的地方, 以及理解不深刻, 在上机、项目中容易持续犯错误的地方。课堂陷阱教学法实施过程中, 教师会在典型的、容易出错误的地方故意犯错, 通过“出问题了”来吸引学员注意力、加深印象, 提升学生对概念的理解及认识。
(3) 激励教学法。
为方便记录学生每次实践操作情况, 每学期特别印制两张学生成绩记录表。设日期, 课程、姓名、问题、计分等栏目。每位学生每次有一格详细记录:得分多少, 奖扣分原因。期末考试结束后, 汇同综合测试、作业计分、理论课堂表现一起统计。将结果复印一份张贴于班级宣传栏中, 并加上教师的评语, 增加学生学习的动力和积极性。
教无定法, 学无定律。在实际教学过程中, 不只是单一的使用, 而应是根据知识点不同多种方法的配合使用。对于以上教学方法, 只做了一些初步的探讨和尝试, 还有待于在教学实践中不断发展和完善, 使新的方法真正成为实施“软件蓝领”人才的教学模式。
参考文献
[1]董俊磊, 韩敏.程序设计实训教学方法的分析与设计[J].魅力中国, 2010, 9.
关键词:Java程序设计课程 教学改革 职业能力
一、课程教学的改革势在必行
中等职业学校的目标是为企业培养具有熟练专业技能和高素质的技术型、实用型、应用型人才,中职教育的教学应更加突出应用和实践性。中职学校的计算机专业都开设了Java程序设计课程,该课程在教学计划中属于专业必修课,是计算机专业的专业核心课程。该课程的目标为培养学生具有面向对象的程序设计能力和开发能力,培养学生创新意识和创新能力。
1.教学现状不能与时俱进
学校计算机专业在二年级第二学期开设Java程序设计课程,属于专业必修课程,目的是使学生掌握Java程序设计的基本能力。然而,由于中职学生的知识基础较差,该课程具有较强的逻辑性和实践性,学生学习有一定的难度。结束Java程序设计课程的学习后,学生的知识不系统,实际应用能力较差。
2.存在的问题
(1)教学方法和手段单一。教师仍然以传统教学方法为主,采用“讲授”—“接受”的课堂教学模式,教学方法单一。教学手段上,虽然有PPT电子板书改进了传统授课方式,但是课件传授信息量过大,播放速度过快,教学中形成“电子灌”,无法给学生思考的空间。导致学生对所学知识不能及时消化,不能掌握课程的知识和技能,造成学生对学习无兴趣,教学效果不好。
(2)教学内容理论与实践不能统一。原有课程的教学采用大学的教学模式,教学内容偏重理论知识的讲解,概念、定义、语法讲解过多,对于程序设计的基本思想和方法较少。学生感觉内容枯燥,记忆知识较多,学习很困难。学生在实践课程中更多地采用验证性试验,仅仅是验证教材和讲课内容中编写程序是否正确,不能进行实际问题的解决。实验内容缺乏设计,学生普遍感觉理论与实践脱节。学习基础较差的中职学生都不能理解并接受,不符合“能力本位”的职业教育理念。
(3)考核评价方式片面。期末考试的形式以笔试为主,学生的学习目标还是在应付考试,缺乏对教学效果和能力多层面的评价。评价方式手段单一,不能反映学生的实际应用能力水平。
为使学生能够适应时代的发展,必须提高专业课程的教学质量,使学生能力符合未来的岗位需要,培养更多的理论知识强、动手能力强的综合技能型人才,所以课程的教学改革势在必行。
二、改革思路与设想
根据中职学校的培养目标及课程特点,理论知识以“必需”和“够用”为前提,重在通过实验教学培养学生的职业能力。通过教学内容的整合与重建;改革教学方法的设计和教学评价;充分利用现代教学方法与手段,实现理论教学和实践教学统一的课程体系。
三、课程教学的具体实施
1.教学内容的整合与重建
优化课程教学内容是教学改革的前提和基础,Java程序设计课程的教学目标是以职业能力培养和实际应用为主。因此,教学内容的组织应根据中职学生的特点,遵循理论与实践相结合的原则进行规划。
(1)根据岗位需求重组教学内容,重视职业技能和职业素养。传统的教学内容是按照教材的章节顺序进行组织,课程内容的安排是按照理论知识的学习为主线。职业学校在课程内容的选择上,应依据软件行业领域和职业能力需求为主线;以实际工作过程为导向,根据实际的工作过程,进行相应的职业能力分解,对教学内容重组整合。同时以软件技术专业人才标准作为培养目标,结合IT行业的发展快的特点,根据当前的主流的技术,及时更新课程内容,使教学内容保持先进性和完整性,兼顾职业素养的培养实现学生的职业可持续发展;引入Java的相关职业的认证标准进行教学内容的调整,更加易于教学活动的开展(见下图)。
图
(2)根据课程内容开发教学项目,重视实际能力的培养。为培养学生建立面向对象程序设计思想,采用“项目引导”的教学模式,整个教学围绕项目的任务解决展开。教师根据教学大纲的要求,进行分析讨论后,结合专业的培养目标,以学生为主体的原则,培养学生对项目分析、设计开发能力及合作能力。通过分析企业岗位的实际工作状况,可以实现学习内容与企业的工作内容对接。因此笔者将教学内容进行三个层面的分解:第一层项目是与课堂教学相适应的单元实践项目,重点突出基本技能的训练;第二层项目是实际应用的软件项目开发,突出职业岗位实际能力培养;第三层项目是创新、实践项目,突出个性化培养和创新能力的培养。
一是与课堂教学相对应的单元项目实践,培养学生软件开发基本技能。围绕课堂教学实训的项目以练习为主,为学生提供的针对性项目包括“聊天系统”“五子棋游戏”“邮件收发系统”通过这些项目的实践,学生可以较全面地了解Java面向对象程序设计方法,掌握面向对象软件开发的基本技能,熟练掌握基本语法和编程规范。这样学生在完成项目的任务后,掌握了相关部分的知识和能力。
二是基于实际应用的软件项目开发实践,突出软件的编程能力培养。通过模拟企业的工作模式和工作流程的项目开发,进一步让学生熟悉Java基本知识和基本技能,训练其实际项目开发经验。4~5位学生组成软件项目组,针对相应的项目,项目组对需求进行分析,并确定开发目标,制订开发计划。按照开发计划独立完成项目的开发。整个开发过程中,以学生自主开发为主,教师的作用仅为答疑,开发过程监控以及对共性问题进行总结与归纳。教师对学生完成的项目进行验收与评价,进行展示和点评。
在教学项目开发中,教师把一个较大项目分解为若干个子项目,子项目进一步划分为典型的任务,让学生在项目的具体任务中,掌握任务中蕴含的知识点,并熟练地综合运用这些知识解决实际问题。引导学生自主思考,培养学生研究性学习、探究性学习的能力。学生实际操作由少到多,符合职业学校的特点和认知规律,从而激发学生的学习兴趣。
例如,设计“学生考试系统”的程序项目时。我们把程序项目分析后,把职业能力分解为:开发工具的安装和使用能力—程序设计的基本知识—OOP设计能力—异常处理能力—界面设计能力—数据库使用能力—文件操作能力—多线程设计能力—网络通信能力。根据分解的职业能力,在教学中把职业能力转换为10个学习项目,每个项目又分为若干子任务,基本每个子任务都是一个独立的设计项目。每个子任务通过情境引出并实现相关知识的学习和拓展。考试系统的项目分解的10个小项目,见下表。
表
学习项目
项目1,成绩输入与求总分输出
项目2,学生多科目成绩管理
项目3,学生类的实现
项目4,录入成绩异常处理
项目5,图形化学生信息输入输出功能实现
项目6,成绩的图形表示
项目7,从文件中读写题库信息
项目8,用户注册与认证系统
项目9,网络考试系统多用户的处理
项目10,网络考试系统计算机间的通信
(3)Java创新项目突出创新能力和个性化培养。对项目开发能力较强并有意从事项目开发的学生,我们通过让其参与创新的开发工作,更进一步锻炼其研究性学习能力和创新能力。Java创新的学习采用学生自主管理模式,从技术方向选择、技术研究路线确定、技术实现等均由学生完成,教师主要起咨询和引导作用。
2.教学方法的改革
(1)创设学习情境,激发学生的学习兴趣。在课堂教学中,提高学生的学习兴趣,让学生行动起来成为学习的主体是教学改革的关键。根据专业教学的目标,在具有岗位特色的项目情境中进行学习,通过“角色”的体验在行动中获取知识。
(2)以任务驱动模式教学法,提高学生的探究性学习能力。首先把学生分为若干小组,每组4~5名学生。针对项目中任务需求进行分析,确定工作任务,采用任务驱动教学法可以使学生处于探究性质的教学模式,通过“提出任务→分析任务→完成任务→边学边做→总结”的过程实现教学目标。教师和学生根据教学项目、基于实际任务来完成教学活动。在教学中教师处于主导地位,学生成为学习的主体,有利于学生独立分析、解决问题的培养。任务驱动教学法有利于知识和技能的整体掌握,有助于培养学生操作能力和实践应用能力。
例如:我们讲解窗体和图形创建时,提出设计一个“满天星星”的任务。首先让学生想象一下做好的结果应该是什么样子,根据任务进行分析。同组的同学经过讨论和分析,确定将任务分成四步:第一步,做一个窗体;第二步,做一个黑天;第三步,画一个星星;第四步,画三百颗星星,最后形成星空闪烁的效果。
学生在任务的驱动下,先进行简单的知识学习和操作,制作出第一步的窗体。然后根据任务进行第二、三、四步的任务学习。学生的任务完成过程是由简单到复杂,逐步完成最终的教学目标。在任务的完成过程中,学生能体验学习的成就感。同一组的同学层次会有不同,所以在学习中同学互相请教、互相帮助共同完成教学目标。教师在学习的过程中根据学习的进度,进行适当的引导和点评。
(3)结合课件、视频采用启发式教学,进行主动的自主学习。通过和学生交流,笔者发现学生喜欢教师在课堂播放视频,于是笔者把教学过程制作成小视频和课件用于教学指导。让学生在学习过程中通过动画、实例演示、视频演示等方式把课程内容变得更容易理解,让教学方式更为直观生动,教学过程可以根据学生的进度进行调整,使学生更能发挥学习的主体性和自主性。启发教学可以激发学生思维,增强学生学习的主动性、积极性和创造性。例如,当讲授线程部分的知识时,我们不直接给出线程的概念,而是在指导书的引导下让学生观看一个飞行小球的程序。分析小球飞行的过程为什么是一条直线,这样不符合实际情况,是什么原因?从而引出线程的概念,并分析一个进程的执行过程,引导学生进行分析和思考,启发学生解决线程的控制,获得正确的结论。
(4)利用网络资源进行教学延伸,提高专业能力水平。在编程软件的学习中,只靠课程中的项目和案例学习还是不够的,需要进行大量的练习来提高水平。我们鼓励学生访问ACM网站进行学习。ACM网站建立了庞大的题库,而且试题充满趣味性并接近生活,学生能提高实践练习的兴趣,解决更多的实际问题。
灵活使用多种教学方法,可以激发学生的学习兴趣,促进学生积极思考、实践,增强学生学习的主动性、积极性和创造性。
3.以大赛和取证促教学,实现人才培养
(1)通过IT认证,激励学生自主学习,鼓励创新意识。在课堂教学基础上,我们鼓励学生参加《全国计算机等级考试二级Java语言程序设计考试》,根据考试的分数给予加分的奖励。通过准备相关认证考试,可以促进对所学的知识进行总结与提高,并取得相关的职业技术等级证书。
(2)通过技能比赛,实现职业能力的培养。结合学校的职业能力培养举办校级的程序设计技能大赛,丰富学生的校园文化生活,展现学生的风采,提高学生的实用技能。
一是开学初用海报的形式,发出技能比赛通知。把技能比赛的对象面向所有专业的学生,以增加学生的竞争意识,拓宽专业课程的学习范围。
二是对报名参赛的学生通过第二课堂的兴趣小组进行业余培训,培训的内容由浅至深,让学生在规定的时间完成近似企业的实际项目案例。学生对技能培训的内容感到更实用,而且内容连续,所以学习的兴趣很高。
三是比赛的内容分为必做题目和提高题目、拓展题目,能力强的学生在比赛的培训中能够获取更多的知识。使得课程的教学内容和学习的形式得到补充,让学生的业余时间也能学习。
技能大赛可以给学生们一个展示自我的平台,增强自信和竞争意识,实现自我的价值,形成技能竞赛和教学改革相互促进的模式,以技能比赛为手段,培养学生的实践能力和职业能力。通过技能比赛促进教学改革,把教学改革效果融入技能大赛。
4.教学评价的改革
(1)以实际能力为中心,构建立体化的教学评价体系。传统的考试重视理论知识的考核,忽视了对学生对知识的实际运用能力的考核。合理的评价体系,可以加强学生的学习主动性。公正、客观的评价体系,能够真实地反映学生的成长和进步,有利于提高教学质量。教学评价应围绕以能力为中心,通过课堂教学过程、实训项目考核、理论考核全方位的方式进行。学生的课堂教学成绩占30%,期末理论考试占30%,实训考核占40%。而在网络的学习和在ACM平台的学习可以作为加分项,激励学生进行业余学习。学生能够在整个过程中,积极参与学习行动,在自主、自愿、合作中愉快地完成学习。
课堂教学采用过程性的评价,考核强调平时的出勤、行为表现、积极性、参与度等,以及学生在过程中情感、态度和能力的变化;主要考查学生对课程知识的综合运用能力。
每完成一个项目的学习进行一次评比,通过校园网站的平台把每个人的得分公布在学生学习成绩的排行榜上,并按照每10积分换取一枚“贴花”的奖励。如果学习小组的整体成绩优秀,还可以获得优秀的团队的流动红旗,以资鼓励。
实训注重考核学生的实际编程能力,分析问题与解决问题的能力。因此,要对学生的程序开发调试能力、创新能力以及实际项目的内容和技能的掌握情况等进行考查。
(2)通过各种形式评价教学,不断改进教学过程,促进教学目标实现。每个阶段完成后,召开师生的座谈会。在座谈会通过教师互评和学生评议找出教学中的不足,在以后的教学中扬长避短,更好地开展教学。
通过学生关注的微信平台发布学习的信息,让学生对喜欢的“老师”“教学内容”和“教学形式”进行“点赞”或“评论”了解教学改革的效果。
实践说明,合理的评价体系可以提高学生的积极性、创设积极进取的学习环境和培养学生的竞争意识和合作精神。
四、小结
一是经过课程改革,通过对教学内容的整合与重建,在教学过程中更加重视学生实际能力的培养。教学项目要从实际岗位的能力出发,从知识整体性出发,符合对知识的探索认知的学习规律,积累对实际问题的处理经验,使学生的编程和开发能力得到很大的提高。
二是采用了先进的教学方法和多样化的教学手段,激发了学生的学习潜能,学生始终处于一种积极主动的学习状态。学生的创新精神和学习驱动力得到培养,学生的学习兴趣、学习能力、实践能力综合素质得到提高。
三是全方位的评价方式,使得评价的过程更加细化,评价的项目更能够客观反映学生的实际的状态和实际技能的掌握情况,但是在评价中要注意公平合理,操作严谨,才能够更好地为以后的学习定位。
四是开发更具职业岗位特色的校本教材和教学课件以及网络教学的资源供学生学习,提高学生的学习自主性,解决了抽象、难点和自学的问题,丰富了学生的学习途径。
【java程序设计课程】推荐阅读:
《程序设计实践》课程实验内容07-02
vb程序设计课程介绍10-31
《C程序设计》课程教学大纲10-19
启发式在《程序设计》课程教学中的实践11-02
java程序员实习过程09-23
java程序员面试问题10-15
JAVA程序员简历模版10-30
java程序员就业感言11-11
【黑马程序员】Java基础总结05-30