个人介绍
面向对象程序设计(JAVA)

主讲教师:刘启玉

教师团队:共2

  • 刘启玉
  • 杨勇
本课程主要讲授Java语言的基础知识、最新技术和Java程序的设计开发方法,使学生逐步掌握使用面向对象程序设计的思想和方法,熟悉Java平台的基本框架及体系结构,能独立、比较熟练地用Java技术和主流IDE进行中小规模的程序设计和开发,为后续课程及大中型应用软件的研究、设计打下基础。同时,课程强调软件设计思维和工程规范的培养,为后续开展企业应用开发技术的学习和实践打下基础。
课程适合已经具有一门编程语言基础,想要学习面向对象方法和编程技术的学生。
课程综合成绩=平时成绩*40+期末考试*60%
平时成绩包括:课堂表现、小测试、实验/作业
学校: 浙大宁波理工学院
开课院系: 计算机与数据工程学院
课程编号: 20174543
学分: 3.0
课时: 64
教师团队

刘启玉

职称:教师

单位:浙大宁波理工学院

部门:计算机与数据工程学院

杨勇

职称:讲师

单位:浙大宁波理工学院

部门:计算机与数据工程学院

教学方法

本课程采用“视频学习+线上练习+课堂讲解”的方式,让学生不仅可以学习面向对象的概念和思想,还能通过编程实践掌握Java编程能力,提高面向对象思想的应用能力。通过学习指导参考资料,学生还可进一步学习Java的原理与高级应用知识。

学习平台使用宁理云学堂(学习通)+PTA。

