《Java程序设计基础》课程教学大纲
一、 课程说明
课程编码 | 4300110 | 课程类别 | 专业基础课 | ||
修读学期 | 3学期 | 学 分 | 4 | 学 时 | 64 |
课程英文名称 | Java Programming Foundation | ||||
适用专业 | 软件工程 | ||||
先修课程 | C语言 |
二、课程的地位及作用
Java程序设计基础是软件工程专业的必修专业基础课程之一。采用面向对象软件开发方法,集抽象性、封装性、继承性和多态性于一体,帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。通过本课程的教学,使学生了解面向对象的基本概念;初步掌握利用面向对象技术对客观世界建模的方法;能比较熟练地使用Java语言实现复杂度一般的面向对象的程序设计;初步掌握面向对象编程环境的使用。
三、课程教学目标
通过本课程的学习(包括线上观看视频、线上快题测试、线下课堂能力测试、课堂活动(讨论、研讨)、上机实验和作业),培养学生面向对象设计的思想,训练面向对象的思维,理解模块化程序和数据抽象的概念,学会用对象的思维来思考问题、解决问题。要求学生达到如下要求:
1. 知识教学目标
了解Java语言结构化程序设计的基本知识,包括数据类型、常量变量和表达式、流程控制语句、数组与方法;理解掌握Java语言面向对象程序设计的基本知识,包括抽象概念,对象、封装、继承和多态的概念及实现方法;理解掌握异常处理;理解Java语言几个常用基本类的使用方法。
2. 能力教学目标
掌握利用对象分析方法学对复杂度一般的客观世界进行分析和抽象,能够利用UML建模工具建立对象模型,并学会使用Eclipse等IDE进行面向对象软件开发。
3. 素质教学目标
培养学生交流沟通能力、团队合作和创新精神。
四、课程学时学分、教学要求及主要教学内容
(一)课程学时分配一览表
章节 | 主要内容 | 总学时 | 学时分配 | |
讲授 | 实践 | |||
第1章 | 初识Java | 2 | 2 | |
第2章 | Java语言基础 | 4 | 4 | |
第3章 | 流程控制 | 4 | 2 | 2 |
第4章 | 数组 | 4 | 2 | 2 |
第5章 | 方法 | 4 | 2 | 2 |
第6章 | 面向对象基础编程 | 16 | 12 | 4 |
第7章 | 面向对象高级编程 | 14 | 10 | 4 |
第8章 | 包及访问控制权限 | 4 | 2 | 2 |
第9章 | 异常处理 | 4 | 2 | 2 |
第10章 | 常用类 | 8 | 6 | 2 |
学时总计 | 64 | 44 | 20 |
(二)课程教学要求及主要内容
第一章 初识Java
教学目的和要求:了解Java发展过程、Java语言特点和Eclipse工具的基本使用方法、理解Java运行机制、掌握命令模式和Eclipse环境下编译运行一个Java源程序的方法。
教学重点和难点: Java运行机制、命令模式下编译运行一个Java源程序。
教学方法和手段:讲授、案例教学;线上学习、编程演示,多媒体教学。
教学主要内容:(1)Java语言的发展;(2)Java的特点;(3)Java运行机制;(4) JDK 开发环境配置;(5)第一个Java程序;(6)Eclipse基本使用方法。
第二章 Java语言基础
教学目的和要求:了解Java的符号集、Java程序的基本结构、基本编程规范和注释;理解Java的基本数据类型、常量和表达式。
教学重点和难点: Java程序的基本结构、基本数据类型字面常量的表示方法、基本数据类型之间的转换。
教学方法和手段:讲授、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)Java符号集;(2)Java程序的基本结构;(3)编程规范与注释;(4)基本数据类型;(5)变量与常量;(6)表达式。
第三章 流程控制
教学目的与要求:掌握Java的三种控制结构;
教学重点难点: if/else语句、switch语句、for语句、while语句、foreach语句、break语句;
教学方法和手段:讲授、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)选择结构;(2)循环结构;(3)跳转语句。
第四章 数组
教学目的和要求:掌握一维数组和二维数组的定义、初始化及遍历方法、掌握foreach语句的使用方法。
教学重点和难点:规则二维数组的遍历、不规则二维数组的遍历、foreach语句的使用方法
教学方法和手段:讲授、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)一维数组;(2)二维数组;(3)操作数组。
第五章 方法
教学目的和要求:理解方法重载的概念、掌握方法的定义形式和调用方式、方法重载的要求和调用原理。
教学重点和难点:方法签名的要求、方法重载的要求和调用原理。
教学方法和手段:讲授、讨论、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)方法的定义与调用;(2)方法重载。
第六章 面向对象基础编程
教学目的和要求:理解面向对象开发的基本概念,掌握Java语言设计类和对象的方法、理解掌握构造方法、封装、this关键字、static关键字,理解代码块的作用和运行时机,理解单例模式的作用,掌握单例模式的编程步骤,理解对象数组的编程方法,理解内部类的作用,掌握内部类的编程方式。
教学重点和难点:抽象、类、对象的概念、对象特征、构造方法的作用与实现、封装的概念和实现、this关键字的机制、static关键字的作用、静态代码块的运行时机、匿名内部类的实现。
教学方法和手段:讲授、讨论、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)面向对象开发概念;(2)类与对象;(3)构造方法;(4)封装;(5)类设计综合案例;(6)this关键字;(7)static关键字;(8)代码块;(9)单例模式;(10)对象数组;(11)内部类。
第七章 面向对象高级编程
教学目的和要求:理解抽象类、接口、继承、多态的概念,,了解Java 8对接口支持的新特性,理解super关键字的意义,掌握继承的实现方法、super关键字和final关键字的使用方法,理解类之间的依赖关系、关联关系、聚合关系和组合关系,并掌握绘制这4种关系的UML图的方法,理解掌握instanceof关键字的作用和使用方法,理解多态机制,掌握多态编程方法。
教学重点和难点:接口、继承和多态的概念及编程方法,依赖关系、关联关系、聚合关系和组合关系的UML图,多态机制。
教学方法和手段:讲授、讨论、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)继承;(2)super关键字;(3)final关键字;(4)依赖关系;(5)关联关系;(6)聚合关系;(7)组合关系;(8)抽象类;(9)接口;(10)接口新特性;(11)抽象类与接口的关系;(12)类接口混合关系;(13)instanceof关键字;(14)多态概念;(15)多态案例;(16)多态机制。
第八章包和访问控制权限
教学目的和要求:理解包的概念和作用,理解4种访问控制权限的控制范围,掌握利用包、类和4种访问控制权限设置访问权限的方法。
教学重点和难点:包的使用方法、访问权限控制矩阵。
教学方法和手段:讲授、讨论、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)包;(2)访问控制权限。
第九章 异常处理
教学目的和要求:理解异常的概念、了解抛出常见异常的原因,理解掌握try/catch/finally语句、throws及throw关键字的作用和使用方法,掌握自定义异常的方法。
教学重点和难点:异常分类、try/catch/finally的执行机制,自定义异常、throws和throw综合应用。
教学方法和手段:讲授、讨论、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)异常概念;(2)try/catch/finally语句;(3)throws关键字;(4)自定义异常级throw关键字。
第十章 常用类
教学目的和要求:掌握Object类中的常用方法的作用及重写,理解包装类的作用,掌握日期处理类的使用方法,掌握数值格式化类的使用方法,理解正则表达式的概念,掌握正则表达式中常用元字符的作用,了解字符串处理类的主要方法。
教学重点和难点:Object类中的equals()、clone()he toString()方法,数值格式化的模式字符串及编程步骤、正则表达式元字符及编程步骤
教学方法和手段:讲授、讨论、案例教学;线上学习、编程演示、多媒体教学。
教学主要内容:(1)Object类;(2)包装类;(3)日期处理;(4)数值格式化;(5)正则表达式;(6)字符串处理。
五、选用教材及主要参考书目
教材:
覃遵跃,周清平,蔡国民,张彬连.利用案例轻松学习Java语言[M]. 北京:清华大学出版社,2013
主要参考书目
[1] 李兴华.Java开发实战经典(第2版)[M]. 北京:清华大学出版社, 2018
[2] 李刚. 疯狂Java讲义(第五版)[J]. 北京:机械工业出版社, 2019.
[3] (美)凯 S.霍斯特曼(Cay S. Horstmann) . Java核心技术.卷Ⅰ基础知识(第8版)[M]. 2016.
六、考核方式和成绩评定
1、考核方式:本课程的考核方式为闭卷考试。
2、成绩评定:
成绩评定采用百分制,该课程成绩由以下6部分构成(根据实际情况可以调整,但期末测试不能超过40%):
序号 | 考核名称 | 占比 | 考核方式 |
第一部分 | 出勤 | 5% | 线上超星学习通考勤 |
第二部分 | 课堂表现 | 5% | 线上抢答、线上选人 |
第三部分 | 实验考核 | 10% | 线上提交实验报告 |
第四部分 | 能力测试 | 20% | 线下课堂10分钟的快题测试,线上提交测试结果;或者线上10分钟的快题测试 |
第五部分 | 期末考试 | 40% | 线下闭卷考试,有条件改革为线上测试 |
第六部分 | 研讨式学习 | 20% | 线上预习、线上提交方案,线下研讨 |
七、其他说明
1、 充分利用超星慕课平台开展信息化教学,在慕课平台部署教学文件、作业、能力测试、模式考试、课程竞赛和研讨式学习方案等,学生通过在平台提交文档。调动广大学生积极参与,提高学生的学习兴趣、学习积极性和主动性。
2、 采用研讨式教学方法,激活学生学习主动性,培养学生团队协作精神、表达能力以及自学学习的能力。
3、 采用案例教学,增进学生的学习积极性和形成对新概念的认识。
4、 采用问题驱动法,激发学生的学习主动性和加深对一些概念的理解。
5、 利用多媒体教学手段,教师现场编制和演示部分程序。
6、 利用网络资源进行教学,积极建设网络资源,
大纲执笔人:《Java程序设计基础》教学团队
大纲审核人:软件学院教学指导委员会
2018年3月