
✦
课程教学大纲
✦
1
课程性质和目标
本课程是高等院校计算机类相关专业一门重要的学科基础课程,也是本校计算机科学与技术、软件工程、物联网工程、智能科学与技术、数据科学与大数据技术等专业的专业基础课程。
本课程的主要内容是全面、系统地介绍面向对象的基础知识、编程方法和技术,使学生能够全面理解面向对象的程序设计理念和特点,培养学生基于面向对象的计算机编程设计思维,使学生能够熟练运用Java语言处理实际问题,提高学生在程序设计过程中分析和解决实际问题的实践能力,同时启发和锻炼学生的创新意识,并且在课程教学环节中融入课程思政、使学生在思想政治、专业知识、实践能力、创新思维等多个方面得到全面发展。
通过本课程学习,使学生具备下列素养与能力:
课程目标1:熟练掌握面向对象程序设计语言的基本语法,了解软件开发行业现状、最新技术和相关标准,掌握Java应用程序开发所需平台和开发工具的使用。(支撑毕业要求1-3)
课程目标2:精通Java程序设计语言的使用,掌握类、对象、封装、继承、多态等基本概念及使用方法,能够熟练使用Java语言编写应用程序,精通Java语言支持的各种面向对象特征及在程序中的使用。(支撑毕业要求1-3)
课程目标3:掌握面向对象编程思想,包括继承性、封装性、多态性、抽象类以及接口的设计思想,理解软件开发中的代码重用性、可移植性、可维护性的意义,掌握使用面向对象技术分析和设计应用程序。(支撑毕业要求3-1)
2
课程目标与毕业要求的支撑关系

3
教学内容、重难点和课时安排




4
课程思政学时分配表

5
课程教学方法
课程教学采用“线上+线下”的混合式教学模式。线上教学以周为单元,提供600分钟的视频,每周在线推送导学案:课前导学案和课中导学案。课前导学案包括:学习目标、学习要求、学习重点、学习难点、任务安排(观看视频的具体内容、解决的基本问题)。课中导学案包括:学习回顾、知识点归纳、自主探究问题、小组协作问题、课后作业等。线下教学以课堂讲授为主,结合小组协作汇报、课堂练习与讨论、考试等共同实施,具体内容包括:
1.在线学习:按照课前导学案的要求按时完成学习任务,解决基本知识的学习,归纳知识点,完成自主探究问题;每章结束完成本章的在线测试;14周结束,按照规定时间参加在线考试。
2.小组协作学习:每周随机分组,随机产生组长,由组长召集组员对小组协作问题进行讨论,每人都要发表见解,记录员记录地点、时间、问题、讨论结果,小组讨论后由组长在线提交讨论记录;每组制作PPT在课中进行汇报,对仍未解决的问题提交给老师和同学进行讨论。
3.课堂讲授:对每周所学内容进行重点讲解、答疑解惑和总结,帮助学生复习和掌握所学内容,加深学生对基本概念和原理的理解及应用。
4.课后作业:通过布置的课后作业(书面),检查学生对所学到知识掌握程度,以便进行巩固和加深;通过每章的思维导图作业,进行归纳总结,以便形成知识体系。
5.期末考试:采取闭卷的形式,考察学生对所学内容的掌握情况。
6
课程考核方式及评分标准

7
配套教材及简介