为了完成线上实验平台的练习与考试,请务必在PTA(https://pintia.cn/)注册。登录后点击右上角个人中心进行我的绑定。

参考教材

1. Java语言程序设计与数据结构(基础篇),梁勇(Y. Daniel Liang)著,戴开宇译,原书第11版,机械工业出版社,2019年10月。

2. Java面向对象思想与程序设计,刘彦君、张仁伟、满志强编著,人民邮电出版社,2018年11月。

教学大纲

(一)课程基本信息

1.课程代码:20174543

2.课程名称:面向对象程序设计(Java)/ Object-Oriented Programming in Java

3.课程类别:专业主修课程

4.学分/总学时:3.0/64 ,其中理论教学(学分/学时):2.0/32 ;实验教学(学分/学时):1.0/32

5.面向对象:信息与计算科学专业

6.先修课程:C语言程序设计,程序设计综合训练

7.后续课程:Web应用开发技术

(二)课程简介

面向对象程序设计(Java)是信息与计算科学专业的专业主修课,主要内容:面向对象的基本思想与理论,包括抽象、封装、继承与动态等内容;Java编程技术,包括对面向对象编程的支持以及Java平台的技术功能。通过本课程的学习,培养面向对象的思维和设计开发能力,为进一步学习企业级软件开发技术打下基础。

(三)课程教学目标和能力要求

本课程的教学目标是让学生全面掌握面向对象的基本理论和Java编程技术,面对具体的实际问题,会初步识别类、对象以及类之间的关系,在此基础上,能够进行类的成员设计以及访问控制确定,从而达到面向对象建模及模型求解的要求。具体在知识、能力、素质方面达到如下目标要求:

知识要求:掌握面向对象的基本概念、设计思想,包括类、对象、抽象与封装、属性和方法、类的继承和多态等,以及相应的Java实现方法;掌握面向对象建模的基本方法,能用UML类图表达;掌握Java的集合框架、输入输出等常用工具类及异常处理机制;熟悉几种常用的设计模式;

能力要求:面向计算机复杂工程问题中的软件系统的实际问题,具有一定的判断、分析、概括、关系等抽象思维能力,能够用面向对象的理念思考问题,会识别并建立面向对象模型,能够运用Java语言面向对象模型进行求解与表达。

素质要求:培养良好的编程规范和开发习惯,具有良好的团队合作精神与较好的沟通能力,能够综合运用所学解决实际问题。

根据课程特点和对毕业要求的贡献度,设定课程目标为:

CO1:系统掌握面向对象的基本原理和基础知识,能够对软件系统中的实际问题进行面向对象的分析与识别,找出其相互关系,并初步学会辨识模型边界的方法;

CO2:在识别的基础,学会面向对象建模及求解方法,能够设计类及类的成员,确定类之间的关系等;

CO3:针对特定的应用需求,能够选择或设计程序架构,并运用Java技术实现系统的功能;

CO4:养成良好的开发习惯,遵守编码规范,具有严谨的工作态度、高度的责任意识。

以上课程目标与毕业要求指标点的对应关系如表3-1所示:

表3-1  课程目标(Course Object,CO)与毕业要求指标点对应关系                                                                     

 

序号

 
 

课程目标

 

毕业要求指标点

 
 

CO1

 
 

CO2

 
 

CO3

 
 

CO4

 
 

1

 
 

毕业要求2.1

 
 

 



 

2

 
 

毕业要求2.2

 

 

 


 

3

 
 

毕业要求3.2

 


 

 

 

4

 
 

毕业要求8.3

 



 

 
  • 相关毕业要求指标点:

本课程支撑专业培养计划中毕业要求2.1,2.2,3.2,8.3:

1. 毕业要求2.1:能够对信息与计算科学及其应用领域的复杂工程问题,结合专业知识,能够进行判断与原型识别,并能辨识问题的边界。占该指标点支撑权重系数M;

2. 毕业要求2.2:能够在识别的基础上,进行有效的分析与求解,建立求解模型,并得出问题的准确表达与描述。占该指标点支撑权重系数H。

3. 毕业要求3.2:针对特定的问题、需求或产品定义,充分考虑工程的社会属性(包括文化、经济、法律等),能够选择或设计系统实现的技术路线,完成系统设计并实现。占该指标点支撑权重系数H;

4. 毕业要求8.3:理解信息与计算科学及其应用的社会价值,理解并自觉履行行业职业道德和行为规范,有较强的社会责任心。占该指标点支撑权重系数L。

(四)课程教学方法

1. 课堂精讲与自学相结合。课堂以教师讲授为主,着重讲解方法或技术要点,以及背后的原理和脉络。结合课堂互动,充分调动学生的积极性、主动性;部分内容在课下由学生根据资料和在线视频等进行自学,对课堂内容进行巩固拓展或者补充。

2. 实践环节。以学生实践为主,学生依据实验任务和视频进行练习,教师针对实验中的共性问题进行讲解演示。

3. 案例教学。通过一个银行账户管理系统案例的开发和演进为主线贯穿始终,让学生经历一个系统从设计到实现的完整过程,帮助学生克服开发中的困难,形成系统开发的初步经验。

(五)课程思政

“科学强国”思想:面向对象思想以及编程语言是计算机技术发展中的基础性内容,引导学生重视基础学科,建立“科学强国”思想,激发学生的爱国主义热情。

工匠精神:在设计与实现过程中,任何技术解决方案都可以精益求精。

中国梦:面向对象设计思想的特点之一是封装变化,社会千变万化,唯一不变的是只有社会主义才能实现中国梦。

(六)课程内容及教学安排

表6-1 课程知识单元、教学内容(知识点)、学时分配及课程目标对应关系                              

 

序号

 
 

知识单元

 
 

知识点及要求

 
 

学时分配

 
 

对应课程目标

 
 

作业要求

 
 

教学方法

 
 

备注

 
 

1

 
 

开始Java

 
 

了解面向对象基本概念、Java程序结构和组织,能够编写简单面向对象程序,读取控制台输入

 
 

4

 
 

CO1、CO3

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

2

 
 

Java语言基础

 
 

熟悉数据和变量、控制结构,掌握方法设计思想,掌握基本的字符串与文本输入处理

 
 

4

 
 

CO1、CO2

 

CO3、CO4

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

3

 
 

类与对象

 
 

掌握类、对象的基本概念,类中成员构成与访问,类的成员设计

 
 

4

 
 

CO1、CO2

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

4

 
 

类与对象进阶

 
 

掌握UML类图设计、类的组合设计方法与常用设计模式,熟悉数组、反射机制,理解Bank案例。

 
 

4

 
 

CO1、CO2

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

5

 
 

继承与多态

 
 

掌握继承关系中类及其成员之间相互关系

 
 

2

 
 

CO1

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

6

 
 

抽象类和接口

 
 

掌握接口的概念,Java常用接口List、Set及其实现类,Date和Object相关类的使用。

 
 

4

 
 

CO1,CO3

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

7

 
 

异常处理

 
 

掌握Java的异常处理机制,了解自定义异常

 
 

2

 
 

CO2

 
 

实验

 
 

教师讲授

 

案例教学

 

 

8

 
 

字符串处理

 
 

掌握字符串处理的常用工具,使用模式进行文本匹配

 
 

2

 
 

CO3

 
 

实验

 
 

教师讲授

 

案例教学

 

 

9

 
 

输入输出

 
 

掌握Java输入/输出、文件处理,理解其中的设计模式。

 
 

2

 
 

CO2、CO3

 
 

程序设计

 
 

教师讲授

 

案例教学

 

 

10

 
 

集合框架

 
 

熟悉泛型的基本概念与使用方法,熟悉集合框架结构及核心类的使用

 
 

2

 
 

CO3

 
 

实验

 
 

教师讲授

 

师生研讨

 

案例教学

 

 

 

 

11

 
 

多线程

 
 

了解线程、熟悉Java的相关类的使用

 
 

2

 
 

CO2

 
 

实验

 
 

教师讲授

 

案例教学

 

 

小计

 
 

32

 
 

-

 
 

-

 
 

-

 

注:1.知识点及要求须通过“了解”、“熟悉”、“掌握”等词汇来描述;

2.作业要求写明何种类型题目、几道题目,无需写出具体内容;

3.教学方法指包括教师讲授、师生研讨、网络学习、分组讨论、实践教学等。

表6-2 课内实验单元、教学内容(知识点)、学时分配及课程目标对应关系                     

 

序号

 
 

实验单元

 
 

知识点及要求

 
 

实验类型

 
 

学时分配

 
 

对应课程目标

 
 

每组人数

 
 

实验要求

 
 

备注

 
 

1

 
 

Java编程入门

 
 

熟悉Java工作原理及开发工具、Java编码规范,掌握简单输入处理

 
 

验证性

 
 

4

 
 

CO1

 

CO3

 

CO4

 
 

1

 
 

必做

 

 

2

 
 

Java编程基础

 
 

熟悉基本语法、变量类型和控制结构,掌握方法设计思想,掌握简单的字符串和文本输入处理

 
 

验证性设计性

 
 

4

 
 

CO1

 

CO3

 

CO4

 
 

1

 
 

必做

 

 

3

 
 

类的设计基础

 
 

掌握类及类成员设计的基本方法,初步设计包含2个类的程序。

 
 

设计型

 
 

4

 
 

CO1

 

CO2

 
 

1

 
 

必做

 

 

4

 
 

类的组合设计

 
 

熟悉根据问题需求来设计类及成员、类和类之间的关系,并综合运用所学知识,初步解决实际问题

 
 

设计性综合性

 
 

4

 
 

CO1

 

CO2

 
 

1

 
 

必做

 

 

5

 
 

继承和多态

 
 

掌握继承关系中类之间相互关系的分析和实现,并使用UML类图表达。

 
 

验证性设计性

 
 

2

 
 

CO1

 

CO2

 
 

1

 
 

必做

 

 

6

 
 

接口与集合

 
 

掌握集合类型接口ListSet及其实现类,应用于改进Bank程序。

 
 

验证性设计性

 
 

4

 
 

CO2

 

CO3

 
 

1

 
 

必做

 

 

7

 
 

异常处理

 
 

掌握Java异常机制,熟悉自定义异常的编写

 
 

设计性

 
 

2

 
 

CO2

 
 

1

 
 

必做

 

 

8

 
 

字符串处理

 
 

掌握常用字符串处理类,使用正则表达式分析文本

 
 

验证性设计性

 
 

2

 
 

CO3

 
 

1

 
 

必做

 

 

9

 
 

输入输出

 
 

掌握二进制和文本I/O的常用方法

 
 

验证性

 
 

2

 
 

CO3

 
 

1

 
 

必做

 

 

10

 
 

泛型与集合框架

 
 

熟悉泛型的使用场合,会根据不同情况选择集合类

 
 

设计型

 
 

2

 
 

CO3

 
 

1

 
 

必做

 

 

11

 
 

讨论

 
 

案例分析与讨论

 

 

2

 
 

CO1

 

CO4

 



 

小计

 
 

32

 
 

-

 
 

-

 
 

-

 

注:1.知识点及要求须通过“了解”、“熟悉”、“掌握”等词汇来描述;

2.实验/实践类型包括演示性、验证性、综合性、设计性、研究性等;

3.实验要求包括必做、选做。


(七)课程考核方式

1.总评计分制:百分制

      2.考核方式:考试(√);考查( )

3.考核点支撑课程目标关系

表7-1 课程目标与考核细项的支撑关系                                                                                                                                   

 

课程目标

 
 

考核细项

 
 

支撑权重系数

 
 

成绩百分占比

 
 

记录文档

 
 

具体评价内容

 
 

CO1

 
 

学习态度

 
 

0.05

 
 

5

 
 

考勤记录

 
 

考勤

 
 

平时成绩

 
 

0.09

 
 

9

 
 

源程序、成绩记录表

 
 

作业133a3b456;课堂互动;网络资料学习

 
 

期末成绩

 
 

0.07

 
 

7

 
 

期末试卷

 
 

期末考试第135

 
 

CO2

 
 

学习态度

 
 

0.05

 
 

5

 
 

考勤记录

 
 

考勤

 
 

平时成绩

 
 

0.10

 
 

10

 
 

源程序、成绩记录表

 
 

作业33a3b456;课堂互动

 
 

期末成绩

 
 

0.30

 
 

30

 
 

期末试卷

 
 

期末考试第1345

 
 

CO3

 
 

平时成绩

 
 

0.08

 
 

8

 
 

源程序

 
 

作业22x346

 
 

期末成绩

 
 

0.20

 
 

20

 
 

期末试卷

 
 

期末考试第124

 
 

CO4

 
 

平时成绩

 
 

0.03

 
 

3

 
 

源程序

 
 

作业122x5

 
 

期末成绩

 
 

0.03

 
 

3

 
 

期末试卷

 
 

期末考试第5

 
 

合计

 

 

1

 
 

100

 


注:期末考试成绩不超过60%。

 

4.考核评分标准

1)课程总评成绩包含以下部分:

