Windows应用程序设计
(Application Programming of Windows)
课程代码:05410094
学分:2
学时: 32 (其中:课堂教学学时:24  实验学时:0  上机学时:8  课程实践学时:0 )先修课程:程序设计(C语言)
适用专业:电子信息科学与技术
教材:《C++面向对象程序设计教程》,陈维兴,清华大学出版社,2009年06月第3版
一、课程性质与课程目标
(一)课程性质
《Windows应用程序设计》是电子信息工程专业本科生的一门选修课程。在Windows操作系统中,利用具有可视化图形用户界面(GUI)的编程工具,采用面向对象的编程思想进行程序开发是已称为计算机程序
设计的主流方法。与早先的基于命令行的面向过程的程序设计相比,这是编程思想和开发环境的一次质的飞跃,掌握这种编程方法和技术本身就是一种挑战。。本课程知识面广,技术深,实用性强,应用面广。通过该课程的学习,学生可以掌握面向对象的编程思想和基于Microsoft Visual C++这种典型的Windows应用程序开发环境的使用方法,为学生今后从事各种类型的Windows程序设计(包括面向对象的数据库应用程序、Internet通信程序、ActiveX控件、嵌入式系统上位机应用程序等)的开发打下良好的理论基础,并使学生具备较好的实际动手编写和调试C++程序的能力。在掌握面向对象程序设计思想的基础上,可以使学生具有较快掌握Java、Paython等其它面向对象程序语言的能力。
(二)课程目标
课程目标1:掌握面向对象的三大基本特性(包括封装性、继承性、多态性),并能使用上述特性进行程序的编写;
课程目标2:掌握C++中的模板、异常处理、IO流和文件的输入输出。
课程目标3:掌握Visual C++开发环境的使用、面向对象程序设计的方法和过程,以及软件工程的开发步骤。
(三)课程目标与专业毕业要求指标点的对应关系(认证专业专业必修课程填写)本课程为选修课。
本课程支撑专业培养计划中毕业要求指标点1-3、3-2:
1.毕业要求1-3. 掌握计算机基础知识,具有分析和设计计算机软硬件系统的能力。
2.毕业要求3-2. 能够针对特定需求设计硬件系统和软件程序,并能验证其正确性。
课程目标
课程目标1 课程目标2 课程目标3 毕业要求指标点
毕业要求1-3 ✓✓✓
毕业要求3-2 ✓✓✓
注:课程目标与毕业要求指标点对接的单元格中可输入“✓”,也可标注“H、M、L”。
二、课程内容与教学要求
第一章面向对象程序设计概述
(一)课程内容
(1)面向对象的基本概念及其与面向过程的区别;
(2)类和类对象的定义及其关系;
(3)面向对象方法的三个基本特性的介绍。
(二)教学要求
理解面向对象程序设计的思想及其与面向过程的区别(本章难点);掌握类和类对象的定义及其关系;理解面向对象方法的三个基本特性及其作用。
(三)重点与难点
1. 重点
类和类对象的定义及其关系;面向对象方法的三个基本特性及其作用。
2. 难点
面向对象程序设计的思想及其与面向过程的区别;类和类对象的定义及其关系。
第二章 C++语言概述
(一)课程内容
(1)C++语言的特点及其与C语言的异同;
(2)简单的C++程序的编写;
(3)在Visual C++中进行C++程序的编辑、编译、链接和运行。
(二)教学要求
重点掌握C++语言的特点及其与C语言的异同;了解C++程序的构成;了解Visual C++编程环境,以及建立工程和文件的方法;通过编写一个简单的C++程序来掌握进行C++程序的编辑、编译、链接和运行的方法,从而能够独立进行C++程序的编写和调试;
(三)重点与难点
1. 重点
C++语言的特点及其与C语言的异同;简单的C++程序的编写。
2. 难点
C++语言的特点及其与C语言的异同。
windows程序设计第7版
第三章类和对象
(一)课程内容
(1)类的声明和对象的定义;
(2)类的成员函数;
(3)对象成员的引用;
(4)类的封装性和信息隐藏。
(5)构造函数与析构函数;
(6)对象的赋值和复制;
(7)静态成员;
(8)友元。
(二)教学要求
掌握类的声明和对象的定义以及对象成员的引用方法;理解类对信息的封装和隐藏作用;重点构造函数与析构函数的定义与使用;掌握对象的赋值和复制方法;掌握静态数据成员、静态成员函数;掌握友元函数、友元类的意义和使用方法。
(三)重点与难点
1. 重点
类的声明和对象的定义以及对象成员的引用方法;构造函数与析构函数的定义与使用;
友元函数、友元类的意义和使用方法。
2. 难点
类对信息的封装和隐藏作用;静态数据成员、静态成员函数;友元函数、友元类的意义和使用方法。
第四章继承与派生类
(一)课程内容
(1)派生类的概念;
(2)公有继承和私有继承;
(3)派生类的构造函数和析构函数;
(4)多重继承;
(5)基类与派生类的转换。
(二)教学要求
掌握继承与派生的基本概念、派生类的声明方式、派生类的构成、派生类成员的访问属性;掌握不同访问属性的成员在进行不同类型的派生之后的访问属性;掌握派生类构造函数和析构函数的执行顺序以及它们的构造规则;掌握多重继承派生类的声明、多重继承派生类的构造和析构函数、虚基类及其作用;了解基类与派生类对象之间的赋值兼容关系。
(三)重点与难点
1. 重点
继承与派生的基本概念、派生类的声明方式、派生类的构成、派生类成员的访问属性;
不同访问属性的成员在进行不同类型的派生之后的访问属性;多重继承派生类的声明、多重继承派生类的构造和析构函数、虚基类及其作用。
2. 难点
派生类构造函数和析构函数的执行顺序以及它们的构造规则;多重继承派生类的声明、多重继承派生类的构造和析构函数、虚基类及其作用。
第五章多态性与虚函数
(一)课程内容
(1)编译时的多态性与运行时的多态性;
(2)运算符重载;
(3)虚函数与抽象类。
(二)教学要求
理解编译时的多态性与运行时的多态性;掌握运算符重载的方法和规则,包括成员运算符重载与友元运算符重载,以及单目运算符重载和双目运算符重载的区别;掌握虚函数的定义和作用;理解虚函数、抽象类及其作用。
(三)重点与难点
1. 重点
编译时的多态性与运行时的多态性;运算符重载的方法和规则,包括成员运算符重载与友元运算符重载,以及单目运算符重载和双目运算符重载的区别;虚函数的定义和作用。
2. 难点
虚函数的定义和作用;虚函数、抽象类及其作用。
第六章模板与异常处理
(一)课程内容
(1)模板的概念;
(2)函数模板与模板函数;
(3)类模板与模板类;
(4)异常处理的方法。
(二)教学要求
掌握模板的概念,函数模板与模板函数的概念及其关系,类模板与模板类的概念及其关系;掌握异常处理的方法。
(三)重点与难点
1. 重点
模板的概念,函数模板与模板函数的概念及其关系,类模板与模板类的概念及其关系;
异常处理的方法。
2. 难点
异常处理的方法。
第七章 I/O流类库和文件的输入输出
(一)课程内容
(1)C++的I/O流概述;
(2)4个标准输入输出的预定义流对象;