1《VC++程序设计》课程教学大纲总学时:54学分:3理论学时:34实验学时:20面向专业:计算机科学与技术课程代码:2710015先开课程:数据结构、C语言、面向对象程序设计课程性质:选修执笔人:张磊审定人:陈龙猛、于仁师第一部分:理论教学部分一、说明1、课程的性质、地位和任务《VC++程序设计》最重要的任务是发展学生的智力,即编程、上机调试能力,具体到教学内容上则是重在使学生掌握理论教学中的重点和难点,对VC++语言的编程技巧能熟练掌握,提高自身的编程能力,加强素质教育。注重从事理论研究、实验工作的能力和严谨的科学作风的培养,提倡创新精神。2、课程教学和教改基本要求本课程主要讲解VisualC++6.0的语法结构、体系结构、各种组件,以及微软在VisualC++6.0中推出的各种新技术。通过本课程的学习,使学生熟悉采用面向对象编程语言进行Windows可视化开发,掌握面向对象的编程思想,熟悉面向对象编程的消息响应。本课程主要采用多媒体教室讲课,讲课与上机实验相结合,并辅以实际应用案例、常见问题分析等,巩固所学内容,基本要求如下:(1)掌握面向对象程序设计的基本概念(2)熟悉VisualC++集成开发环境(3)掌握VisualC++语言的基本内容、常用的算法(4)理解WINDOWS的消息机制和WINDOWS应用程序的基本结构(5)掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法(6)可用VisualC++开发基本的WINDOWS应用程序2二、教学内容与课时分配第一章Visualc++概述(学时数:1)本章将重点介绍Visualc++的总体功能和特点,具体讲述Visualc++6.0版的安装过程,并详细介绍。教学内容:1、Visualc++开发环境、Visualc++向导、Visualc++应用程序环境。2、Visualc++安装过程。3、Visualc++菜单栏、Visualc++工具栏、Visualc++工作区、Visualc++资源编辑器。本章重点难点:Visualc++6.0版开发环境的熟悉建议教学方法:先讲解主要知识点,再通过多媒体演示达到教学效果。思考题1、Visualc++的安装有什么要求?2、Visualc++的帮助文件如何安装?3、简单描述Visualc++开发环境?第二章使用Visualc++创建控制台程序(学时数:2)本章主要通过一个具体实例——“HelloWorld”程序,演示Visualc++开发环境下建立一个控制台程序的完整过程。教学内容:1、创建“Helloworld”程序的基本步骤。2、创建控制台程序的输入、输出。3、熟悉控制台程序句柄与I/O。4、解析控制台程序窗口。本章重点难点:Visualc++6.0版开发环境的熟悉建议教学方法:先讲解主要知识点,再通过实例讲解进行巩固思考题1、如何控制自定义控制台程序的输入、输出?2、如何读取控制台程序中的文字与背景?3、如何在控制台窗口的指定部位写入指定的字符信息?3第三章使用Visualc++创建windows应用程序(学时数:2)本章将传统Windows应用程序和以MFC为基础的Windows应用程序作比较,并详细介绍应用程序向导的使用方法和Visualc++的消息系统及其消息映射机制。教学内容:1、简介传统windows程序。2、概述Visualc++中windows程序。3、介绍如何使用向导生成应用程序。4、介绍如何使用Visualc++中的消息与命令。本章重点难点:如何使用向导生成应用程序、如何使用Visualc++中的消息与命令。建议教学方法:知识点的详细讲解,结合例子。思考题1、使用WindowsAPI编程与使用MFC编程有什么区别?2、用户如何定义消息?3、简述MFC消息映射的机制?第四章windows可执行程序的基本类型(学时数:2)本章主要介绍Visualc++的三种应用程序类型:对话框应用程序、单文档应用程序和多文档应用程序。详细阐述Windows系统对话框的类型及其在Visualc++的制作方法。教学内容:1、对话框应用程序的制作。2、文档应用程序的制作。本章重点难点:多文档应用程序的制作建议教学方法:知识点讲解,多媒体实例演示。思考题1、Windows程序有几种类型?2、如何创建和使用非模式对话框?3、文档、视图与文档模板的关系是什么?第五章windows标准控件的使用(学时数:3)本章主要介绍Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Visualc++的实现方法4教学内容:1、如何使用表头控件。2、如何使用图像列表控件。3、如何使用列表控件。4、如何使用树控件。5、如何使用标签控件。6、如何使用进度条控件。7、如何使用滑动条控件。8、如何使用状态条控件。本章重点难点:各个控件的具体使用方法和用途建议教学方法:知识点讲解,多媒体实例演示。思考题1、如何绘制ListCtrl和TreeCtrl中Item的背景颜色?2、如何在对话框中使用控件与在普通的窗口中使用控件有什么不同?3、应用控件表头控件、图像列表控件、列表控件、树控件、标签控件等创建一个简单的应用程序?第六章使用Visualc++编写多媒体程序(学时数:4)本章主要介绍如何在Visualc++中实现图像、声音、视频等多媒体应用程序的制作。教学内容:1、介绍几种多媒体数据格式2、位图操作方法3、多媒体控制实现方法。4、简介DirectX编程本章重点难点:多媒体数据格式、多媒体控制实现方法建议教学方法:知识点的重点讲解,多媒体实例演示。思考题1、如何在对话框中显示位图?2、编写一段程序,实现播放MIDI的功能?3、DirectDraw与GDI编程有什么区别?5第七章使用Visualc++编写数据库程序(学时数:4)本章主要介绍Visualc++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库。教学内容:1、如何使用ODBC访问数据库。2、如何使用DAO访问数据库。3、如何使用ADO访问数据库。4、说明ODBC与DAO的常用类本章重点难点:使用ODBC、ADO访问数据库建议教学方法:知识点的重点讲解,同类的对比思考题1、如何配置ODBC数据源,使用MFC如何配置数据源?2、使用DAO可以打开SQLServer数据库吗?3、试使用DAO实现如下功能:创建数据库、创建表、然后实现数据库程序的增、删、改、查的功能?第八章使用Visualc++编写网络应用程序(学时数:4)本章主要介绍如何使用Visualc++编写对网络进行操作的程序。教学内容:1、Winsock编程技术简介、示例演示。2、WinInet编程技术简介、示例演示。本章重点难点:WinInet编程技术建议教学方法:知识点讲解,实例演示相结合。思考题1、如何编写程序实现“ping”的功能?2、试使用CAsyncSocket类和派生CSocket类,编写不同主机的通讯程序?3、试使用MFC编写FTP程序,并能够实现断点续传功能?第九章使用Visualc++编写动态链接库程序(学时数:4)本章重点讲解如何使用Visualc++编写动态链接库程序。教学内容:61、动态链接库类型和生成。2、如何使用动态链接库。本章重点难点:动态链接库的生成、如何使用动态链接库。建议教学方法:知识点讲解。思考题1、创建导出函数的方法有几种?2、.LIB文件和.DLL文件有什么联系?功能是什么?3、DLL的调用方式有几种,有什么区别?第十章使用Visualc++编写多线程程序(学时数:3)本章主要介绍两种建立线程的方法:线程间通讯和线程同步。教学内容:1、如何编写多线程程序。2、如何实现线程通讯。3、如何实现线程同步。本章重点难点:编写多线程程序。建议教学方法:知识点的讲解与多媒体演示教学结合思考题1、如何定义线程的优先级?2、如何知道一个线程的运行情况?3、如何实现线程同步?第十一章COM编程简介(学时数:3)本章简单介绍COM编程的基本概念和方法。教学内容:1、介绍COM的基本概念。2、概述COM编程。3、创建COM程序本章重点难点:介绍如何创建COM程序。思考题1、COM与ActiveX有什么区别与联系?72、COM组建最基本的接口是什么?3、简述COM对象的生成与销毁过程第十二章Visualc++的调试技术(学时数:2)本章将简单介绍Visualc++的调试技术。教学内容:1、讲解Visualc++的基本调试技巧。2、介绍TRACE和ASSERT的使用。本章重点难点:Visualc++的基本调试技巧。建议教学方法:多媒体演示教学思考题1、编写一个简单程序,使用调试器在汇编级别跟踪它的运行情况?2、断言的使用有什么优点?有几种断言宏?3、如何观察程序是否有资源泄漏?三、本课程考核方式、方法本课程理论部分采用笔试方式,共100分:闭卷考试,占60%;上机实验占20%;平日作业占10%,出勤占10%。第二部分:实验教学部分一、说明1、本门课程实验的性质任务、目的与要求实验是本课程教学的一个非常重要的环节,采取上机的形式进行。本实验课程的教学目标是使学生通过20课时的上机实验,认识并学会VC++集成环境的基本使用,掌握计算机程序的编辑,编译、调试和运行的一系列操作步骤和方法,理解并消化课堂中学到的理论知识,锻炼分析解决问题的能力。初步掌握计算机编程及调试技术,为今后计算机应用在本专业领域打下良好的基础。基本要求:熟悉VisualC++的集成开发环境、掌握编程步骤、VisualC++语言基础,能用该开发工具设计,编写简单、实用的应用程序。2、本门课程实验项目设置情况8序号实验名称学时必开选开实验类型内容提要验证基本操作综合设计应用创新1VC++语言使用环境2√√VC集成环境及应用程序创建初步2VisualC++简单程序初步设计2√√建立简单的VisualC++应用程序3Windows标准控件的使用3√√熟悉Windows中的几种常用控件及其在Visualc++中的实现4编写多媒体程序2√√熟悉在Vc++中实现图像、声音、视频等多媒体应用程序的制作5Visualc++中访问数据库的主要方法3√√熟悉VC++中三种主要访问数据库的方法并学会创建6网络应用程序的编写2√√学会使用Vc++编写对网络进行操作的程序7动态链接库程序的编写2√√学会使用Vc++编写动态链接库程序8Visualc++的调试4√√熟悉并掌握Visualc++的基本调试技巧二、各实验项目教学要求。1.实验目的:学习操作使用,理解消化理论知识,理论联系实际,掌握可视化面向对象程序的设计、编辑、调试、运行等基本技能,强化程序设计思想,培养分析问题解决问题的能力。2.所需仪器设备及材料:Pentium以上微机,Windows98以上操作系统,安装VisualC++6.0.3.实验步骤:(1)开机启动编辑运行环境;9(2)建立工程;(3)程序设计;(4)存盘调试运行;(5)重复步骤(3)-(5);(6)关闭系统。4.问题讨论,编写实验报告等;5.各项实验内容(1)VC++语言使用环境:熟悉VisualC++及其开发环境;初步了解运行一个C++及VisualC++程序的过程。(2)VisualC++简单程序初步:进一步熟悉VisualC++语言环境;明确VisualC++语言程序的结构,掌握VisualC++语言程序的书写格式。(3)Windows标准控件的使用:掌握Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Visualc++的实现方法。(4)编写多媒体程序:了解多媒体数据格式,掌握实现图像、声音、视频等多媒体应用程序的制作的方法。(5)Visualc++中访问数据库的主要方法:掌握Visualc++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库的方法。(6)网络应用程序的编写:掌握如何使用Visualc++编写对网络进行操