《面向对象程序设计课程设计(Java)》教学大纲
课程名称:面向对象程序设计课程设计(Java)
课程英文名称:Course design of object oriented programming (Java)
学时/学分数:54/1.5
课程性质:指选
课程类型:专业基础课(实践类)
适用专业:计算机科学与技术
先修课程:程序设计基础
一、 课程简介
《面向对象程序设计(Java)课程设计(Java)》是为《面向对象程序设计(Java)》课程开设的一门专业实验课程,其目的是通过一系列编程类实验,针对面向对象程序设计的基本原
理如抽象、封装、继承、多态以及组合有深入的理解和掌握。让学生在加深对面向对象程序设计基本原理的理解和掌握的基础上,能熟练运用和使用Java语言语法、基础包中的常用类和方法,针对编程问题能运用面向对象思维进行分析、设计和实现代码实现。通过该课程的学习,培养学生运用Java语言和面向对象程序设计思想来编程和解决实际问题,为后继课程的学习和今后在相关领域开展工作打下基础。
、 课程教学目标
通过本课程的学习,学生应达成以下目标:
课程目标1:了解Java语言的常用开发工具以及所用工具的局限性。熟悉Java面向对象程序设计的基本方法和熟练使用Java软件基础包中的常用类和方法,针对编程问题能运用面向对象思维进行分析、设计和实现代码。
课程目标2:能够基于Java和数据库等技术并融合华为鲲鹏云计算技术,独立完成一个简单的C/S应用程序分析和开发工作,或者完成一个现有Java程序的移植和测试。
三、 课程内容安排和基本要求
(一)教学内容、要求及教学方法
课程目标与教学内容和方法的对应关系:
序号
教学内容(知识点)
教学要求
学时
教学方式
课程
目标
1
程序设计基础
熟悉JDK的工作环境,掌握Java语言中流程控制语句和基本的Java语言编程技术。设计Fibonacci数列前20项计算的Java 程序。
3
指导、上机实验、讨论、实验检查
1
2
面向对象设计基础抽象和封装
理解对象和类的基本概念,理解面向对象设计原则中的抽象、封装的概念,掌握get、set、toString和equals方法的设计技巧,掌握方法重载和数组的概念。设计矩阵类Matrix,实现矩阵的加减法运算以及equals()方法和toString()方法。
6
指导、上机实验、讨论、实验检查
1
3
面向对象抽象设计进阶
理解static关键字,掌握类层次和对象层次的区别。理解final关键字,掌握final代表进化终止。理解abstract关键字,掌握抽象类和抽象方法的设计技巧。理解Interface关键字和接口的基本概念。掌握继承和多态这两个面向对象程序的基本原则。设计一个计算不同交通工具运行速度的程序。
9
指导、上机实验、讨论、实验检查
1
4
异常处理、和部分常用类测试
掌握Java的面向对象方式异常处理机制;掌握try、catch、throw、throws、finally五个关键字的用法。设计一个命令行计算器程序,处理所有可能的输入异常。
3
指导、上机实验、讨论、实验检查
1
5
输入/输出流程序设计基础
掌握Java中的输入输出流的基本概念;掌握Java中输入输出流类的分类方式。对实验2设计的矩阵类Matrix进行抽象设计,通过读取文本文件中的数据来创建或初始化矩阵数据,将将矩阵加减运算的结果存入文件。
3
指导、上机实验、讨论、实验检查
1
6
多线程程序设计基础
掌握多线程的基本概念;掌握Java中的多线程编程技巧;掌握Thread类和Runnable接口。设计一个哲学家就餐问题的程序。
6
指导、上机实验、讨论、实验检查
1
7
网络程序设计基础
理解计算机网络的工作原理;掌握网络编程的基本概念;掌握Java中套接字编程技术。设计一个基于UDP的多人聊天程序,聊天信息存储在华为鲲鹏云服务器上。
6
指导、上机实验、讨论、实验检查
1,2
8
集合使用技术
理解Java语言中抽象的数据集合框架;
掌握常用集合接口和集合类所代表的数据结构。设计一个统计一本英文小说中单词出现次数的程序。
3
指导、上机实验、讨论、实验检查
1
9
国密算法应用设计练习
熟悉国密算法的用途和Java程序调用方法,会用国密算法设计简单应用程序
6
指导、上机实验、讨论、实验检查
1
10
数据库程序设计
能够基于Java和数据库等技术,设计完成一个简单的C/S应用程序分析和开发工作,程序可以在华为鲲鹏云平台下运行。
9
指导、上机实验、讨论、实验检查
1,2
11*
JSP程序设计基础
使用JSP开发功能丰富的网页。兰大网站界面的分析设计。
6
自学
1,2
备注: 教学要求为针对课程教学目标提出的具体要求;
    教学方式包括讲授、指导、上机实验、讨论等。
四、课程考核
1、考核与评价方式及成绩评定
本课程考核方式及评分比例由平时成绩组成:
    (1)平时成绩 100%