-内 容 简 介-
面向对象程序设计是当今主流的程序设计技术,掌握面向对象编程语言和编程方法是一名程序员必备的技能。本书以Java作为描述语言,介绍面向对象编程的基础知识。全书共分为12章,包括Java入门,数据类型与运算符,结构化编程,类、对象和方法,数组,面向对象特征,Java的核心类库,接口与内部类,异常处理,泛型与集合,输入输出,图形界面编程等。
本书重点强调三方面主题: 面向对象编程方法、Java语言的基础知识和Java核心类库。本书采用JDK 21版讲解,融入Java部分新特征,使用流行的IntelliJ IDEA开发工具。本书每章配有习题与上机实验,提供教学大纲、教学课件、电子教案、程序源码、在线题库、习题答案及教学视频等配套资源。
8
目录
目录
第1章Java入门
1.1编程语言概述
1.1.1编程语言
1.1.2编程语言范式
1.2建立开发环境
1.2.1JDK的下载与安装
1.2.2JDK目录
1.2.3关于环境变量
1.2.4Java API文档
1.3第一个Java程序
1.3.1编写Java程序
1.3.2编译Java程序
1.3.3执行Java程序
1.3.4第一个程序分析
1.4IntelliJ IDEA开发工具
1.4.1IntelliJ IDEA的下载和安装
1.4.2创建Java项目
1.4.3Java程序的编辑、编译和运行
1.4.4IntelliJ IDEA代码完成功能
1.4.5代码错误及修改
1.5本章小结
1.6习题与实践
1.7上机实验
第2章数据类型与运算符
2.1Java的数据类型
2.1.1基本数据类型
2.1.2引用数据类型
2.2变量与赋值
2.2.1Java关键字
2.2.2Java标识符
2.2.3变量与赋值
2.2.4语句
2.3文档风格和注释
2.3.1块的风格
2.3.2代码的缩进和空白
2.3.3程序注释
2.4字面值
2.4.1整数型字面值
2.4.2浮点型字面值
2.4.3字符型字面值
2.4.4布尔型字面值
面向对象程序设计(Java语言描述·微课版·基于IntelliJ IDEA)
目录
2.5字符串类型
2.6软件开发过程
2.7数据类型转换
2.7.1自动类型转换
2.7.2强制类型转换
2.7.3表达式类型自动提升
2.8运算符
2.8.1算术运算符
2.8.2比较运算符
2.8.3逻辑运算符
2.8.4赋值运算符
2.8.5位运算符
2.8.6运算符的优先级
2.9案例学习——显示当前时间
2.10本章小结
2.11习题与实践
2.12上机实验
第3章结构化编程
3.1编程方法
3.2选择结构
3.2.1简单if语句
3.2.2双分支if…else语句
3.2.3多分支if…else语句
3.2.4条件运算符
3.3案例学习——两位数加减运算
3.4switch语句与switch表达式
3.4.1switch语句
3.4.2switch表达式
3.5循环结构
3.5.1while循环
3.5.2do…while循环
3.5.3for循环
3.5.4循环的嵌套
3.5.5break语句和continue语句
3.6案例学习——求最大公约数
3.7案例学习——打印输出若干素数
3.8本章小结
3.9习题与实践
3.10上机实验
第4章类、对象和方法
4.1面向对象概述
4.1.1OOP的产生
4.1.2基本概念
4.1.3OOP的优势
4.2类的定义与对象的创建
4.2.1类的定义
4.2.2创建和使用对象
4.2.3用UML图表示类
4.2.4对象的引用赋值
4.2.5理解栈与堆
4.3构造方法
4.3.1无参数构造方法
4.3.2带参数构造方法
4.3.3构造方法的重载
4.3.4this关键字
4.4案例学习——使用Date日期类
4.5方法的设计
4.5.1如何设计方法
4.5.2方法的调用
4.5.3方法重载
4.5.4方法参数的传递
4.6案例学习——分数类Fraction的设计
4.7静态变量和静态方法
4.7.1静态变量
4.7.2静态方法
4.8递归
4.9案例学习——打印斐波那契数列
4.10对象初始化
4.10.1实例变量的初始化
4.10.2静态变量的初始化
4.11变量的作用域
4.12局部变量类型推断
4.13垃圾回收
4.14本章小结
4.15习题与实践
4.16上机实验
第5章数组
5.1创建和使用数组
5.1.1数组的定义
5.1.2访问数组元素
5.1.3数组初始化器
5.1.4增强的for循环
5.2数组的应用
5.2.1数组元素的复制
5.2.2数组参数与返回值
5.2.3可变参数方法
5.3案例学习——数组冒泡排序
5.4java.util.Arrays类
5.5案例学习——桥牌随机发牌
5.6二维数组
5.6.1二维数组的定义
5.6.2数组元素的使用
5.6.3数组初始化器
5.6.4不规则二维数组
5.7案例学习——打印10行杨辉三角形
5.8案例学习——打印输出魔方数
5.9本章小结
5.10习题与实践
5.11上机实验
第6章面向对象特征
6.1面向对象特征概述
6.2包与类库
6.2.1包与package语句
6.2.2类的导入
6.2.3Java类库
6.3案例学习——开发自定义类库
6.4封装性与访问修饰符
6.4.1类的访问权限
6.4.2类成员的访问权限
6.5类的继承
6.5.1类继承的实现
6.5.2方法覆盖
6.5.3super关键字
6.5.4调用父类的构造方法
6.6final修饰符
6.6.1final修饰类
6.6.2final修饰方法
6.6.3final修饰变量
6.7类的关系
6.7.1关联关系
6.7.2聚合关系
6.7.3组合关系
6.7.4依赖关系
6.7.5多重性与关联导航
6.8抽象类
6.9对象转换
6.9.1对象转换简介
6.9.2instanceof运算符
6.10理解多态
6.11本章小结
6.12习题与实践
6.13上机实验
第7章Java的核心类库
7.1Object类
7.1.1toString方法
7.1.2equals方法
7.1.3hashCode方法
7.2String类
7.2.1创建String类对象
7.2.2字符串的基本操作
7.2.3字符串的查找
7.2.4字符串的比较
7.2.5字符串转换为数组
7.2.6字符串的拆分与组合
7.2.7String对象的不变性
7.2.8命令行参数
7.2.9格式化输出
7.3StringBuilder类
7.3.1创建StringBuilder对象
7.3.2StringBuilder的常用方法
7.3.3运算符“+”的重载
7.4案例学习——字符串加密解密
7.5基本类型包装类
7.5.1Character 类
7.5.2Boolean类
7.5.3创建数值类对象
7.5.4自动装箱与自动拆箱
7.5.5字符串与基本类型转换
7.6案例学习——一个整数栈的实现
7.7Math类
7.8BigInteger类和BigDecimal类
7.9日期时间API
7.9.1LocalDate类
7.9.2LocalTime类
7.9.3LocalDateTime类
7.9.4Instant类、Duration类和Period类
7.9.5日期时间解析和格式化
7.10案例学习——打印输出月历
7.11本章小结
7.12习题与实践
7.13上机实验
第8章接口与内部类
8.1接口
8.1.1接口的定义
8.1.2接口的实现
8.1.3接口的继承
8.1.4接口类型的使用
8.1.5常量
8.2接口方法
8.2.1默认方法
8.2.2私有方法
8.2.3静态方法
8.2.4关于接口与抽象类
8.3接口示例
8.3.1ComparableT接口
8.3.2ComparatorT接口
8.4案例学习——比较员工对象大小
8.5记录类型
8.6枚举类型
8.6.1枚举的定义和使用
8.6.2在switch中使用枚举
8.6.3枚举的构造方法
8.7内部类
8.7.1成员内部类
8.7.2静态内部类
8.7.3匿名内部类
8.7.4局部内部类
8.8注解类型
8.8.1注解概述
8.8.2标准注解
8.8.3定义注解类型
8.9本章小结
8.10习题与实践
8.11上机实验
第9章异常处理
9.1异常与异常类
9.1.1异常的概念
9.1.2异常类型
9.2用try…catch捕获异常
9.3捕获多个异常
9.4throws和throw关键字
9.5try…with…resources语句
9.6自定义异常类
9.7案例学习——数组不匹配异常
9.8本章小结
9.9习题与实践
9.10上机实验
第10章泛型与集合
10.1泛型
10.1.1泛型类
10.1.2泛型接口
10.1.3泛型方法
10.1.4通配符“?”的使用
10.1.5方法中的有界参数
10.2集合框架
10.3List接口及实现类
10.3.1List的操作
10.3.2ArrayList类
10.3.3遍历集合元素
10.3.4数组转换为List对象
10.4Set接口及实现类
10.4.1HashSet类
10.4.2TreeSet类
10.4.3对象顺序
10.5Queue接口及实现类
10.5.1Queue接口和Deque接口
10.5.2ArrayDeque类和LinkedList类
10.5.3集合转换
10.6案例学习——用集合存储、遍历学生信息
10.7Map接口及实现类
10.7.1Map接口
10.7.2HashMap类
10.7.3TreeMap类
10.8Collections类
10.9本章小结
10.10习题与实践
10.11上机实验
第11章输入输出
11.1I/O概述
11.1.1File类
11.1.2文本I/O与二进制I/O
11.2二进制I/O流
11.2.1OutputStream类和InputStream类
11.2.2FileOutputStream类和FileInputStream类
11.2.3缓冲I/O流
11.2.4DataOutputStream类和DataInputStream类
11.2.5PrintStream类
11.2.6标准输入输出流
11.3案例学习——文件加密解密
11.4文本I/O流
11.4.1Writer类和Reader类
11.4.2FileWriter类和FileReader类
11.4.3BufferedWriter类和BufferedReader类
11.4.4PrintWriter类
11.4.5使用Scanner对象
11.5案例学习——统计文件字符数、单词数和行数
11.6对象序列化
11.6.1对象序列化与对象流
11.6.2向ObjectOutputStream中写对象
11.6.3从ObjectInputStream中读对象
11.6.4序列化数组
11.7本章小结
11.8习题与实践
11.9上机实验
第12章图形界面编程
12.1组件和容器
12.1.1Swing概述
12.1.2组件
12.1.3容器
12.1.4简单的Swing程序
12.2容器布局
12.2.1FlowLayout布局
12.2.2BorderLayout布局
12.2.3GridLayout布局
12.2.4JPanel类及容器的嵌套
12.3事件处理
12.3.1事件处理模型
12.3.2事件类
12.3.3事件监听器
12.3.4事件处理的基本步骤
12.4常用组件
12.4.1JTextArea类
12.4.2JCheckBox类
12.4.3JRadioButton类
12.4.4JComboBox类
12.4.5JOptionPane类
12.4.6JFileChooser类
12.4.7菜单组件
12.5案例学习——八皇后问题解
12.6案例学习——简单的日历程序
12.7本章小结
12.8习题与实践
12.9上机实验
参考文献
9
189页教案样例



10
在线题库(www.qingline.net)
11
PPT样例

12
上机样例

11
AI助教返回搜狐,查看更多