1.课程描述
本课程是计算机科学与技术专业的一门专业限选修课程。课程的任务是使学生掌握java程序设计语言,理解面向对象程序设计的思路和方法,掌握网络编程的基本技术,培养学生的编程能力,养成良好编码的习惯,为将来参与实际项目的开发奠定坚实的基础。
开设本课程的目的是让学生掌握这一在科研和市场应用方面非常重要的语言及其技术;通过本课程使学生掌握java技术的核心概念,编程方法;培养学生掌握面向对象的思想和程序设计方法;完成本课程的学习后能够熟练的、综合应用java技术和面向对象的思想编写程序解决现实生活中的问题。
2.课程价值
当今,java语言已经成为软件开发领域中应用最广泛的语言之一,在桌面系统、web企业级应用系统、嵌入式系统、移动平台应用等方面都表现出卓越的性能和优势,其面向对象、安全性、平台无关性等诸多优势使得它备受业界瞩目,学习并掌握java语言是对工科类大学生提出的一项新要求。
《java程序设计》是计算机专业本科生必修的一门计算机技术基础课程。通过课程学习,培养学生用“计算机思维”方式进行程序设计,启发学生的创新意识,提高学生在程序设计过程中分析问题和解决问题的实际动手能力,为进一步学习后续相关课程打下坚实的基础。
附件1:广州商学院教学大纲模板
《java面向对象程序设计》教学大纲
课程名称:中文 java面向对象程序设计 英文 java object oriented programming
课程代码:0609280
课程类别:专业必修课
学 分:3
总 学 时:64 (其中:讲授学时:32 实践学时:32 )
适用专业:计算机相关专业
开课学期:第1学期
开课单位:信息技术与工程学院
一、课程在实现人才培养目标中的价值
1.课程描述
本课程是计算机科学与技术专业的一门专业限选修课程。课程的任务是使学生掌握java程序设计语言,理解面向对象程序设计的思路和方法,掌握网络编程的基本技术,培养学生的编程能力,养成良好编码的习惯,为将来参与实际项目的开发奠定坚实的基础。
开设本课程的目的是让学生掌握这一在科研和市场应用方面非常重要的语言及其技术;通过本课程使学生掌握java技术的核心概念,编程方法;培养学生掌握面向对象的思想和程序设计方法;完成本课程的学习后能够熟练的、综合应用java技术和面向对象的思想编写程序解决现实生活中的问题。
2.课程价值
当今,java语言已经成为软件开发领域中应用最广泛的语言之一,在桌面系统、web企业级应用系统、嵌入式系统、移动平台应用等方面都表现出卓越的性能和优势,其面向对象、安全性、平台无关性等诸多优势使得它备受业界瞩目,学习并掌握java语言是对工科类大学生提出的一项新要求。
《java程序设计》是计算机专业本科生必修的一门计算机技术基础课程。通过课程学习,培养学生用“计算机思维”方式进行程序设计,启发学生的创新意识,提高学生在程序设计过程中分析问题和解决问题的实际动手能力,为进一步学习后续相关课程打下坚实的基础。
二、学习者分析
首先,大部分选修程序设计课程的学生都是大一新生,以前从未接触过编程,因此不太了解程序设计的特点,不知道如何学,可能还是沿用中学时代的学习方法,容易走弯路。大部分学生在选修该课程之前没有任何编程基础,不知道应该怎么学。他们经常问的问题是标识符的意义、运算符的功能、for语句中的表达式能否使用嵌套的表达式等。学生主要将注意力放在了编程语言的语法细节上,以为每一个知识点都非常重要,而在实际的编程过程中,这种语法细节没有太大意义。
其次,由于程序设计各个环节都可能存在一些不足,容易导致学生陷入眼高手低、纸上谈兵的误区。最常碰到的问题就是学生对java程序设计的语法非常熟悉,然而一旦要编程解决一个实际问题就无能为力。
再者,学习者网络获取知识,解决问题的能力也不足。没有养成良好的学习习惯,不太愿意记笔记。教师课堂讲授时可能不太在意,事后又不总结。总是期望老师满堂灌讲,自己不太愿意主动学习和钻研。
三、学习目标
1.知识目标
(1) 掌握java语言基础
(2) 熟练掌握对象和类
(3) 掌握继承与多态
(4) 熟练掌握数组和字符串
(5) 掌握java的异常处理
(6) 掌握java的输入输出
(7) 了解gui程序设计
(8) 熟练掌握java的集合
(9) 了解多线程和网络编程
(10) 掌握jdbc技术
(11) 了解对象的常用设计模式
(12) 掌握java程序设计的方法和思想
2.能力目标
(1) 培养学生规范编码和良好的程序设计风格
(2) 培养学生面向对象编程的思维和提高逻辑思维能力
(3) 培养学生发现问题,分析问题和解决问题的能力
(4) 培养良好职业素质和职业道德
(5) 培养团队协作和良好的沟通能力
3.素质目标
(1) 沟通协调能力,正确理解别人的感受和想法,善与倾听,能够理解他人思想和行为背后的原因;
(2) 团队合作能力,愿意与他人合作,主动与其他成员进行沟通交流,分享信息、知识和资源,愿意帮助其他成员解决所遇到的问题,无保留地将自己所掌握的技能传授给其他成员;
(3) 思维能力,头脑灵活、思路清晰,具备缜密的逻辑思维能力以及耐心细致的观察能力。
四、教学内容及学时分配
(一)理论部分
1.java概述(2课时)
[知 识 点]
(1)java起源
(2)特点
(3)开发环境的搭建
(4)第一个小程序
[重 点]
(1)java特点
[难 点]
(1)搭建开发环境
[能力要求]
(1)简单应用:
① 第一个小程序hello world
(2)综合应用:
2.java基本语法(8课时)
[知 识 点]
(1)数据类型、运算符、表达式及其控制结构
(2)数组和字符串
(3)命名规范和注释
[重 点]
(1)基本数据类型的名称、取值范围;
(2)常用关键字的名称及含义;运算符与表达式;
(3)循环语句(for、while、do-while);
(4)跳转语句(continue、break);
(5)数组的定义、创建和引用;
(6)数组的声明、数组元素的引用;
(7)string对象的声明、创建、常用属性和方法。
(8)运算符
[难 点]
(1)数据类型的强制转换;
(2) --运算符;
(3) 逻辑运算符&&与&的区别;
(4)逻辑运算符||与|的区别;
(5)循环控制语句(for、while、do-while)的含义和用法;
(6)跳转语句(continue、break)的含义和用法;
(7)数组元素的访问。
[能力要求]
(1)简单应用:
① 能灵活运用相关语句,语法,解决实际问题
(2)综合应用:
① 编写一个模拟登录程序
② 编写一个循环计数的程序
③ 编写一个判断年龄的程序
3.类与对象(8课时)
[知 识 点]
(1)类的定义、对象的创建、类和对象的关系、数组对象
(2)类的属性和方法的定义、方法重载
(3)静态成员、封装、构造
[重 点]
(1)类的定义和对象的创建;
(2)访问控制符和非访问控制符的作用及混用的原则;
(3)构造函数的特点;
(4)构造函数的继承和重载;
[难 点]
(1)访问控制符中private的应用;
(2)非访问控制符(static,abstract,final);
(3)修饰符的混用原则;
(4)构造函数的继承
[能力要求]
(1)简单应用:
① 完成书本实例:类的定义,实例的生成,实例方法的调用
(2)综合应用:
① 根据项目要求,定义出项目所需要的类book,student
4.继承(2课时)
[知 识 点]
(1)抽象类的定义、抽象类的方法、继承的基础概念
(2)派生子类、继承原则、方法覆盖和重载
(3)super final关键字和object类
[重 点]
(1)抽象类、继承
(2)方法覆盖和重载
[难 点]
(1)super final关键字
(2)派生子类
[能力要求]
(1)简单应用:
① 书本实例:类的继承,多态
(2)综合应用:
5.接口(2课时)
[知 识 点]
(1)接口的定义、接口的特征、接口的使用、接口的作用、接口与抽象类的区别、接口继承。
(2)接口回调、接口参数、接口的实际应用(制订标准)
[重 点]
(1)接口的定义、接口的特征、接口的使用、接口的作用、接口与抽象类的区别
(2)接口继承
[难 点]
(1)接口回调、接口参数
[能力要求]
(1)简单应用:
① 抽象类,接口的定义
(2)综合应用:
① 项目中服务类接口的定义
6.多态(2课时)
[知 识 点]
(1)强制类型转换、对象的多态性、向上类型转换和向下类型转换
(2)实体类的多态性、接口的多态性、抽象类的多态性和多态的特征
[重 点]
(1)向上类型转换和向下类型转换
(2)抽象类的多态性和多态的特征
[难 点]
(1)强制类型转换
(2)接口的多态性
[能力要求]
(1)简单应用:
① 书本实例:多态的应用
(2)综合应用:
① 项目中基础类的多种构造函数、tostring方法的重写
7.内部类(2课时)
[知 识 点]
(1)静态内部类、实例内部类和局部内部类
(2)匿名内部类、匿名对象、内部类的特点和使用范围
[重 点]
(1)静态内部类、实例内部类和局部内部类
[难 点]
(1)匿名内部类、匿名对象、内部类
[能力要求]
(1)简单应用:
(2)综合应用:
8.异常(4课时)
[知 识 点]
(1)异常的概念、异常的处理机制、exception类
(2)try..catch..finally 语句
[重 点]
(1)异常的处理机制
[难 点]
(1)exception类、try..catch..finally语句
[能力要求]
(1)简单应用:
① 能根据要求,处理实际异常语句的编写
(2)综合应用:
① 能根据异常进行定位,排错。
9.i/o操作(6课时)
[知 识 点]
(1)文件类、字节流、字符流
(2)转换类
(3)scanner类
[重 点]
(1)常见的输入输出流对象(文件输入输出流、缓冲输入输出流、数据输入输出流、压缩输入输出流);
(2)基于file的文件和目录操作;
(3)对象的串行化
[难 点]
(1)文件输入输出流;
(2)缓冲输入输出流;
(3)数据输入输出流
[能力要求]
(1)简单应用:
① 对数据文件进行读写操作
(2)综合应用:
① 用文件方式,读/写图书管理系统项目中的数据
10.集合(8课时)
[知 识 点]
(1)集合的概念、常用集合接口collection list map
(2)集合接口的实现类:arraylist hashmap
[重 点]
(1)集合的概念、常用集合接口collection list map
[难 点]
(1)集合接口的实现类:arraylist hashmap
[能力要求]
(1)简单应用:
① 集合数据的实例:arraylist hashmap
(2)综合应用:
综合运用类,接口,实现,测试知识和技术,完成:
① 图书管理系统arraylist版
② 图书管理系统hashmap版
11.图形用户界面(4课时)
[知 识 点]
(1)awt简介、swing简介、基本容器、标签组件、按钮组件、布局组件
(2)其它组件
(3)复选框、下拉列表框、表格
(4)事件处理
[重 点]
(1)常用的标准组件及容器组件的用法;
(2)组件的事件处理;事件监听接口和事件适配器;
(3)常见的布局管理方法和典型容器组件的布局管理方式
[难 点]
(1)标准组件的事件响应;
(2)容器的布局管理;
(3)常用事件类及事件适配器。
[能力要求]
(1)简单应用:
① 书本实例练习,并会举一反三
(2)综合应用:
① 为图书管理项目编写菜单界面
② 为图书管理项目编写功能界面
12.applet应用程序(2课时)
[知 识 点]
(1)applet类的常用方法、生命周期
(2)与网络编程混合使用
[重 点]
(1)applet类的常用方法
[难 点]
(1)网络编程混合使用
[能力要求]
(1)简单应用:
(2)综合应用:
13.多线程(2课时)
[知 识 点]
(1)进程与线程的定义和关系、线程的实现、线程的状态、线程的常用操作方法
(2)线程操作范例、线程的生命周期、线程操作案例(生产者与消费者)
[重 点]
(1)进程与线程的定义和关系、线程的实现、线程的状态、线程的常用操作方法
[难 点]
(1)线程操作案例(生产者与消费者)
[能力要求]
(1)简单应用:
(2)综合应用:
14.网络通信(2课时)
[知 识 点]
(1)ip地址简介、url
(2)socket类及其使用
[重 点]
(1)socket类及其使用
[难 点]
(1)socket类及其使用
[能力要求]
(1)简单应用:
(2)综合应用:
15.jdbc编程(8课时)
[知 识 点]
(1)jdbc简介、mysql数据库、sql语句
(2)驱动类、驱动管理类、连接类、结果集类
(3)对数据库数据的增删查改
[重 点]
(1)jdbc、mysql数据库
[难 点]
(1)驱动类、驱动管理类、连接类、结果集类
(2)对数据库数据的增删查改
[能力要求]
(1)简单应用:
(2)综合应用:
(二)实践部分
1.实验
[实验教学环节作用及目的]
通过面向对象的程序设计(java)的实验,掌握java语言的语法结构,准确使用各种数据类型,正确编写并运行java应用程序;理解类和对象的概念,正确使用类;使用组件设计出既实用又美观的各种界面;理解面向对象中的继承和多态的概念,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。学生根据实验指导教师对实验报告的要求,按时、按质提交实验报告。
[实验教学环节培养学生能力标准]
(1) 培养学生规范编码和良好的程序设计风格
(2) 培养学生面向对象编程的思维和提高逻辑思维能力
(3) 培养学生发现问题,分析问题和解决问题的能力
[实验项目、内容、学时分配及实验类型]
序号 | 实验项目 | 实验内容 | 学时 | 实验类型 (演示、验证、综合、设计研究) | 组数 | 每组学生 人数 |
1 | java应用程序设计基础 | 环境搭建,程序设计流程,语法结构。 | 6 | 验证性 | 54 | 1 |
2 | 对象、类、继承、包. | 类的封装、继承和多态以及oop的设计方法与使用。 | 6 | 验证性 | 54 | 1 |
3 | 集合类,资源类 | string,stringbuffer, math,random,date, calendar | 4 | 验证性 | 54 | 1 |
4 | 接口与异常处理 | 接口和异常处理的的使用及设计方法。 | 2 | 验证性 | 54 | 1 |
5 | 流与文件处理 | javai/o流库,常用的标准数据流类、文件流类、数据输入输出流类、对象流类的使用方法。 | 4 | 验证性 | 54 | 1 |
6 | 多线程与网络编程 | 线程,网络编程 | 4 | 验证性 | 54 | 1 |
7 | 图形用户界面设计 | 窗口与中间容器,布局管理器,事件处理, 对话框,计时器 | 6 | 验证性 | 54 | 1 |
合计 | 32 |
五、考核方案及评价
1.考核内容
2.考核方式(请打√选择,可多选 或根据实际情况自行编写考核方式)
开卷笔试□ 闭卷笔试£ 口试□ 口试加笔试□ 操作考试□ 小论文(大作业)r 小组共同完成项目或任务□ 其他□ |
3.成绩评定(成绩构成应是多方面的,而且应是具体和明确的)
平时成绩所占40%(课堂表现课程作业回答问题20%,出勤情况20%)、期末大作业成绩所占比例60%
六、教学资源
(一)基本教学资源(如教材、教学大纲、教案、教学日历、参考书目)
1.教材:
(1) 《java程序设计》 姚远 苏莹主编、著 机械工业出版社 2017年
2.参考书目:
(1) 《java2 核心技术第6版:基础知识》 (美)cay s.horstmann,gary cornell主编、著 机械工业出版社2003年
(2) 《java程序设计第2版》 雍俊海主编、著 清华大学出版社2015年
(3) 《java编程思想第4版》 (美)bruce eckel主编、著 机械工业出版社2007年
(4) 《java实用教程第4版》 耿祥义 主编、著 清华大学出版社2012年
(5) 《疯狂java讲义》 李刚 主编、著 电子工业出版社2008年
3.教学大纲、教案、教学日历
4.其他
(二)实践教学资源(含校内实践活动场所、校外实践基地等)
1.实训楼s202
(三)网络学习资源(教学资源平台、教学视频链接、论文数据平台等):
1.菜鸟教程:
2 学者网老师个人z6尊龙旗舰厅主页:http://www.scholat.com/course/javachen
课程负责人: 专业负责人/学科带头人:
教研室主任: 学院(部)院长:
执行日期:
说明:
1.字体为宋体。
2.大标题及各章题目,为四号宋体,加粗。
3.首行缩进2字符。
4.内容都是五号宋体。
5.节下的一、二、三或者说(一)(二)(三)或1.2.3.或(1) (2) (3),体例要统一。
6.行间距:内容的行间距固定值为20。
7.页面:左、右:62.5px;上、下:50px;左侧装订,a4。