总评成绩=平时成绩×30%+学习态度×10%+期末考试×60%

平时成绩包含:作业、实验、课堂互动、网络资料学习。网络资料学习成绩由课程平台自动生成。

学习态度包含:考勤(迟到、早退、旷课)、课堂与实践环节表现等。考勤成绩全勤得10分,迟到1次扣分1++,旷课扣分2++。

2)作业为程序设计题。实验环节抽查实验结果并讲评,再通过作业进行检验。

3)期末考试按照参考答案和评分标准进行评分,最终成绩按照百分制评分。


(八)教材及教学参考书

教材:

Java语言程序设计与数据结构(基础篇)(原书第11版),Y. Daniel Liang著,戴开宇译,北京:机械工业出版社,2018年5月。 

主要参考书:

1. Java语言程序设计,郎波编著,北京:清华大学出版社,2016年8月第3版。

2. Java面向对象思想与程序设计,刘彦君、张仁伟、满志强编著,北京:人民邮电出版社,2020年3月。

教学日历

教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1 第一个Java程序
文档
.pdf
2024-09-03 1.15MB
 
作业
.work
2024-09-19 --
 
文档
.pdf
2024-09-19 1.12MB
1.2 简单的面向对象程序
文档
.pdf
2024-09-03 1.75MB
1.3 Java程序结构和组织
文档
.pdf
2024-09-03 707.43KB
1.4 读取控制台输入
文档
.pdf
2024-09-03 878.68KB
1.5.1 lab01 Java开发入门
视频
.mp4
2024-09-03 59.02MB
 
