课程代码 | 045101991 |
课程名称 | 高级语言程序设计C++(二) |
英文名称 | Advanced Language Programming(C++) (2) |
课程类别 | 公 共 基 础 课 |
课程性质 | 必修 |
学时 | 总学时:32 理论学时:26 实验学时:6 其他学时:0 |
学分 | 2.0 |
开课学期 | 第二学期 |
开课单位 | 计算机科学与工程学院 |
适用专业 | 计算机科学与工程 |
授课语言 | 英文授课 |
先修课程 | 高级语言程序设计C++(一) |
毕业要求(专业培养能力) | 本课程对学生达到如下毕业要求有如下贡献: №1:(工程知识)培养学生熟练掌握英语,掌握扎实的计算机科学与技术专业基本原理、方法和手段等方面的基础知识用于解决复杂工程问题,并通过计算机系统分析、建模和计算等方面的先进方法,为将所学基础知识应用到计算机科学与技术研发和工程实践做好准备。 №2:(问题分析)培养学生能够创造性地利用计算机科学基本原理解决计算机领域遇到的问题。 №3:(设计/开发解决方案)能够设计针对计算机工程复杂问题的解决方案,设计满足特定需求的计算机软硬件系统,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 №4:(研究) 培养学生具备计算机系统相关知识并对计算机工程复杂问题进行研究,具有计算机系统研发基本能力、具备问题分析和建模的能力,具有系统级的认知能力和实践能力,掌握自底向上和自顶向下的问题分析方法。 №5:(使用现代工具)能够针对计算机工程复杂问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具。 |
课程培养学生的能力(教学目标) | 在顺利完成课程要求后,学生应该能够: (1)理解使用预处理程序包装以防止由于添加了在源代码文件头文件一个以上的副本而产生的多个定义错误 (2)理解分别使用运算符new和delete来动态地创建和销毁对象 (3)理解重新定义(过载)运算符来处理用户定义类的对象。 (4)理解通过继承现有的类来创建类。 (5)理解继承如何促进软件重用。 (6)理解声明和使用虚拟函数以实现多态。 (7)理解到使用C ++的面向对象的流输入/输出,来创建,读取,写入和更新文件。 (8)理解什么是例外以及何时使用它们。 |
课程简介 | 这是一门编程入门课程,你将学习如何把面向对象的分析变为C++实现的基本步骤。本课程将介绍C ++编程的基本思路和计算学科的广度。我们将学习先进的功能,其中包括类,继承和多态,运算符重载等使用C ++编程的基本概念。使用C++编程的基本概念的先验知识是必需的。 |
教学内容与学时分配 | 第9章.
第10章
第11章
第12章
第13章
第14章
|
实验教学(包括上机学时、实验学时、实践学时) | 实验1:类和对象,运算符重载,学时:2; 实验2:继承和多态,学时:2; 实验3:文件处理,学时:2 |
教学方法 | 课程教学以课堂教学、课外作业、综合讨论等共同实施。 |
考核方式 | 本课程注重过程考核,成绩比例为:
|
教材及参考书 | C++ How to Program, 9/e,Paul Deitel,Harvey Deitel,ISBN-10: 0133378713, ISBN-13: 9780133378719, Prentice Hall, 1080 pp, 02/12/2013 |
制定人及制定时间 | 徐雪妙,2019-04-04 |
“Advanced Language Programming(C++) (2)” Syllabus
Course Code | 045101991 |
Course Title | Advanced Language Programming(C++) (2) |
Course Category | General Basic Course |
Course Nature | Compulsory Course |
Class Hours | Total hours: 32 theoretical hours: 26 experimental hours: 6 other hours: 0 |
Credits | 2 |
Semester | 2 |
Institute | The School of Computer Science and Engineering |
Program Oriented | Computer Science and Engineering |
Teaching Language | English |
Prerequisites | Advanced Language Programming(C++) (1) |
Student Outcomes (Special Training Ability) | №1.Engineering Knowledge: An ability to apply knowledge of English, solid knowledge of professional basic principles, methods and means of computer science and technology for solving complex engineering problems, to well prepare the required knowledge applied to the computer science and technology research & development and engineering practice through computer systems analysis, modeling and calculation and any other aspects of the advanced approach. №2.Problem Analysis: An ability to creatively use the basic principles of computer science to solve the problems encountered in the computer field. №3.Design / Development Solutions: An ability to design solutions for computer engineering complex problems, to design computer hardware and software systems that meet with specific requirements, and to embody innovation awareness in the design process and take into account social, health, safety, cultural and environmental factors. №4.Research: An ability to develop computer system-related knowledge and research computer engineering complex issues, to develop the basic capacity of computer systems research & development, systematic cognitive and practice, master the Bottom-up and top-down problem analysis methods. №5.Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues. |
Teaching Objectives | Upon successful completion of the course requirements, a student should be able to:
|
Course Description | This course is introductory programming course. You will learn the basic steps of turning an object-oriented analysis into a C++ implementation. This course will introduce the essential ideas of C++ programming and the breadth of discipline of computing. We will study advanced features which includes Classes, Inheritance and Polymorphism, Operator Overloading, etc. Prior knowledge of basic concepts of programming using C++ is required. |
Teaching Content and Class Hours Distribution | Chapter 9.
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
|
Experimental Teaching | Credit hours: 6 |
Teaching Method | course teaching, homework, discussion etc. are jointly used in this course |
Examination Method | This course emphasizes on evaluation of process, score composition ratios are as follow:
1)Attendance + Q&A in the class (15%)(in group) 2)Presentation 10% (in group) 3)Assignment (10%) (in person) 4)ACM Examination(10%) (in person) 2. End-of-year examination (closed-book exam) 55% |
Teaching Materials and Reference Books | C++ How to Program, 9/e,Paul Deitel,Harvey Deitel,ISBN-10: 0133378713, ISBN-13: 9780133378719, Prentice Hall, 1080 pp, 02/12/2013 |
Prepared by Whom and When | Xuemiao Xu,2019-04-04 |
《高级语言程序设计C++(二)》实验教学大纲
课程代码 | |
课程名称 | 高级语言程序设计C++(二) |
英文名称 | Advanced Language Programming(C++) (2) |
课程类别 | 公共基础课 |
课程性质 | 必修 |
学时 | 总学时:32 实验学时:6 |
学分 | 2.0 |
开课学期 | 第二学期 |
开课单位 | 计算机科学与工程学院 |
适用专业 | 计算机科学与工程 |
授课语言 | 英文授课 |
先修课程 | 高级语言程序设计C++(一) |
毕业要求(专业培养能力) | (本学院开设的专业课填写;根据专业所列的毕业要求来填写) |
课程培养学生的能力(教学目标) | 本课程对学生达到如下毕业要求有如下贡献: №1:(工程知识)培养学生熟练掌握英语,掌握扎实的计算机科学与技术专业基本原理、方法和手段等方面的基础知识用于解决复杂工程问题,并通过计算机系统分析、建模和计算等方面的先进方法,为将所学基础知识应用到计算机科学与技术研发和工程实践做好准备。 №2:(问题分析)培养学生能够创造性地利用计算机科学基本原理解决计算机领域遇到的问题。 №3:(设计/开发解决方案)能够设计针对计算机工程复杂问题的解决方案,设计满足特定需求的计算机软硬件系统,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 №4:(研究) 培养学生具备计算机系统相关知识并对计算机工程复杂问题进行研究,具有计算机系统研发基本能力、具备问题分析和建模的能力,具有系统级的认知能力和实践能力,掌握自底向上和自顶向下的问题分析方法。 №5:(使用现代工具)能够针对计算机工程复杂问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具。 |
课程简介 | 这是一门编程入门课程,把面向对象的分析变为C++实现的基本步骤。本课程将介绍C ++编程的基本思路,学习先进的功能,其中包括类,继承和多态,运算符重载等使用C ++编程的重要概念。 |
主要仪器设备与软件 | 设备:电脑,软件:Visual Studio |
实验报告 | 实验报告内容包括: 一、实验概述 实验目的: 实验要求: 实验环境 二、实验内容 实验步骤: 实验数据: 实验主要过程: 三、实验结论 |
考核方式 | 出勤率和课堂表现:20% 实验报告:80% |
教材、实验指导书及教学参考书目 | C++ How to Program, 9/e,Paul Deitel,Harvey Deitel,ISBN-10: 0133378713, ISBN-13: 9780133378719, Prentice Hall, 1080 pp, 02/12/2013 |
制定人及发布时间 | 徐雪妙,2019-04-04 |
《课程名称》实验教学内容与学时分配
实验项目编号 | 实验项目名称 | 实验学时 | 实验内容提要 | 实验类型 | 实验要求 | 每组人数 | 主要仪器设备与软件 |
1 | 类和对象,运算符重载 | 3 | 设计类和对象,编程实现使用了类、对象、运算符重载的程序。 | 综合性 | 必做 | 1 | 电脑,VC |
2 | 继承和多态 | 3 | 基于继承和多态的思想,编写程序解决实际的应用问题。 | 综合性 | 必做 | 1 | 电脑,VC |
“Advanced Language Programming(C++) (2)” Experimental Syllabus
Course Code | 045101991 |
Course Title | Advanced Language Programming(C++) (2) |
Course Category | General Basic Course |
Course Nature | Compulsory Course |
Class Hours | Total:32 credit hours; Experiment:6 credit hours |
Credits | 2 |
Semester | 2 |
Institute | The School of Computer Science and Engineering |
Program Oriented | Computer Science and Engineering |
Teaching Language | English |
Prerequisites | Advanced Language Programming(C++) (1) |
Student Outcomes (Special Training Ability) | №1.Engineering Knowledge: An ability to apply knowledge of English, solid knowledge of professional basic principles, methods and means of computer science and technology for solving complex engineering problems, to well prepare the required knowledge applied to the computer science and technology research & development and engineering practice through computer systems analysis, modeling and calculation and any other aspects of the advanced approach. №2.Problem Analysis: An ability to creatively use the basic principles of computer science to solve the problems encountered in the computer field. №3.Design / Development Solutions: An ability to design solutions for computer engineering complex problems, to design computer hardware and software systems that meet with specific requirements, and to embody innovation awareness in the design process and take into account social, health, safety, cultural and environmental factors. №4.Research: An ability to develop computer system-related knowledge and research computer engineering complex issues, to develop the basic capacity of computer systems research & development, systematic cognitive and practice, master the Bottom-up and top-down problem analysis methods. №5.Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues. |
Teaching Objectives | Upon successful completion of the course requirements, a student should be able to: (1)Understand to use a preprocessor wrapper to prevent multiple definition errors caused by including more than one copy of a header file in a source-code file. (2)Understand to create and destroy objects dynamically with operators new and delete, respectively. (3)Understand to redefine (overload) operators to work with objects of user-defined classes. (4)Understand to create classes by inheriting from existing classes. (5)Understand how inheritance promotes software reuse. (6)Understand to declare and use virtual functions to effect polymorphism. (7)Understand to use C++ object-oriented stream input/output. To create, read, write and update files. (8)Understand what exceptions are and when to use them. |
Course Description | This course is introductory programming course. You will learn the basic steps of turning an object-oriented analysis into a C++ implementation. This course will introduce the essential ideas of C++ programming and the breadth of discipline of computing. We will study advanced features which includes Classes, Inheritance and Polymorphism, Operator Overloading, etc. Prior knowledge of basic concepts of programming using C++ is required. |
Instruments and Equipments | PC and Microsoft Visual Studio |
Experiment Report | 1. Description Objective: Requirement: Running Environment: 2. Content 1). Step: 2). Data: 3). Major Procedure: 3. Conclusion |
Assessment | This course emphasizes on evaluation of process, score composition ratios are as follow: Homework and classroom performance: 20% Experimental report: 80% |
Teaching Materials and Reference Books | C++ How to Program, 9/e,Paul Deitel,Harvey Deitel,ISBN-10: 0133378713, ISBN-13: 9780133378719, Prentice Hall, 1080 pp, 02/12/2013 |
Prepared by Whom and When | Xuemiao Xu,2019-04-04 |
“CourseTitle” Experimental Teaching Arrangements
No. | Experiment Item | Class Hours | Content Summary | Category | Requirements | Number of StudentsEach Group | Instruments, Equipments and Software |
1 | Class and object, Operator overloading | 3 | Design class, Create object, Implement the operator overloading | Comprehensive | Compulsory | 1 | PC, VC |
2 | Inheritance and Polymorphism | 3 | Design and implement the program using the class inheritance and polymorphism | Comprehensive | Compulsory | 1 | PC, VC |