理论部分 序号 教学内容提要 基本要求 学时 1)理解C+输入输出流的基本概念: 第7竞输入输出流 7.1C+的输入和输出 2)掌握标准输出流、标准输入流的用法 3)掌握文件操作与文件流的概念、文件流 7 72标准输出流输入流 2 类与文件流对象、文件的打开与关闭、对 74文件操作与文件流 ASCI文件的操作、对二进制文件的操作 7.5字符串流 4)了解字符串流。 第8章C+工具 )了解命名空间的概念、使用命名空间 8 8.1命名空间 成员的方法、标准命名空间sd 8.2使用标准库内的常用函数 2)使用标淮库内的常用函数。 实验部分 序 实验项目名称 学 号 时 实验内容、要求及时间安排、仪器要求 必开1实验 选开类型 学习类的声明与定义:学习如何声明类的对象以及对 象对于成员的访问:验证类对成员的封装,掌握h 1 类与对象 4 指针的用法。 必开验证 时间安排:第三章授课后: 议器要求:PC机、Visual Studio2010或以上(下同) 学习和掌握通过成员函数形式对运算符的重载:学习 2 运算符重载 4 和掌握通过友元函数形式对运算符的重载。 必开验证 时间安排:第四章授课后。 学习和掌握派生类的声明以及定义方法:验证派生类对 于基类成员的访问情况:验证派生类和基类构造函数及 3 继承与派生 4 析构函数的调用时机:学习多基类派生以及虚继承的声 必开验证 明及定义方法:验证基类和派生类的转换过程及实质。 时间安排:第五章授课后。 学习和掌握虚函数的声明以及定义方式:学习虚函数 的使用方式:验证当基类指针指向基类或派生类时, 4 多态性应用 会调用不同的虚函数:学习和掌握抽象基类以及纯虚 必开 验证 函数的声明方式。 时间安排:第六章授课后 5 输入输出流 学习和掌握掌握标准输出流、标准输入流的用法:掌必开验证
18 理论部分 序号 教学内容提要 基本要求 学时 7 第 7 章 输入输出流 7.1 C++的输入和输出 7.2 标准输出流输入流 7.4 文件操作与文件流 7.5 字符串流 1) 理解 C++输入输出流的基本概念; 2) 掌握标准输出流、标准输入流的用法; 3) 掌握文件操作与文件流的概念、文件流 类与文件流对象、文件的打开与关闭、对 ASCII 文件的操作、对二进制文件的操作; 4) 了解字符串流。 2 8 第 8 章 C++工具 8.1 命名空间 8.2 使用标准库内的常用函数 1) 了解命名空间的概念、使用命名空间 成员的方法、标准命名空间 std 2) 使用标准库内的常用函数。 2 实验部分 序 号 实验项目名称 学 时 实验内容、要求及时间安排、仪器要求 必开/ 选开 实验 类型 1 类与对象 4 学习类的声明与定义; 学习如何声明类的对象以及对 象对于成员的访问;验证类对成员的封装,掌握 this 指针的用法。 时间安排:第三章 授课后; 仪器要求:PC 机、Visual Studio 2010 或以上(下同) 必开 验证 2 运算符重载 4 学习和掌握通过成员函数形式对运算符的重载;学习 和掌握通过友元函数形式对运算符的重载。 时间安排:第四章 授课后。 必开 验证 3 继承与派生 4 学习和掌握派生类的声明以及定义方法;验证派生类对 于基类成员的访问情况;验证派生类和基类构造函数及 析构函数的调用时机;学习多基类派生以及虚继承的声 明及定义方法;验证基类和派生类的转换过程及实质。 时间安排:第五章 授课后。 必开 验证 4 多态性应用 4 学习和掌握虚函数的声明以及定义方式;学习虚函数 的使用方式;验证当基类指针指向基类或派生类时, 会调用不同的虚函数;学习和掌握抽象基类以及纯虚 函数的声明方式。 时间安排:第六章 授课后 必开 验证 5 输入输出流 4 学习和掌握掌握标准输出流、标准输入流的用法;掌 必开 验证
实验部分 序 必开/实验 号 实验项目名称 实验内容、要求及时间安排、仪器要求 选开类型 握文件的打开与关闭、对ASC文件的操作、对 进 制文件的操作。 时间安排:第八章授课后 五、说明 本课程的先修课程是《程序设计基础(C)》、《C语言程序设计》。 本课程可以使学生建立起面向对象的编程思想,使学生具有使用高级语言编程的思维的 能力,为后续课程的学习打下基础。后续课程包括: )大类基础和实践课或学科基础课:《数据结构与算法(C)》、《程序设计实践(C+)》、《数 据结构与算法综合设计(C)》、《数据结构》、《数据结构综合设计》、《面向对象程序课程设计 (C+)》。 2)专业课:《Web应用系统实践》等课程 六、学生成绩考核与评定方式 该课程考核以平时考核和期末考核相结合的方式进行,其中平时成绩可以包括考勤、作 业和实验等内容,期末考核可采用机考或者笔试。总评成锁评定比例如下: 考核形式 占总分的百分比 1.期末闭卷考试(笔试或机考) 60-70% 2.实验成绩(综合实验报告50%+现场检查50%) 20% 3.平时成绩(可以综合在线练习(0-100%)和考勤成绩(100-0%),如果只计考到 20-10% 成绩,则平时成绩占总成绩比例不超过10%) 合计 100% 七、建议教材与参考书 建议教材:谭浩强编著.《C+面向对象程序设计》,清华大学出版社,最新版。 参考书:1.钱能编著.《C+程序程序设计教程(第2版)》,北京:清华大学出版社,2005年。 2.Bjae Stroustrup,装宗燕译.《C+程序设计语言》,北京:机械工业出版社,2010年, 3.Stanley B.Lippman,JoseLajoie,.Barbara E.Moo著,王刚,杨巨峰译.《C+ Primer中文版(第5版)》,北京:电子工业出版社,2013年。 八、课程中英文简介 本课程是计算机学院的大类平台课,也是信息与计算科学的专业课,是多门后续课程及 实践环节的先修课程,在学科的建设和发展中占有重要的基础地位。 本课程从面向对象的角度介绍程序编写的基本概念和方法,使学生了解面向对象技术, 19
19 实验部分 序 号 实验项目名称 学 时 实验内容、要求及时间安排、仪器要求 必开/ 选开 实验 类型 握文件的打开与关闭、对 ASCII 文件的操作、对二进 制文件的操作。 时间安排:第八章 授课后 五、说明 本课程的先修课程是《程序设计基础(C)》、《C 语言程序设计》。 本课程可以使学生建立起面向对象的编程思想,使学生具有使用高级语言编程的思维的 能力,为后续课程的学习打下基础。后续课程包括: 1) 大类基础和实践课或学科基础课:《数据结构与算法(C)》、《程序设计实践(C++)》、《数 据结构与算法综合设计(C)》、《数据结构》、《数据结构综合设计》、《面向对象程序课程设计 (C++)》。 2) 专业课:《Web 应用系统实践》等课程。 六、学生成绩考核与评定方式 该课程考核以平时考核和期末考核相结合的方式进行,其中平时成绩可以包括考勤、作 业和实验等内容,期末考核可采用机考或者笔试。总评成绩评定比例如下: 考核形式 占总分的百分比 1. 期末闭卷考试(笔试或机考) 60-70% 2. 实验成绩(综合实验报告 50%+ 现场检查 50% ) 20% 3. 平时成绩(可以综合在线练习(0-100%)和考勤成绩(100-0%),如果只计考勤 成绩,则平时成绩占总成绩比例不超过 10%) 20-10% 合计 100% 七、建议教材与参考书 建议教材:谭浩强编著. 《C++面向对象程序设计》,清华大学出版社,最新版。 参考书:1. 钱能编著. 《C++程序程序设计教程(第 2 版)》,北京:清华大学出版社,2005 年。 2. Bjarne Stroustrup, 裘宗燕译. 《C++程序设计语言》,北京:机械工业出版社,2010 年。 3. Stanley B. Lippman,Josée Lajoie,Barbara E. Moo 著, 王刚,杨巨峰译. 《C++ Primer 中文版(第 5 版)》,北京:电子工业出版社,2013 年。 八、课程中英文简介 本课程是计算机学院的大类平台课,也是信息与计算科学的专业课,是多门后续课程及 实践环节的先修课程,在学科的建设和发展中占有重要的基础地位。 本课程从面向对象的角度介绍程序编写的基本概念和方法,使学生了解面向对象技术
理解面向对象的基本方法,掌握C+提供的面向对象机制。具体内容包括: (1)掌握类与对象的定义与使用方法。 (2)掌握构造函数、析构函数的定义方法:掌握对象数组、对象指针:了解静态成员 以及友元等。 (3)掌握单目运算符重载以及双目运算符重载重载。 (4)掌握继承与派生机制。 (5)掌握多态与虚函数 (6)掌握输入输出流。 本课程配套的实验进一步训练学生使用面向对象的技术编程的方法,包括分析、设计和 编程。通过实验,学生能够编写简单的C+应用程序,并进一步理解本课程所涉及的基本概 念。 This course is the professional basic course for Computer Science and Technology,Software Engineering and Computer Network Engineering.It is also preparatory course for several follow-up curriculums.so is extremely important in subject construction. This course introduces the fundamental concepts of programming from an object-oriented perspective.the student ill understand the method and master the obiect oriented mechanism.Specific content includes (1)Master the definition and use method of class and object. (2)Master the definition of constructor and destructor,master object array and object pointer. understand static member and friend member. (3)Master the Operator overloading of unary operator and binary operator inC++. (4)Master the mechanism of inheritance and Derivative in C++. (5)Master the mechanism of polymorphism and virtual function inC+ (6)Master the istream and ostream. The experiments for this course will provide an in-depth treatment of object-oriented software development,including analysis,design,and programming.The student will be able to write simpleC++applications based on a combination of any existing foundation expertise together with the knowledge gained through practicing the concepts covered in this course. 《面向对象技术(JAVA)》 课程编号 0BH04928 学分 3.5 总学时 56 实验/上机学时实验:20学时,上机:0学时 课程名称 面向对象技术JAVA) 英文名称 Object-oriented Technologies(JAVA) 课程类别 必修 适用专业 计算机大类
20 理解面向对象的基本方法,掌握 C++提供的面向对象机制。具体内容包括: (1)掌握类与对象的定义与使用方法。 (2)掌握构造函数、析构函数的定义方法;掌握对象数组、对象指针;了解静态成员 以及友元等。 (3)掌握单目运算符重载以及双目运算符重载重载。 (4)掌握继承与派生机制。 (5)掌握多态与虚函数 (6)掌握输入输出流。 本课程配套的实验进一步训练学生使用面向对象的技术编程的方法,包括分析、设计和 编程。通过实验,学生能够编写简单的 C++应用程序,并进一步理解本课程所涉及的基本概 念。 This course is the professional basic course for Computer Science and Technology, Software Engineering and Computer Network Engineering. It is also preparatory course for several follow-up curriculums, so is extremely important in subject construction. This course introduces the fundamental concepts of programming from an object-oriented perspective, the student will understand the object-oriented technology, the object-oriented method, and master the object oriented mechanism. Specific content includes: (1) Master the definition and use method of class and object. (2) Master the definition of constructor and destructor; master object array and object pointer; understand static member and friend member. (3) Master the Operator overloading of unary operator and binary operator in C++. (4) Master the mechanism of inheritance and Derivative in C++. (5) Master the mechanism of polymorphism and virtual function in C++. (6) Master the istream and ostream. The experiments for this course will provide an in-depth treatment of object-oriented software development, including analysis, design, and programming. The student will be able to write simple C++ applications based on a combination of any existing foundation expertise together with the knowledge gained through practicing the concepts covered in this course. 《面向对象技术(JAVA)》 课程编号 0BH04928 学 分 3.5 总 学 时 56 实验/上机学时 实验:20 学时,上机:0 学时 课程名称 面向对象技术(JAVA) 英文名称 Object-oriented Technologies(JAVA) 课程类别 必修 适用专业 计算机大类
执笔人 刘旭红 审核人 计算机学院审核小组 先修课程 程序设计基础(C语言) 一、课程的地位与作用 本课程是大类基础课,是多门后续课程及实践环节的先修课程,在大类平台的建设和发 展中占有重要的基础地位。 通过本课程的学习,可以为学生进一步学习《数据结构与算法AVA)》等后续专业课程 打下坚实的面向对象程序设计基础。 二、课程对应的毕业要求 针对计算机科学与技术专业: 1.2能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础知识与方法,用于复杂工程问题的算法分析与设计、软件开发与实现: 2.2能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算材 软件基础原理,用于复杂计算机工程问题的识别与表达,以获得有效结论: 5.1开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,用于解决复 杂计算机工程问题,并能够理解其局限性。 针对软件工程专业: 12能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件方面的基础知识与方法,用于解决复杂工程问题: 2.2能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件方面的基础原理,用于复杂软件工程问题的识别与表达,以获得有效结论: 4,1能够基于软件工程的相关技术,就复杂软件工程问题中涉及的局部性问题进行研 究,并设计相关的实验方案,对实验结果与数据进行分析,并对实验数据进行合理的解释: 5.1能够开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,用于解 决复杂软件工程问题,并能够理解其局限性。 针对网络工程专业: 12能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础知识与方法,用于复杂网络工程问题的算法分析与设计、软件开发与实现: 2.2能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础原理,用于复杂网络工程问题的识别与表达,以获得有效结论: 5.1开发、选择与使用怡当的技术、资源、现代工程工具和信息技术工具,用于解决复 杂网络工程问题,并能够理解其局限性 三、课程教学目标 本课程的任务是使学生理解面向对象的概念,建立面向对象编程的思维方式,深刻领会 21
21 执 笔 人 刘旭红 审 核 人 计算机学院审核小组 先修课程 程序设计基础(C 语言) 一、课程的地位与作用 本课程是大类基础课,是多门后续课程及实践环节的先修课程,在大类平台的建设和发 展中占有重要的基础地位。 通过本课程的学习,可以为学生进一步学习《数据结构与算法(JAVA)》等后续专业课程 打下坚实的面向对象程序设计基础。 二、课程对应的毕业要求 针对计算机科学与技术专业: 1.2 能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础知识与方法,用于复杂工程问题的算法分析与设计、软件开发与实现; 2.2 能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础原理,用于复杂计算机工程问题的识别与表达,以获得有效结论; 5.1 开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,用于解决复 杂计算机工程问题,并能够理解其局限性。 针对软件工程专业: 1.2 能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件方面的基础知识与方法,用于解决复杂工程问题; 2.2 能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件方面的基础原理,用于复杂软件工程问题的识别与表达,以获得有效结论; 4.1 能够基于软件工程的相关技术,就复杂软件工程问题中涉及的局部性问题进行研 究,并设计相关的实验方案,对实验结果与数据进行分析,并对实验数据进行合理的解释; 5.1 能够开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,用于解 决复杂软件工程问题,并能够理解其局限性。 针对网络工程专业: 1.2 能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础知识与方法,用于复杂网络工程问题的算法分析与设计、软件开发与实现; 2.2 能够将离散数学、程序设计、面向对象技术、数据结构与算法、软件工程等计算机 软件基础原理,用于复杂网络工程问题的识别与表达,以获得有效结论; 5.1 开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,用于解决复 杂网络工程问题,并能够理解其局限性。 三、课程教学目标 本课程的任务是使学生理解面向对象的概念,建立面向对象编程的思维方式,深刻领会
面向对象程序设计的风格和特征,掌握使用Jaa进行软件开发的方法。具体包括类和对象 的概念:面向对象的封装、继承和多态的特点、GUI以及Java语言面向对象程序设计的思 想等内容。 该课程的内容是算法分析与设计以及软件开发的先修内容,为培养学生解决复杂工程问 题打下良好的基础。 四、课程教学内容提要与基本要求 理论部分 序号 教学内容提要 基本要求 学时 )了解java语言的发展过程 第一章Java语言概述 2)掌握java开发平台的搭建方法: 1.1Java语言简介 3)掌握iava的工作原理: 12面向对象语言的产生背景 4)了解软件开发技术从面向过程、面向对象到面 2 13Java程序开发步 向服务的发展历程: 5)掌握简单的java应用程序开发的步骤。 第二章Java语言基础 )掌握java语言基本组成、标识符、注释、关 键字的概念: 2.1数据类型 2)掌握iava基本数据类型、坛算符与表达式: 2 22表达式 3)掌握iava程序的顺序、分支、循环和跳转语 23控制语句 句的使用方法, 2.4数组 4)掌握数组的概念和用法: )理解对象和类的概念 第三章类和对象 2)掌握类的定义: 3.1类的抽象和封装 3)掌握对象的创建和使用方法: 32类的定义 4)理解类的封装概今: 33对单声明与访司 3 34静态变量、常量和方法 5)掌握各种类访问权限修饰符 8 3.5包的使用 6)理解包的概念、作用: )理解static、this等关键字的作用,掌握其使 3.6可见性修饰符 用方法: 3.7使用ava库中的类 8)掌握使用UML绘制类图的方法 3.8this引用 9)掌握使用Java类库中的类的方法 第四章继承与接工 4.1父类和子类 1)掌握Java类的继承机制和作用: 4.2使用super关键字 2)理解方法多态性的机制和作用: 3)堂探抽象类的概今: 43方法重写 4)堂挥方法的重写和覆盖: 4.4方法的覆盖于重载 4.5多态 5)掌握接口的概念和作用 6)掌提接口的定义和实现方法: 8 4.6动态绑定 7)掌握泛型的概念: 4.7泛型 8)掌握使用UML技术绘制珠承、关联以及接口 4.8抽象类 实现的方法: 4.9接口 4.10 Comparable接 9)理解继承、多态、接口在软件设计中的作用
22 面向对象程序设计的风格和特征,掌握使用 Java 进行软件开发的方法。具体包括类和对象 的概念;面向对象的封装、继承和多态的特点、GUI 以及 Java 语言面向对象程序设计的思 想等内容。 该课程的内容是算法分析与设计以及软件开发的先修内容,为培养学生解决复杂工程问 题打下良好的基础。 四、课程教学内容提要与基本要求 理论部分 序号 教学内容提要 基本要求 学时 1 第一章 Java 语言概述 1.1 Java 语言简介 1.2 面向对象语言的产生背景 1.3 Java 程序开发步骤 1) 了解 java 语言的发展过程; 2) 掌握 java 开发平台的搭建方法; 3) 掌握 java 的工作原理; 4) 了解软件开发技术从面向过程、面向对象到面 向服务的发展历程; 5) 掌握简单的 java 应用程序开发的步骤。 2 2 第二章 Java 语言基础 2.1 数据类型 2.2 表达式 2.3 控制语句 2.4 数组 1) 掌握 java 语言基本组成、标识符、注释、关 键字的概念; 2) 掌握 java 基本数据类型、运算符与表达式; 3) 掌握 java 程序的顺序、分支、循环和跳转语 句的使用方法; 4) 掌握数组的概念和用法。 4 3 第三章 类和对象 3.1 类的抽象和封装 3.2 类的定义 3.3 对象声明与访问 3.4 静态变量、常量和方法 3.5 包的使用 3.6 可见性修饰符 3.7 使用 Java 库中的类 3.8 this 引用 1) 理解对象和类的概念; 2) 掌握类的定义; 3) 掌握对象的创建和使用方法; 4) 理解类的封装概念; 5) 掌握各种类访问权限修饰符; 6) 理解包的概念、作用; 7) 理解 static、this 等关键字的作用,掌握其使 用方法; 8) 掌握使用 UML 绘制类图的方法; 9) 掌握使用 Java 类库中的类的方法。 8 第四章 继承与接口 4.1 父类和子类 4.2 使用 super 关键字 4.3 方法重写 4.4 方法的覆盖于重载 4.5 多态 4.6 动态绑定 4.7 泛型 4.8 抽象类 4.9 接口 4.10 Comparable 接口 1) 掌握 Java 类的继承机制和作用; 2) 理解方法多态性的机制和作用; 3) 掌握抽象类的概念; 4) 掌握方法的重写和覆盖; 5) 掌握接口的概念和作用; 6) 掌握接口的定义和实现方法; 7) 掌握泛型的概念; 8) 掌握使用 UML 技术绘制继承、关联以及接口 实现的方法; 9) 理解继承、多态、接口在软件设计中的作用。 8