视频
.mp4
2024-09-03 50.36MB
 
文档
.pdf
2024-09-03 1.39MB
2.1 数据和变量
视频
.mp4
2024-09-03 88.94MB
 
文档
.pdf
2024-09-03 1.75MB
2.2 控制结构
视频
.mp4
2024-09-03 39.44MB
 
文档
.pdf
2024-09-03 891.50KB
2.3 方法设计
视频
.mp4
2024-09-03 42.89MB
 
文档
.pdf
2024-09-03 1.14MB
2.4 常用知识
视频
.mp4
2024-09-03 409.06MB
 
文档
.pdf
2024-09-03 842.97KB
2.5 字符串与文本输入输出
视频
.mp4
2024-09-03 98.46MB
 
文档
.pdf
2024-09-03 1.06MB
 
文档
.pdf
2024-09-03 869.23KB
2.6 章节测验
作业
.work
2024-09-26 --
2.7.2 lab02-2 Java编程基础2
文档
.doc
2024-09-03 39.00KB
2.7.3 lab02-3 字符串与简单IO
文档
.doc
2024-09-03 47.50KB
3.1 类的产生
视频
.mp4
2024-09-03 342.72MB
 
文档
.pdf
2024-09-03 1.31MB
 
作业
.work
2024-10-10 --
3.2 对象的操作及构造
视频
.mp4
2024-09-03 660.83MB
 
文档
.pdf
2024-09-03 1.70MB
 
作业
.work
2024-10-10 --
3.3 类成员的设计
视频
.mp4
2024-09-03 728.83MB
 
文档
.pdf
2024-09-03 1.13MB
 