平时成绩由必做实验的考核成绩平均计算得到。每个实验的考核成绩主要通过程序代码、程序运行操作、解释与问题回答等综合评定。
各考核环节所占分值比例可根据具体情况进行调整,建议值及考核细则如下。
课程目标达成考核与评价方式及成绩评定:
注:该表格中比例为课程整体成绩比例。总成绩等于所有实验的平均成绩
(2)考核与评价标准
平时成绩考核与评价标准:
优秀
良好
中等
及格
不及格
90-100
80-89
70-79
60-69
0-59
课程目标1:
程序能按时完成,书写规范、逻辑清晰。
能熟练使用Java面向对象的技术进行设计开发,积极与指导教师交流,勤于思考,解释与回答问题准确。
设计开发中充分体现了管理规则及约束限制性条件。
在华为鲲鹏云完整实现C/S系统,运行稳定,分析文档完整,能正确讲解。
程序能按时完成,书写规范、逻辑较清晰。用java编写一个简单的计算器
能较好地使用Java面向对象的技术进行设计开发,主动与指导教师交流,勤于思考,解释与回答问题较准确。
设计开发中较好体现了管理规则及约束限制性条件。
在华为鲲鹏云实现了C/S系统主要部分,并可正确运行,分析文档逻辑正确,解释与回答基本正确。
程序延时完成,书写较规范、逻辑基本清晰。
基本掌握Java面向对象的技术设计开发,较主动与指导教师交流,有思考,解释与回答问题基本准确。
设计开发中基本体现了管理规则及约束限制性条件。
在华为鲲鹏云实现了C/S系统的主要部分,系统运行由少量错误,分析文档逻辑基本准确,讲解基本准确。
程序不能按时完成,书写基本规范、逻辑不够清晰。
对使用Java面向对象的技术设计开发考虑不全面,不能积极与指导教师交流,解释与回答有错。
设计开发中对管理规则及约束限制性条件考虑较少。
在华为鲲鹏云实现的C/S系统只能少部分运行,分析文档不完整,解释有错误。
程序未完成或书写不规范、逻辑不清晰。
无法使用Java面向对象的技术进行设计开发,不与指导教师交流,解释与回答问题基本错误。
不会使用Java面向对象的技术进行设计开发。
在华为鲲鹏云实现的C/S或B/S系统基本不能运行,或分析文档与程序不对应,或解释错误多。
课程目标2:
五、课程思政教育内容与教学设计
序号
思政元素
教学内容
融入方式
1
爱国情怀、创新精神、保密意识
国密算法应用设计练习
通过介绍国际标准算法,让学生了解美国的技术领先垄断优势,让学生正视现实,产生危机感和使命感,激发同学们的爱国情怀,另一方面,介绍我们国家自主知识产权商密技术特点,说明我们完全可以通过创新,设计自己的安全算法,激发同学们的创新热情;我们把商密算法加入国际标准,坚持开放和标准化,不闭关自守,鼓励学生们坚持国际视野;同时介绍安全算法,私钥必须通过人工管理,防止人为泄露,否则后患无穷,会给国家带来不可估量的损失,强调大家要有商业密码管理的安全保密意识。
2
忧患意识
Java基础程序在鲲鹏平台下的编译和运行。
介绍华为鲲鹏云平台推出的背景,让同学们明白,我们国家的核心技术不能受制于人,要居安思危,要有忧患意识。
六、建议教材及参考资料
(一) 教材
1.Java语言面向对象程序设计(第3版)实验指导》,马俊,郭明超编写,北京:清华大学出版社,2021年。
(二) 参考资料
1.马俊、曾述宾编,《Java语言面向对象程序设计(第3版)》,北京:清华大学出版社,2021年。
2.孙卫琴编,《Java面向对象编程》,北京:电子工业出版社,2006年。
3.耿祥义编,《Java大学实用教程》,北京:电子工业出版社,2005年。
4.耿祥义,张跃平编,《JSP实用教程》,北京:清华大学出版社,2008年。
七、课程达成评价
课程期末考核结束后,任课教师依据《兰州大学本科课程教学质量评价实施办法》,对本课程进行教学质量评价,评价课程目标的达成情况和对毕业要求的支撑情况,分析原因,并提出改进意见。
八、说明
(一)与相关课程的分工衔接
该课对应理论课《面向对象程序设计(Java》,理论课的主要目标是理解、学会分析和思考,该课偏重于操作和实践。该课也是《程序设计基础(C语言)课程设计》课的后继课程,相对于《程序设计基础(C语言)课程设计》,该课重点是训练同学们的面向对象程序设计能力。
该课的后继课程是《JAVAEE课程设计》,侧重完成基于网络的分布式企业级软件开发理论,所以本课中重点训练同学们的基本编程能力,为后继课程打好基础。
本科程的部分实践内容在《面向对象程序设计(Java)》理论课的教学中完成,主要包括面向对象的基本理论讲授和实践。
(二)其他说明
本大纲可根据不同对象、层次、课程要求,对教学内容及顺序安排进行调整。