作业
.work
2024-10-16 --
3.4 方法的参数
视频
.mp4
2024-09-03 188.17MB
 
文档
.pdf
2024-09-03 571.43KB
3.5 初始化与清除
视频
.mp4
2024-09-03 225.85MB
 
文档
.pdf
2024-09-03 513.17KB
3.6 数组
视频
.mp4
2024-09-03 63.01MB
 
文档
.pdf
2024-09-03 913.16KB
3.7 章节测验
作业
.work
2024-10-16 --
3.8.2 lab03-1 类设计基础
文档
.pdf
2024-09-03 585.16KB
3.8.3 lab03-2 设计一个产品管理程序
文档
.pdf
2024-09-03 648.27KB
 
附件
.zip
2024-10-31 3.08KB
4.1 类的设计
视频
.mp4
2024-09-03 493.19MB
 
文档
.pdf
2024-09-03 887.71KB
4.2 UML
视频
.mp4
2024-09-03 260.42MB
 
文档
.pdf
2024-09-03 1.04MB
4.3 面向对象设计实践
文档
.pdf
2024-12-25 606.85KB
4.4 反射
文档
.pdf
2024-09-03 206.43KB
4.5 章节测验
作业
.work
2024-11-13 --
4.6.1 lab04-1 类的组合设计
文档
.doc
2024-09-03 57.00KB
4.6.2 项目实践
文档
.pdf
2024-09-08 1.34MB
5.1 继承
视频
.mp4
2024-09-03 83.09MB
 
文档
.pdf
2024-09-03 1.92MB
 
作业
.work
2024-11-28 --
5.2 多态
视频
.mp4
2024-09-03 36.75MB
 
文档
.pdf
2024-09-03 1.31MB
5.3 章节测验
作业
.work
2024-11-27 --
5.4.1 lab05-1 继承和多态
文档
.doc
2024-09-03 181.00KB
6.1 抽象类和接口
文档
.pdf
2024-09-03 837.29KB
 
作业
.work
2024-11-28 --
6.2 List及其实现类
文档
.pdf
2024-09-03 569.43KB
6.3 Date及相关处理
文档
.pdf
2024-09-03 385.32KB
6.4 DAO模式
文档
.pdf
2024-09-03 412.37KB
 
附件
.${file.extension}
2024-11-29 --
6.5 常用接口
文档
.pdf
2024-09-03 770.76KB
6.6 嵌套类
文档
.pdf
2024-09-03 356.43KB
6.7.1 lab06-1 接口基础
附件
.zip
2024-11-28 1.29KB
 
文档
.doc
2024-11-28 53.00KB
6.7.2 lab06-2a List和Set集合
文档
.doc
2024-09-03 52.00KB
6.7.3 lab06-2b 定时器设计
附件
.zip
2024-12-05 3.45KB
6.7.4 lab06-3 基于DAO模式改进产品管理系统
附件
.zip
2024-12-05 3.35KB
7.1 异常处理
文档
.pdf
2024-09-03 1.26MB
7.2 章节测验
作业
.work
2024-12-12 --
8.1 String类与字符串处理
文档
.pdf
2024-09-03 887.75KB
8.2 常用字符串处理类
文档
.pdf
2024-09-08 566.06KB
8.3 使用正则表达式
文档
.pdf
2024-09-08 715.87KB
8.4 正则表达式基础
文档
.pdf
2024-09-08 493.07KB
8.5 微博系统设计与开发
文档
.pdf
2024-12-19 600.96KB
8.6 实验
附件
.log
2024-09-03 222.61KB
9.1 I/O流概述
文档
.pdf
2024-09-03 543.43KB
9.2 文件I/O
文档
.pdf
2024-09-08 694.20KB
9.3 常用I/O流类
文档
.pdf
2024-09-08 856.10KB
9.4 对象序列化
文档
.pdf
2024-09-08 232.73KB
9.5 I/O流中的设计模式
文档
.pdf
2024-09-03 668.70KB
9.6 实验
文档
.pdf
2024-09-03 208.72KB
10.1 集合
文档
.pdf
2024-09-03 742.64KB
 
作业
.work
2024-12-12 --
10.2 泛型
文档
.pdf
2024-09-03 494.78KB
11.1 Java线程基础
文档
.pdf
2024-11-27 821.62KB
11.2 线程的协作
文档
.pdf
2024-11-27 786.98KB
提示框
取消 进入课程
提示框
确定要报名此课程吗?
确定取消

京ICP备10040544号-2

京公网安备 11010802021885号