《VC++程序设计》课程教学大纲

2024-05-01

《VC++程序设计》课程教学大纲(共8篇)

篇1:《VC++程序设计》课程教学大纲

《VC++程序设计》课程教学大纲

总学时:54

学分:3 理论学时:34

实验学时:20 面向专业:计算机科学与技术课程代码:2710015 先开课程:数据结构、C语言、面向对象程序设计课程性质:选修 执笔人:张磊审定人:陈龙猛、于仁师 第一部分:理论教学部分

一、说明

1、课程的性质、地位和任务

《VC++程序设计》最重要的任务是发展学生的智力,即编程、上机调试能力,具体到教学内容上则是重在使学生掌握理论教学中的重点和难点,对VC++语言的编程技巧能熟练掌握,提高自身的编程能力,加强素质教育。注重从事理论研究、实验工作的能力和严谨的科学作风的培养,提倡创新精神。

2、课程教学和教改基本要求

本课程主要讲解Visual C++6.0的语法结构、体系结构、各种组件,以及微软在Visual C++6.0中推出的各种新技术。通过本课程的学习,使学生熟悉采用面向对象编程语言进行Windows 可视化开发,掌握面向对象的编程思想,熟悉面向对象编程的消息响应。

本课程主要采用多媒体教室讲课,讲课与上机实验相结合,并辅以实际应用案例、常见问题分析等,巩固所学内容,基本要求如下:(1)掌握面向对象程序设计的基本概念(2)熟悉Visual C++集成开发环境

(3)掌握Visual C++语言的基本内容、常用的算法

(4)理解WINDOWS的消息机制和WINDOWS应用程序的基本结构

(5)掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法

(6)可用Visual C++开发基本的WINDOWS应用程序

二、教学内容与课时分配

第一章

Visual c++概述(学时数:1)

本章将重点介绍Visual c++的总体功能和特点,具体讲述Visual c++6.0版的安装过程,并详细介绍。教学内容:

1、Visual c++开发环境、Visual c++向导、Visual c++应用程序环境。

2、Visual c++安装过程。

3、Visual c++菜单栏、Visual c++工具栏、Visual c++工作区、Visual c++资源编辑器。本章重点难点:Visual c++6.0版开发环境的熟悉

建议教学方法:先讲解主要知识点,再通过多媒体演示达到教学效果。思考题

1、Visual c++的安装有什么要求?

2、Visual c++的帮助文件如何安装?

3、简单描述Visual c++开发环境?

第二章使用Visual c++创建控制台程序(学时数:2)

本章主要通过一个具体实例——“Hello World”程序,演示Visual c++开发环境下建立一个控制台程序的完整过程。教学内容:

1、创建“Hello world”程序的基本步骤。

2、创建控制台程序的输入、输出。

3、熟悉控制台程序句柄与I/O。

4、解析控制台程序窗口。

本章重点难点:Visual c++6.0版开发环境的熟悉

建议教学方法:先讲解主要知识点,再通过实例讲解进行巩固 思考题

1、如何控制自定义控制台程序的输入、输出?

2、如何读取控制台程序中的文字与背景?

3、如何在控制台窗口的指定部位写入指定的字符信息? 第三章使用Visual c++创建windows应用程序(学时数:2)

本章将传统Windows应用程序和以MFC为基础的Windows应用程序作比较,并详细介绍应用程序向导的使用方法和Visual c++的消息系统及其消息映射机制。教学内容:

1、简介传统windows程序。

2、概述Visual c++中windows程序。

3、介绍如何使用向导生成应用程序。

4、介绍如何使用Visual c++中的消息与命令。

本章重点难点:如何使用向导生成应用程序、如何使用Visual c++中的消息与命令。建议教学方法:知识点的详细讲解,结合例子。思考题

1、使用Windows API编程与使用MFC编程有什么区别?

2、用户如何定义消息?

3、简述MFC消息映射的机制?

第四章

windows可执行程序的基本类型(学时数:2)

本章主要介绍Visual c++的三种应用程序类型:对话框应用程序、单文档应用程序和多文档应用程序。详细阐述Windows系统对话框的类型及其在Visual c++的制作方法。教学内容:

1、对话框应用程序的制作。

2、文档应用程序的制作。

本章重点难点:多文档应用程序的制作

建议教学方法:知识点讲解,多媒体实例演示。思考题

1、Windows程序有几种类型?

2、如何创建和使用非模式对话框?

3、文档、视图与文档模板的关系是什么? 第五章

windows标准控件的使用(学时数:3)本章主要介绍Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Visual c++的实现方法 教学内容:

1、如何使用表头控件。

2、如何使用图像列表控件。

3、如何使用列表控件。

4、如何使用树控件。

5、如何使用标签控件。

6、如何使用进度条控件。

7、如何使用滑动条控件。

8、如何使用状态条控件。

本章重点难点:各个控件的具体使用方法和用途 建议教学方法:知识点讲解,多媒体实例演示。思考题

1、如何绘制ListCtrl和TreeCtrl中Item的背景颜色?

2、如何在对话框中使用控件与在普通的窗口中使用控件有什么不同?

3、应用控件表头控件、图像列表控件、列表控件、树控件、标签控件等创建一个简单的应用程序?

第六章使用Visual c++编写多媒体程序(学时数: 4)本章主要介绍如何在Visual c++中实现图像、声音、视频等多媒体应用程序的制作。教学内容:

1、介绍几种多媒体数据格式

2、位图操作方法

3、多媒体控制实现方法。

4、简介DirectX编程

本章重点难点:多媒体数据格式、多媒体控制实现方法 建议教学方法:知识点的重点讲解,多媒体实例演示。思考题

1、如何在对话框中显示位图?

2、编写一段程序,实现播放MIDI的功能?

3、DirectDraw与GDI编程有什么区别?

第七章使用Visual c++编写数据库程序(学时数: 4)本章主要介绍Visual c++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库。教学内容:

1、如何使用ODBC访问数据库。

2、如何使用DAO访问数据库。

3、如何使用ADO访问数据库。

4、说明ODBC与DAO的常用类

本章重点难点:使用ODBC、ADO访问数据库 建议教学方法:知识点的重点讲解,同类的对比 思考题

1、如何配置ODBC数据源,使用MFC如何配置数据源?

2、使用DAO可以打开SQL Server数据库吗?

3、试使用DAO实现如下功能:创建数据库、创建表、然后实现数据库程序的增、删、改、查的功能?

第八章使用Visual c++编写网络应用程序(学时数:4)本章主要介绍如何使用Visual c++编写对网络进行操作的程序。教学内容:

1、Winsock编程技术简介、示例演示。

2、WinInet编程技术简介、示例演示。本章重点难点:WinInet编程技术

建议教学方法:知识点讲解,实例演示相结合。思考题

1、如何编写程序实现“ping”的功能?

2、试使用CAsyncSocket类和派生CSocket类,编写不同主机的通讯程序?

3、试使用MFC编写FTP程序,并能够实现断点续传功能? 第九章使用Visual c++编写动态链接库程序(学时数:4)本章重点讲解如何使用Visual c++编写动态链接库程序。教学内容:

1、动态链接库类型和生成。

2、如何使用动态链接库。

本章重点难点:动态链接库的生成、如何使用动态链接库。建议教学方法:知识点讲解。思考题

1、创建导出函数的方法有几种?

2、.LIB文件和.DLL文件有什么联系?功能是什么?

3、DLL的调用方式有几种,有什么区别?

第十章使用Visual c++编写多线程程序

(学时数:3)本章主要介绍两种建立线程的方法:线程间通讯和线程同步。教学内容:

1、如何编写多线程程序。

2、如何实现线程通讯。

3、如何实现线程同步。

本章重点难点:编写多线程程序。

建议教学方法:知识点的讲解与多媒体演示教学结合 思考题

如何定义线程的优先级?

如何知道一个线程的运行情况? 如何实现线程同步?

第十一章

COM编程简介

(学时数:3)本章简单介绍COM编程的基本概念和方法。教学内容:

1、介绍COM的基本概念。

2、概述COM编程。

3、创建COM程序

本章重点难点:介绍如何创建COM程序。思考题

1、COM与ActiveX有什么区别与联系?

2、COM组建最基本的接口是什么?

3、简述COM对象的生成与销毁过程

第十二章

Visual c++的调试技术

(学时数:2)本章将简单介绍Visual c++的调试技术。教学内容:

1、讲解Visual c++的基本调试技巧。

2、介绍TRACE和ASSERT的使用。

本章重点难点:Visual c++的基本调试技巧。建议教学方法:多媒体演示教学 思考题

1、编写一个简单程序,使用调试器在汇编级别跟踪它的运行情况?

2、断言的使用有什么优点?有几种断言宏?

3、如何观察程序是否有资源泄漏?

三、本课程考核方式、方法

本课程理论部分采用笔试方式,共100分:闭卷考试,占60%;上机实验占20%;平日作业占10%,出勤占10%。第二部分:实验教学部分

一、说明

1、本门课程实验的性质任务、目的与要求

实验是本课程教学的一个非常重要的环节,采取上机的形式进行。本实验课程的教学目标是使学生通过20课时的上机实验,认识并学会VC++集成环境的基本使用,掌握计算机程序的编辑,编译、调试和运行的一系列操作步骤和方法,理解并消化课堂中学到的理论知识,锻炼分析解决问题的能力。初步掌握计算机编程及调试技术,为今后计算机应用在本专业领域打下良好的基础。

基本要求:熟悉Visual C++的集成开发环境、掌握编程步骤、Visual C++语言基础,能用该开发工具设计,编写简单、实用的应用程序。

2、本门课程实验项目设置情况 序号

实验名称

学时

必开

选开

实验类型

内容提要

验 证

基本 操作

综 合设 计

应 用

创 新

VC++语言使用 环境 √

VC集成环境及应用程序创建初步

Visual C++简单程序初步设计

建立简单的Visual C++应用程序

Windows标准控件的使用 √

熟悉Windows中的几种常用控件及其在Visual c++中的实现

编写多媒体程序 √

熟悉在Vc++中实现图像、声音、视频等多媒体应用程序的制作

Visual c++中访问数据库的主要方法 √

熟悉VC++中三种主要访问数据库的方法并学会创建

网络应用程序的编写 √

学会使用Vc++编写对网络进行操作的程序

动态链接库程序的编写 √

学会使用Vc++编写动态链接库程序

Visual c++的调试

熟悉并掌握Visual c++的基本调试技巧

二、各实验项目教学要求。

1.实验目的:学习操作使用,理解消化理论知识,理论联系实际,掌握可视化面向对象程序的设计、编辑、调试、运行等基本技能,强化程序设计思想,培养分析问题解决问题的能力。2.所需仪器设备及材料:Pentium以上微机,Windows98以上操作系统,安装Visual C++ 6.0.3.实验步骤:

开机启动编辑运行环境; 建立工程; 程序设计; 存盘调试运行;

重复步骤(3)-(5); 关闭系统。

4.问题讨论,编写实验报告等; 5.各项实验内容

VC++语言使用环境:熟悉Visual C++及其开发环境;初步了解运行一个C++及Visual C++程序的过程。

Visual C++简单程序初步:进一步熟悉Visual C++语言环境;明确Visual C++语言程序的结构,掌握Visual C++语言程序的书写格式。

Windows标准控件的使用:掌握Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Visual c++的实现方法。

编写多媒体程序:了解多媒体数据格式,掌握实现图像、声音、视频等多媒体应用程序的制作的方法。

Visual c++中访问数据库的主要方法:掌握Visual c++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库的方法。

网络应用程序的编写:掌握如何使用Visual c++编写对网络进行操作的程序的方法。动态链接库程序的编写:了解并掌握动态链接库的生成、如何使用动态链接库。Visual c++的调试:了解并掌握使用Visual c++的基本调试技巧。

三、考核方式和成绩评定要求等。

根据实验报告和结果进行评定,实验成绩占总成绩的20%。第三部分:建议使用的教材和参考书目 [1] 《Visual C++6.0教程》,于涛等编著, 2002,科学出版社。

篇2:《VC++程序设计》课程教学大纲

(2009年制订)课程编号:

英文名:Programming with Visual C++ 课程类别:任选课

前置课:数据结构、面向对象程序设计、操作系统 后置课:(无)学分: 2 课时: 32学时 主讲教师:李炳银

选定教材:《Visual C++6.0教程》,于涛 等编著, 2002,科学出版社

课程概述:《VC++程序设计》是面向计算机专业的计算机专业选修课程。该课程介绍基本的使用Visual C++和MFC开发WINDOWS应用程序的技术。通过本课程的学习,使学生掌握现代程序设计的基本理论和方法,能用Visual C++进行基本的WINDOWS应用程序设计。本课程的重点在培养学生的实际应用软件开发能力.教学目的:通过本课程的学习,主要培养学生WINDOWS应用程序开发和MFC编程能力,并达到以下基本要求:

1.理解WINDOWS的消息机制和WINDOWS应用程序的基本结构;

2.掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法,Visual Studio中的AppWizard、ClassWizard、资源编辑器和调试器等工具的方法,可用Visual C++开发基本的WINDOWS应用程序。

教学方法:该课程实践性很强,建议学生多多上机练习,老师上课对学生给予指引,上机时候对学生给予指导。但是关键还是学生能够主动学习、深入自学。

各章教学要求与教学要点

第一章Viual c++概述(2学时)

教学要求 :介绍Viual c++的总体功能和特点,具体讲述Viual c++6.0版的安装过程,并详细介绍Viual c++6.0版的开发环境。教学内容:

一、Visual c++简介

教学要点:Visual c++开发环境、Visual c++向导、Visual c++应用程序环境。

二、Visual c++的安装

教学要点:Visual c++安装过程。

三、Visual c++开发环境

教学要点:Visual c++菜单栏、Visual c++工具栏、Visual c++工作区、Visual c++的资源编辑器。思考题

1.Viual c++的安装有什么要求? 2.Viual c++的帮助文件如何安装? 3.简单描述Visual c++开发环境?

第二章 使用Viual c++创建控制台程序(4学时)

教学要求 :通过一个具体实例——“Hello World”程序,演示Viual c++开发环境下建立一个控制台程序的完整过程。教学内容:

一、创建“Hello world”程序

教学要点:创建“Hello world”程序的基本步骤。

二、控制台程序的输入、输出

教学要点:创建控制台程序的输入、输出。

三、控制台程序句柄与I/O 教学要点:熟悉控制台程序句柄与I/O。

四、控制台程序窗口

教学要点:解析控制台程序窗口。思考题

1.如何控制自定义控制台程序的输入、输出? 2.如何读取控制台程序中的文字与背景?

3.如何在控制台窗口的指定部位写入指定的字符信息?

第三章 使用Viual c++创建windows应用程序(4学时)

教学要求:将传统Windows应用程序和以MFC为基础的Windows应用程序作比较,并详细介绍应用程序向导的使用方法和Visual c++的消息系统及其消息映射机制。教学内容:

一、传统windows程序概述

教学要点:简介传统windows程序。

二、Viual c++中windows程序概述

教学要点:概述Viual c++中windows程序。

三、使用向导生成应用程序

教学要点:介绍如何使用向导生成应用程序。

四、使用Viual c++中的消息与命令

教学要点:介绍如何使用Viual c++中的消息与命令。思考题

1.使用Windows API编程与使用MFC编程有什么区别? 2.用户如何定义消息?

3.简述MFC消息映射的机制?

第四章 windows可执行程序的基本类型(4学时)

教学要求:介绍Viual c++的三种应用程序类型:对话框应用程序、单文档应用程序和多文档应用程序。详细阐述Windows系统对话框的类型及其在Viual c++的制作方法。教学内容:

一、对话框应用程序

教学要点:对话框应用程序的制作。

二、文档应用程序

教学要点:文档应用程序的制作。思考题

1.Windows程序有几种类型?

2.如何创建和使用非模式对话框?

3.文档、视图与文档模板的关系是什么?

第五章 windows标准控件的使用(6学时)

教学要求:介绍Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Viual c++的实现方法 教学内容:

一、表头控件

教学要点:如何使用表头控件。

二、图像列表控件

教学要点: 如何使用图像列表控件。

三、列表控件

教学要点:如何使用列表控件。

四、树控件

教学要点:如何使用树控件。

五、标签控件

六、学要点:如何使用标签控件。进度条控件

教学要点:如何使用进度条控件。

七、滑动条控件

教学要点:如何使用滑动条控件。

八、状态条控件

教学要点:如何使用状态条控件。思考题

1.如何绘制ListCtrl和TreeCtrl中Item的背景颜色?

2.如何在对话框中使用控件与在普通的窗口中使用控件有什么不同?

3.应用控件表头控件、图像列表控件、列表控件、树控件、标签控件等创建一个简单的应用程序?

第六章 使用Viual c++编写多媒体程序(4学时)

教学要求:介绍如何在Viual c++中实现图像、声音、视频等多媒体应用程序的制作。教学内容:

一、多媒体数据格式

教学要点:介绍几种多媒体数据格式

二、位图操作

教学要点:位图操作方法

三、多媒体控制

教学要点:多媒体控制实现方法。

四、DirectX编程

教学要点:简介DirectX编程 思考题

1.如何在对话框中显示位图?

2.编写一段程序,实现播放MIDI的功能? 3.DirectDraw与GDI编程有什么区别?

第七章 使用Viual c++编写数据库程序(4学时)

教学要求:介绍Viual c++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库。教学内容:

一、使用ODBC访问数据库

教学要点:如何使用ODBC访问数据库。

二、使用DAO访问数据库

教学要点:如何使用DAO访问数据库。

三、使用ADO访问数据库

教学要点:如何使用ADO访问数据库。

四、ODBC与DAO常用类说明

教学要点:说明ODBC与DAO常用类 思考题

1.如何配置ODBC数据源,使用MFC如何配置数据源? 2.使用DAO可以打开SQL Server数据库吗?

3.试使用DAO实现如下功能:创建数据库、创建表、然后实现数据库程序的增、删、改、查的功能?

第八章 使用Viual c++编写网络应用程序(4学时)

教学要求:介绍如何使用Viual c++编写对网络进行操作的程序。教学内容:

一、Winsock编程技术

教学要点:Winsock编程技术简介、示例演示。

二、WinInet编程技术

教学要点:WinInet编程技术简介、示例演示。思考题

1.如何编写程序实现“ping”的功能?

篇3:《VC++程序设计》课程教学大纲

《VC++程序设计》培养的职业能力有:良好的逻辑思维与分析能力、面向对象的程序编码设计及文档编写能力、数据库综合知识能力、较强的团队合作和沟通能力。本课程对学生毕业后从事软件编码、软件测试与维护以及其它分析力较强的岗位工作的职业能力培养和职业素养起着重要的支撑作用。

在以往的教学中本课程通常采用“理论+实验+实训”的教学模式,一味的按照章节讲授,学生普遍感觉学习结束后,仍不能进行独立的程序开发与设计。针对软件工程师/程序分析员职业岗位的实际需求,本文选择一个综合性的工作项目“人事管理系统”进行分析,探讨如何在《VC++程序设计》课程中进行基于工作过程系统化的课程案例设计,也使得本课程与管理信息系统--就是我们常说的MIS(Management Information System)系统有机的联系起来。

1 系统设计

人事管理系统是任何企事业单位员工管理的一个重要内容,因此,开发制作人事管理系统具有较大的社会现实意义,同时人事管理系统是一切数据库应用系统的典范。它具有数据库应用系统的特征,系统结构与现实生活紧密结合,具体直观,是数据库应用开发中经常进行例证的好例子;它的开发应用简单而又不失一般性。

1)系统目标

本项目案例主要实现人事管理方面的相关功能:对职工、部门的基本信息进行刷新、增、改、减等操作;对职工的出勤情况进行管理;对职工的工资进行统计;对用户的管理及数据库的还原备份。

2)系统模块结构

根据需求分析,本项目案例总体分为系统管理、职工管理、部门管理、考勤管理、工资管理、日常办公6个部分,系统模块结构如图1所示。

各模块主要功能说明如下:

系统管理:对用户信息进行管理,系统管理员可以进行数据的备份和还原,一般用户可以重置密码。

职工管理:对职工信息进行刷新、增、改、减等操作。

部门管理:对单位各部门信息进行刷新、增、改、减等操作。

考勤管理:对职工的出勤情况进行管理。

工资管理:对职工的工资进行统计,可以设置工资的基本信息,修改工资的计算公式。

2 数据库设计

数据库设计是管理系统中一个重要的环节,良好的数据库设计可以简化开发程序的过程,提高系统的性能,使其功能更加的明确。

本项目案例里数据库中的表应包含:职工表、部门表、工资表、用户表、考勤表、节假日表和保存工资计算公式的表。其中:

职工表中的字段:职工编号、姓名、年龄、性别、籍贯、部门、出生年月、联系方式、备注及照片。

部门表中的字段:部门编号、姓名、主管、联系电话及备注。

工资表中的字段:编号、基本工资、职工部门、工作时间。

用户表中的字段:用户名、密码、用户类型。

考勤表中的字段:日期、职工号、是否缺勤、是否早退、是否迟到、是否休息、是否病假、是否出差、其他事宜、备注说明、平时加班、双修加班及法定加班。

节假日表中的字段:编号、假期名称、日期。

3 系统模块设计

1)职工模块设计

该模块功能主要实现了职工信息的录入、修改、删除等操作,当用户登录系统后通过选择相应的菜单显示职工信息界面,继而可以实现,增添、修改、查询、删除等模块功能。值得注意的是,添加数据中借助picture控件和DateTimePicker控件实现了职工照片和出生日期数据添加,并保存到数据库中。

2)考勤模块设计

考勤管理模块功能主要是对职工进行迟到、缺勤、出差及休息等方面的考勤,其中缺勤具体又分为迟到、早退、病假和事假几种情况。另外,还有加班事项也作为考勤的一个环节。将考勤的信息添加到数据库中,用户可以对考勤的信息进行统计。用户也可以对考勤的信息进行查询。

3)工资模块设计

该模块主要实现对职工工资的各项组成部分设置所占比例大小、基本信息进行设置。实现职工工资月统计汇总计算。职工工资的计算结果保存在相应的数据表中,当涉及工资的计算时,只需从表中读取对应数据即可。另外,也实现了根据职工的编号、月份、所在部门等来查询职工的详细工资情况。

4 结束语

本文主要探讨《VC++程序设计》课程中的项目“人事管理系统”的设计,使学生熟悉和掌握VC++的工程制作类型、工程制作步骤和应用系统框架的形成方法;并引导学生进行创造性的思维活动,把学生从被动地“听”、“看”转变到主动的“想”、“练”的创新思维中去,调动学生学习的积极性,从而使学生成为教学活动中的“主角”。

摘要:利用VC++和SQL为平台设计项目案例“人事管理系统”,使学生利于理解易于工作过程系统化的管理系统设计的基本方法及设计过程。

关键词:程序设计,案例教学,分析设计

参考文献

[1]胡超.30天学通VC项目案例开发[M].北京:电子工业出版社,2009:133-179.

[2]成光琳.案例教学法的实施和思考[J].机械职业教育,2004(2):66-68.

篇4:《VC++程序设计》课程教学大纲

【摘要】VC++程序设计课程是我校本科留学生入学后第一门计算机类基础课,其重要性和挑战性不言而喻。本文通过近3年的教学实践,分析了我校留学生的特点,总结了针对授课对象的课程体系、教学内容、教学方法,以及实验教材等方面的改革与实践,以期为同行提供参考和借鉴。

【关键词】VC++程序设计 留学生 全英文教学

【中图分类号】G64【文献标识码】A 【文章编号】2095-3089(2016)03-0244-02

一、引言

教育国际化对提高我国教育水平、国际竞争力和影响力、促进国际合作等方面都有重要意义。近年来留学生规模不断扩大,培养计划从短期项目、研究生项目扩展至全日制本科项目,招生专业的覆盖面也更为广泛。目前,南京理工大学在校长期留学生达800余名,来自70多个国家和地区,留学生总体规模在江苏省高校中位居前列。其中本科生近500人,就读于10个本科专业。

笔者承担了非计算机类工科专业本科生的VC++程序设计课程的教学工作。本文在分析我校留学生特点的基础上,总结了课程建设方面的改革措施,供同行参考。

二、我校留学生特点、存在的问题与对策

面向留学生的课程不同于面向国内学生的全英文课程,必须首先了解授课对象的特点,否则将造成“水土不服”的后果。

1.教育背景与基础

我校全日制本科留学生的招生已达一定规模,留学生的质量也在稳步提高。但鉴于我国科技发展的整体水平和地位,以及我校教育国际化所处的特定阶段,留学生入学时的受教育水平仍低于国内本科生。其中也不乏十分优秀的少部分学生,进而导致学生知识接受能力的较大差异。部分学生来自较为落后的发展中国家,从未接触过电脑,对计算机类课程、尤其是程序设计课程的教学内容难以理解。

当教学班规模较大时,上述教育基础的差异会令教学进度难以控制。因此,将会考虑逐步采用分小班或快慢班的方式实施教学,以实现既定的教学目标。

2.学习习惯

留学生比较崇尚自由,学习习惯差异较大。与国内学生相比,留学生在上课出勤率、课上表现、作业完成情况等方面的整体表现相差较大,两极分化严重。一方面,上课与上机实验的出勤率经常不足50%,不交作业或抄袭作业的情况更为严重。另一方面,自主性较强的学生会经常与任课教师交流,完成作业以外的课后习题,甚至要求参与科研项目。

日常教学管理是达到良好教学效果的必要手段,但这依靠任课教师一己之力无法实现,必须由留学生管理部分从制定合理的奖惩机制、加大管理人员的投入、增强管理条例的执行力度等方面着手,逐步在留学生中建立良好的学习风气。

3.语言能力

留学生的汉语水平普遍较低,不具备阅读专业书籍的能力。英语水平也参差不齐,部分来自英语为官方语言之一或通用英语国家的学生,一般有较好的听说读写能力,但也有较重的口音。而来自其他国家的学生,在理解英文授课内容、阅读专业书籍、与教师沟通等方面存在不同程度的困难。在进行实验课、课程设计、毕业设计等对书面和口头表达能力有较高要求的教学活动时,语言将成为难克服障碍。因此,一方面可在招生选拔时逐步提高英语能力的要求;另一方面,也可在入学后视具体情况,设置必要的英文强化课程。

三、课程建设与改革

程序设计课程具有较强的理论性和实践性,因此,本课程以能力培养为目标,从以下方面进行了课程建设和改革:

1.课程体系与内容建设

本课程作为攻读非计算机类工科专业本科学位的外国留学生学位基础课,旨在令学生掌握C++程序设计语言基本语法的同时,培养学生程序思维,为后续计算机相关专业课的学习奠定基础。课程共5个学分,分两学期授课。第一个学期完成4个学分的课上讲授与上机,第二个学期进行1个学分的课程设计。学生来自于自动化、光电信息工程、机械制造工程等六个专业。

本课程的内容包括:(1)C++语言基础理论,即向学生传授C++语言的基本语法规则、函数的定义、向量与数组、指针等。(2)C++程序设计方法,主要针对学生实践能力的培养和形成,帮助学生初步形成独立分析问题、解决问题的能力。课程内容设置为顺序结构程序设计、分支结构程序设计、循环结构程序设计和类的设计与使用。(3)实践教学内容,使学生在掌握C++语言基础知识的基础上具备一定的程序设计和程序调试能力。

关于理论课教材,首选国内引进的原版书籍,因其具有价格低、订购时间短等优势。但多数引进的程序设计类原版书都是面向广大程序员的经典书籍。《C++:How to program》是为数不多的适合初学者的书籍,但国内引进的第六版印刷错误较多。最终,本课程选用了国外原版教材《The Big C++》。该书的内容涵盖了基础知识和一些高级主题,适于初学者入门以及后续学习,内容叙述详尽透彻、重点突出,对编程风格、效率、常见错误等内容都有提示,课后思考题和编程题十分丰富,是一本容易阅读的好教材。

2.教学方法与手段改革

本课程采用理论讲授、上机实验和课外答疑三种教学组织形式,分别设计了不同的教学手段与方法。

(1)课上的理论讲授采用启发式的教学方法,即通过复习上节课知识要点、总结作业中存在的问题、启发引导本节课新内容、CAI课件与板书和现场编程操作的综合演示、课上交互、小结与自测、作业等环节,使知识的传授形成一个闭环反馈过程。教学手段上,利用CAI课件的生动形象与板书的重点突出与全局把控的特点,将二者有机结合,并配合现场的编程与调试,使学生对知识的理解与运用产生直观的感受。此外,近3年来该课程的学生人数均在70人以上,课上需适当合理的安排问答交互环节,保证教学的效率和效果。

(2)上机实验不仅是学生实践的过程,更是教师发现问题,答疑解惑的过程。一方面,通过与外国留学生的有效沟通和现场程序讲解、演示,能解决知识学习的问题、提高学生对课程的兴趣,还有助于建立融洽的师生关系、提高学校的国际化教育声誉;另一方面,通过总结学生反映的难点和容易混淆、出错的知识点,在课堂教学中给予适当的提示。

(3)课外答疑是理论课与上机实验的有效补充,建立及时解答学生问题的渠道十分重要。借鉴国外大学的做法,每周设定2个时间段,帮助有问题的学生进行辅导;此外,利用网络资源建立本课程的讨论组,形成学生之间以及学生与老师之间沟通的纽带。

3.实验教材建设

实践教学是本课程非常重要的组成部分,实验教材与教学目标、教学对象的特点和本校或本专业的实验教学环境都有密切关系,不能照搬,只能依靠自己的力量来建设。实验教材由以下内容组成:

(1)程序开发环境:详述了VC++6.0 在Windows XP、Windows 7.0及以上版本的操作系统下的安装、设置与调试运行方法,以及VS2015、Develop C++等其他常用的编译器的使用,以便学生在我校教室、机房及自备的笔记本电脑上进行学习和实践。

(2)实验课程按教学章节划分,包括:基本数据类型、控制流、函数、类与对象、向量与数组、指针等六个实验和四个综合程序设计。其中,每个实验包括程序阅读、改错、编程等一系列题目。将适当提高设计性实验的比例,使验证性实验和设计性实验的内容分别约占30%和70%。

四、结束语

篇5:《VC++程序设计》课程教学大纲

学号

姓名

院系专业 能源与环境工程 热能与动力工程

一、课题名称

《教学事务管理系统》

二、问题陈述

使用面向对象设计的系统分析和设计,设计出适当的数据结构,编写一个信息管理程序,程序的功能是管理学生基本信息,要求具有添加,删除,查询,排序的功能,并具有一定的查询功能。

三、设计目标和设计任务

新学期开学时新学生需要注册,登记注册信息。注册信息包括每个已注册学生的班级代号、学号、姓名、注册的学期等。

每个学期开始,学生可以选课,登记选课信息。选课信息包括已注册的每个学生所选的课程,选课仅限该生注册的学期。

每个学期考试完毕,需要成绩登记。每个学生所选课程的考核成绩,以及此成绩的类型。

所输入学生的信息如果有误,可以修改。对于退学、转学的学生,删除有关资料,对转入的学生,可以增加其各项信息。

学生信息包括:学号、班级、院系、姓名、性别、联系电话、家庭住址等。课程信息包括:课程代号、课程名、开课学期、学分、课时。

成绩信息包括:姓名、学号、班级、课程代号、成绩、类别(初修、补考、重修)。可提供的查询功能:

根据某些信息(班级、性别、专业)查询学生名单; 某门课程的选修者名单(含学号、成绩、成绩类型); 某个学生某个课程某学期的成绩单; 某个班级某个课程各个学生的成绩单; 某个课程选修者中不及格学生的名单;

某个课程的各项信息(课程代号、学分、课时、开课学期);

四、解题算法思想

程序包括11个对话框,主对话框上四个按钮,分别调用“注册信息”、“选课信息”、“成绩录入”及“信息管理和查询”四个子对话框。

其中,在“注册信息”对话框内可以选择学生的注册学期,点击“确定”按钮后,弹出“学生信息”对话框,此对话框与后面将会提到的“信息管理与查询”对话框的子对话框之一,“学生信息”相同,二者可相互共享。在该对话框中点击“增加”按钮,将调用“成员对话框”,用以实现学生的注册。信息填写完整后点击“确定”,并可依次返回至主对话框。

接着,点击“选课信息登记”,弹出选课信息对话框,在相应输入框或下拉菜单中输入信息后,点击所要选的课程(可多选),然后点“确定”,程序可以自行判断信息输入是否合理(选课学生是否已经注册或是否已选择同样的课程),如果有误,则通过消息框提示,并可以再次输入信息;如果信息合理,则提示选课成功。

点击“返回”回到主对话框,可通过“学生成绩录入”按钮调用“成绩录入”对话框,在此对话框中,可在输入框或下拉菜单中填写相关信息,程序同样可以自行判断信息输入的合理性(输入的学生是否已注册或是否已选择相应课程),如果输入有误,则弹出消息框提示,可以再次输入信息;如果信息合理,则成绩录入成功,新的成绩信息会在下方的List Control控件中显示。也可以直接点击下方List中的原有信息,程序会自动将该信息中的学生学号及相应课程代码填写入上方控件,方便成绩的录入。所有成绩录入完成后,点击“完成并保存”按钮,保存已录入的信息,同时自动返回至主对话框。

如需要查询相应信息,可点击“信息管理与查询入口”,调用“信息管理与查询”对话框。在这个对话框中,包含三个主要功能按钮,“学生信息”,“课程信息”和“成绩信息”,分别用以提供相应的查询功能。

点击“学生信息”,进入“学生信息”对话框。在这里可以实现学生信息的查询及管理功能。在上方控件中填写或选择相应信息后,便可以在下方的List Control控件中查看到所要的学生信息,同时选中相应条目后,可以通过右方的“删除”、“增加”和“修改”按钮,实现数据的管理。而通过下方“载入”和“保存”按钮,可以载入及保存现有数据,当然也可以载入进之前保存的文件,从而实现相同学生,不同学期的信息查询。

返回至“信息管理与查询”对话框后,点击“课程信息”按钮,在弹出的“课程信息”对话框中,可以查看所有的课程的基本信息,并可以通过“增加课程”按钮,调用“增加课程”对话框,填写新课程信息,从而增加新的课程;在“课程信息”中的控件中选择某门课程后,也可以通过“查看课程”按钮调用“查看课程”对话框,查看到选修该课程的学生名单,包括学号,成绩等信息,勾选上方控件后可以查看不及格学生的名单。

依次返回至“信息管理与查询对话框”,点击“成绩信息”后,进入“成绩信息”对话框。在这个对话框中可以在下方的List Control看到所有学生的成绩单,通过上方的Edit控件输入各个相应的筛选条件,便可以在下方看到所有符合条件的学生的成绩单。

依次返回至主对话框,点击“◎”退出程序。

五、数据结构描述

程序数据通过两个节点类、两个链表类来存储。分别如下:

{ public:

CString m_CourseNum;//存储课程代码 CString m_CourseName;//存储课程名 CString m_CourseTerm;//存放课程开课学期 CString m_CoursePoint;//存放课程学分 CString m_CourseTime;//存放课程课时数 int m_CourseScore;//存放学生课程成绩 CString m_CourseType;//存放学生成绩类型 Course *next;Course()//默认构造函数 class Course

{

} Course(CString CourseNum,CString CourseName,CString CourseTerm,CString m_CourseNum=“";m_CourseName=”“;m_CourseTerm=”“;m_CoursePoint=”“;m_CourseTime=”“;m_CourseScore=0;m_CourseType=”";next=NULL;CoursePoint,CString CourseTime);};

class CourseList { public:

Course * head;CourseList();void DeleteNode(Course *p);//用来删除存放指定课程的链表 void SaveToFile(const char *name);//将课程信息保存至文件 void LoadFromFile(const char *name);//从文件中导入课程信息 void ReleaseList();//释放链表

void AddNode(CString CourseNum,CString CourseName,CString CourseTerm,CString CoursePoint,CString CourseTime);//向链表中添加节点

};

class CStudent Course* FindNode(CString CourseNum);//根据课程代码查找节点 { public:

CString m_StudentNo;//存放学号 CString m_Class;//存放班级 CString m_Name;//存放学生姓名 CString m_Sex;//存放学生性别 CString m_Dept;//存放专业

CString m_PhoneNo;//存放学生电话号码 CString m_Address;//存放学生家庭住址 CString m_Term;//存放学生注册学期 CStudent *next;Course m_Course[20];//用来存放学生选的各项课程 int s;//存放学生所选课程的数量 CStudent();CStudent(CString CourseNum,CString StudentNum,int Score,CString ScoreType);CStudent(CString StudentNo,CString Class,CString Name,CString Sex,CString Dept,CString PhoneNo,CString Address);};class CStudentList { public:

CStudent * head;//头指针 int n;//节点数量 CStudentList();void DeleteNode(CStudent *p);//从链表中删除指定节点 void SaveToFile(const char *name);//将链表内容存入文件 void LoadFromFile(const char *name);//从文件载入链表内容 void ReleaseList();//释放链表 void AddNode(CString StudentNo,CString Class,CString Name,CString Sex,CString Dept,CString PhoneNo,CString Address);//向学生链表中添加节点 void AddScoreNode(CString CourseNum,CString StudentNum,int Score,CString ScoreType);//向链表中加入成绩信息 void AddCourseNode(CString StudentNo,CString CourseName, CString CourseNum,CString CourseTerm CString CoursePoint, CString CourseTime);//向链表中加入对应课程信息

};

另外,定义了全局变量:

CStudentList m_List;//用来保存学生的各项数据

CString Term;//用来存放学生的注册学期,用来将注册的学期信息加入链表(开始时,AddNode函数中忘记加入m_Term变量了)

CString Num;//为了在查看课程信息时,对话框里的内容能够方便的传入子对话框中 CStudent* FindNode(CString StuNo);//根据学号查找节点

六、测试数据

以下为程序初步运行后保存至文件中的内容:

2009-***091许亚军男 能源与环境学院 ***M9

110100首修高等数学5.0

2009-201048课时111100首修

2009-201048课时大学物理3.0 2009-201048课时112100首修C++2.0 111100首修大学物理3.0 男

2009-201048课时

2009-***091周帆能源与环境学院110M9

111100首修大学物理3.0 2009-201048课时11299首修C++2.0 2009-201048课时

2009-***091雒志强男

2009-201048课时能源与环境学院10086M9

112100首修C++2.0 2009-***091杨宗冰男

能源与环境学院119M9

112100首修C++2.0 2009-201048课时2009-***091XX女建筑学院XXXXXX

11055补考高等数学5.0 2009-201048课时1110重修大学物理3.0 2009-201048课时112100首修2009-201048课时 C++2.0

七、运行情况分析

输入数据测试后,生成包含以上内容的文件。整个过程顺利,程序可以正确运行,未出现重大错误,各项功能也都可以实现。可将生成的文件另外保存,从而录入新的数据(如其他学期的学生信息),而在查询时,可以根据需要查询的不同学期的信息来载入不同的文件。

八、设计小结

在程序设计过程中遇到了不少问题,很多都是因为之前的想法没有完全照顾到全局,使得后来要大幅度的修改代码,或者用较为复杂的代码来弥补。所以,较大的程序设计,最重要的就是一定要有大局观,在设计初期就要将自己的目标、思路理清,最好做下记录,而且做每一步的同时也必须想到后面的很多步,否则到后来很可能会因为之前的缺陷而做不下去,或者不得不放弃某些功能。另外,对于程序编写本身,我发现需要注意的部分是文件的保存及载入,这部分的每一个代码都需要仔细斟酌,否则很可能出现在编译时没问题,而运行时出错的状况。而一旦出现这种情况,就必须通过恰当的方法寻找出问题所在,如注释某些最近写的代码、利用消息框弹出某些变量的值,从而判断其与设想是否相符等方法,而不能盲目的查看所有代码,慢慢找或者索性手足无措了。

九、心得体会

这是我第一次尝试做比较大的程序,所以从中学到的还是很多的。首先,我发现我对程序设计还是很感兴趣的,很喜欢去钻研;其次,在设计及编程的过程中,通过发现问题、解决问题,我自己总结出来了不少方法,也发现了编写时所必须注意和避免的错误,可以让以后少走弯路。这些都是对于程序设计本身,此中的心得当然有很多,我也无法一一列举出来,而最重要的是我从其中学到了一些程序设计之外的东西。我深切的体会到了全局思想的重要性,无论干什么,基本上都得有这种思想,每走一步都必须想到以后的路,必须想到这一步是为什么而走的,为什么目标而服务的。只有这样,才能慢慢的稳健的走向自己的目标,不会在某一点上突然发现自己走不下去了,发现之前的某一步将自己带上的崎岖的路,而不得不往回走去弥补之前的过错或者干脆拐上另一条不明方向的道路。另外,前进的过程中,当遇到问题时,必须通过恰当的方法去发现起源,然后解决,而不要盲目的去寻找或者毫无对策了,必要的时候也得求助他人。而在一步步解决问题的过程中,也必须学会自己总结,以避免以后再次遇上相同错误时再走弯路。

总之,这次的课程设计给了我很大帮助,如果有机会,我便会选择向这方面去深入发展。

参考资料

1、《C++课程设计》

2、《C++程序设计》 提交日期 2010-9-16 星期四

朱金付 何铁军 朱萍 郑雪清 徐冬梅 编著

篇6:《VC++程序设计》教学大纲

课程编号:

课程类型:计算机科学

学 时:48(其中讲课32,机时16)学 分:3 适用对象:计算机及理科的全部或部分专业 先修课程:计算机文化基础 使用教材及参考书:

《Visual C++与面向对象程序设计(第二版)》,吕军等,高教出版社,2003年8月 《Visual C++与面向对象程序设计》,刘路放,高教出版社

一、课程的性质、目的及任务

“Visual C++程序设计”是面向计算机类各专业的必修计算机类专业基础课程。该课程介绍基本的程序设计技术,包括结构化程序设计方法(SP)、面向对象的程序设计方法(OOP)以及使用Visual C++和MFC开发WINDOWS应用程序的技术。通过本课程的学习,使学生掌握现代程序设计的基本理论和方法,能用Visual C++进行基本的WINDOWS应用程序设计。

本课程的重点在培养学生的实际应用软件开发能力.二、教学基本要求

通过本课程的学习,在结构化程序设计方法和面向对象的程序设计方法的基本理论研究WINDOWS应用程序开发和MFC编程能力方面达到以下基本要求:

1.熟悉计算机程序的基本组成要素,包括数据类型、程序流程、函数和指针等基本概念; 2.理解结构化程序设计方法(SP)的理论,掌握“自顶向下,逐步求精”的程序设计技术,可设计含有分支、循环和模块(函数)的程序; 3.掌握C++的基本流程控制;

4.理解类、对象、封装、继承和多态性等面向对象程序设计(OOP)概念,掌握基本的面向对象程序设计方法;

5.理解WINDOWS的消息机制和WINDOWS应用程序的基本结构;

6.掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法,Visual Studio中的AppWizard、ClassWizard、资源编辑器和调试器等工具的方法,可用Visual C++开发基本的WINDOWS应用程序。

三、教学内容及要求

1.Developer Stadio集成开发环境

主要内容:软件开发、算法、程序的基本知识;C++程序的基本要素以及Visual C++的集成开发环境使用初步。

基本要求:了解C++程序的基本特点, 熟悉Visual C++集成开发环境的基本使用方法。2.控制结构

主要内容:结构化程序设计方法的基本思想以及C++的基本控制结构和控制转移语句。基本要求:掌握结构化程序设计方法的基本思想和C++的几种基本控制转移语句,熟悉使用伪代码的编程方法。3.数据类型

主要内容:C++的基本数据类型以及常数、变量和数组的使用方法。

基本要求:掌握几种基本数据类型, 包括字符型、整型、长整型、浮点和双精度数据类型的基本概念, 以及常数、变量和数组的使用方法。4.表达式

主要内容:介绍C++的表达式和表达式语句。基本要求:熟练掌握C++的各种表达式, 特别是赋值表达式及其他有副作用的表达式。5.函数

主要内容:介绍C++函数的定义、声明和调用方法。

基本要求:熟练掌握C++函数的编写和调用方法,以及内联函数、函数重载和递归函数的概念。

6.指针与引用

主要内容:介绍C++中指针和引用的基本概念。

基本要求:理解和掌握指针的基本概念,以及指针型变量的声明方法、怎样通过指针类型的变量去访问某个变量或数组元素的值;引用的概念和用法。7.类与对象

主要内容:介绍面向对象程序设计方法的基本原理以及类和对象的概念。

基本要求:掌握面向对象的程序设计思想,类和对象的概念,以及类的声明方法和对象的引用。

8.继承与多态性

主要内容:介绍类的继承与派生、虚函数和运算符重载等面向对象程序设计的基本概念。基本要求:深入理解面向对象程序设计方法的基本思想,包括封装、继承和多态性及其在C++中的实现方法。

9.WINDOWS应用程序的特点

主要内容:介绍WINDOWS编程的基本思想和MFC程序框架的基本结构。

基本要求:理解WINDOWS的基本编程思想,特别是其消息传递机制,弄清MFC程序的组成及各部分的作用。10.图形设备接口

主要内容:介绍Windows的图形设备接口(GDI)和MFC的图形对象。

基本要求:了解图形设备接口的概念,掌握画笔、画刷和字体的用法,以及逻辑坐标和设备坐标的概念。11.资源

主要内容:介绍资源的概念以及图标、位图、菜单、工具栏和状态栏等资源的编程方法。基本要求:掌握Developer Studio的各种资源编辑器的用法,能在应用程序中添加图标、位图、菜单和工具条等资源并进行相应的编程工作。12.文档视图结构

主要内容:介绍MFC的文档/视图程序结构。

基本要求:理解文档/视图结构,可在AppWizard生成的应用程序框架的基础上添加必要的代码,以生成自己的应用程序。13.序列化与文档打印

主要内容:介绍在文档/视图结构中文档读写的基本手段——序列化,以及文档打印的编程技术。

基本要求:理解序列化的基本思想和MFC的打印工作流程,可编写相应的处理程序。14.对话框与控件 主要内容:介绍对话框和控件的概念,以及常用控件的使用方法和基于对话框的应用程序编程。

基本要求:理解对话框、对话框模板和控件的概念,掌握常用控件的使用方法以及基于对话框的应用程序开发,以及数据交换和验证机制,可编写使用对话框的应用程序。

四、实验环节

实验

一、Visual Studio集成环境及C++程序的输入、调试和运行(4学时,分2次完成)实验

二、面向对象程序设计(4学时,分2次完成)

实验

三、基本WINDOWS应用程序编程(4学时,分2次完成)实验

四、文档/视图结构程序设计(2学时,分1次完成)实验

五、对话框应用程序设计(2学时,分1次完成)

五、学时分配表

说明:本课程为实行“精讲多练”教学改革的课程, 重视实验环节.本课程分为16个教学单元, 每单元3学时, 两学时授课, 1学时上机实验.授课采用有联机大屏幕投影的电化教学手段进行.序号 内 容 分配学时数 Developer Stadio集成开发环境

控制结构数据类型

表达式

函数指针与引用类与对象

继承与多态性WINDOWS应用程序的特点

图形设备接口

资源文档视图结构序列化与文档打印对话框与控件

总计

2 2 2 2 2 2 2 2 2 2 4 2 4 32

考核方法: 笔试

篇7:VC计算机毕业设计题目大全

VC001游戏程序设计(五子棋)

VC002题库管理系统

VC003局域网即时聊天程序的设计与实现

VC004人脸识别系统设计

VC005指纹识别系统

VC007中国象棋软件

VC008可视化图像处理系统

VC00624点游戏的开发和实现

VC001局域网信息发布程序的设计与实现

VC002软件项目开发管理系统

VC003RSA文件加密软件的设计与实现

VC100指纹识别系统

VC101人事管理系统

VC103指纹识别系统

VC104全国天气信息管理系统

VC105点游戏的开发和实现

VC106车辆调度

VC107航空检票系统+论文

VC108航空客运订票系统+论文

VC109基于校园网的学院教学质量监测评估系统

VC110简单几何图形的识别和编辑系统+论文

VC111经济管理出版社期刊书目信息管理系统

VC112局域网的数据包监听及数据分析毕业论文+源代码 VC113开发GIS项目程序+论文

VC114可视化图像处理系统+论文

VC115库存管理

VC116四国军棋系统+论文

VC117图书馆管理系统

VC118网上寻呼QICQ源代码

VC119象棋程序+论文

VC120学生成绩统计分析系统

VC121医药管理系统+论文

VC122数据挖掘在客户关系管理

VC123用遗传算法解决车辆优化调度问题论文+源代码+任务书 VC124运动会成绩管理系统(源码+论文)

VC125嵌入式浏览器开发浏览器(论文+源码)

VC126手机信息管理系统

VC127ACCESS开发的酒店管理+论文

VC128中国象棋软件(程序+源码+论文)

VC129聊天室+论文

VC基于局域网的聊天室系统

VC001人脸识别技术

VC002几何图形的识别和编辑

VC003电子邮件客户端软件

VC004多媒体教学控制系统-网络通讯平台的设计

VC005基于WebCam的人脸检测技术

VC006简单图片转化

VC007企业物料需求计划管理系统

VC008通用C++VC试题库系统的设计与开发

VC009网络通信系统的设计与实现

VC010游戏程序设计(五子棋)

VC11指纹识别系统

VC12GMRES算法的加速收敛现象分析

VC13JPEG2000编码优化

VC14局域网上交互式教学系

VC15简易WEB服务器研究

VC16数据结构辅助教学

VC17实时通讯系统

VC018仓库管理系统

VC019数据挖掘在客户关系管理中的VC020数字加密技术

VC021局域网的语音通信

VC022分形理论在计算机图形学中的应用

VC023陆良县职业中学学生信息管理系统

VC024宾馆管理系统

VC025自动阅卷系统

VC026网上交易系统

VC028开发在Windows下的串口异步通信程序

VC029网上寻呼QICQ源代码

VC030综合人事管理系统(VC+SQL)

VC031排队系统的仿真与应用

vC001_基于VC的语音聊天系统的设计与开发

vC001KASUMI算法的研究与VC实现

vC001MD5算法的研究与实现-数据存储加密

VC001Web的入侵防御系统的设计与实现

vC001多种排序算法动态演示软件的设计和开发

VC001基于Misty1算法的加密软件的实现

vC001基于RSA的数字签名的设计与实现

vC001基于局域网的视频聊天室系统的设计与实现

vC001基于一阶贝塞尔曲线的信息隐藏软件的设计

VC001矢量图形工具的设计与实现

vC001图片文件中的信息隐藏和还原的设计

vC001网络嗅探器的设计与实现

vC001一种信息隐藏工具的设计与实现

VC002中国象棋游戏的设计与实现

VC003基于纠错码的容错技术的研究——x码的设计与实现

vC001_Windows简单防火墙设计与实现

vC001_基于VC++的串口通信服务的开发

vC001_简易代理服务器设计

vC001_网络数据包捕获工具的设计与实现

vC001Delaunay算法的实现与应用

vC001大随机数生成器算法的研究与实现

vC001基于Windows平台的个人防火墙设计

vC001木马检测工具的实现

vC001人机接口设备—开关类部件的仿真实现

vC001一个SMTP客户端程序的设计与实现

vC001一个简单木马程序的设计与开发

vC001注册表管理工具设计与实现-秦智

vC001_IA32逻辑功能仿真实现

vC001_第二代木马的研究与实现

vC001_基于VC的一种简单木马的设计

vC001_基于改进的BM算法在IDS中的实现

vC001_内存映射文件在进程共享中的应用研究

vC001_实验室计算机的IP地址自动设置程序——客户端的设计与实现 vC001基于网络的虚拟实验平台--动态升级模块的设计与实现

vC001_3G的AKA协议中F1至F5的服务网络端实现

vC001_RSA公钥密码算法的一种快速实现

vC001_RSA密码体制的实现

vC001_Windows进程管理工具设计与实现

vC001_大型中断接口器件的功能演示的可视化设计

vC001_代理服务器测试程序的设计与实现

vC001_反弹端口木马的设计与实现

vC001_基于ICMP模拟网络控制软件开发——接收处理模块

vC001_基于网络的虚拟实验平台--远程指导模块的设计与实现

vC001_简化的8088CPU逻辑功能的仿真实现

vC001_局域网监听系统的设计与实现

vC001_局域网抓包软件的设计与实现

vC001_考勤管理系统的设计与实现

vC001_模拟器件测试平台

vC001_人机接口设备—LED类部件的仿真实现

vC001_人机接口设备—示波器的仿真实现

vC001_网络流量监控及分析工具的设计与实现

vC001_虚拟实验平台的网络化改进方向—教师管理模块的设计与实现 vC001一个Windows下基于电话线路的数据通信程序的设计与实现

vC001_并行接口器件功能演示的可视化设计 学位论文

vC001_端口信息工具的设计与实现

vC001_基于ICMP模拟网络控制软件的开发——控制管理模块

vC001_基于VC的五子棋游戏软件的设计与开发

vC001_基于Windows入侵检测系统的研究与设计——检测模块设计

vC001_五子棋游戏(网络版)的设计与开发

vC001病毒检测工具的实现

vC001基于Windows入侵检测系统的研究与设计——响应模块设计

vC001_SCheme解释程序的实现

vC001_基于VC的飞行模拟游戏的设计及实现

vC001_基于Windows封包截获的实现

vC001_实验室计算机的IP地址自动设置程序——服务器端的设计与实现 vC001_远程控制软件的设计与开发-控制远程按键

“IT开拓者3网络工作室”成立于2010年,是一个专业的计算机软件开发团队。“资源共享,信息互通”

篇8:VC++程序设计教学探讨

VC++程序设计课程是目前计算机专业学生的一门专业课程。VC++作为一个功能强大的可视化应用程序开发工具, 是计算机界公认的最优秀的应用开发软件之一。Microsoft的基本类库MFC, 更增强了VC++语言的开发功能, 使得开发大型的Windows应用程序比以往任何时候都要容易。同时, C++语言, 也是当前计算机界最流行的语言之一, 掌握Visual C++语言的编程技术, 对于学生就业也是大有助益的。

作为Windows平台下的最优秀的语言之一的VC++语言, 容开发、编译、调试、发布于一体的开发环境, 节省了用户开发程序的时间和精力, 但对于初学者来说, 却增加了学习的难度。很多学生在学了很长时间的课程, 还是把握不住VC语言程序设计的精髓, 对程序的框架很模糊, 只会利用代码自动生成功能, 不会自己写程序, 更不敢修改程序。教学效果很不理想。本人根据自己的教学, 总结了当前学生存在的问题:

对Windows程序框架模糊, 难以从整体上理解程序的运行过程。

MFC类库的引入, 更增加了对程序框架理解的难度。

MFC定义的类型和WINDOWS定义的类型繁杂, 增加了记忆难度。

对面向对象编程理解不深, 看不懂代码。

作为一门入门很难的计算机语言, VC编程比较复杂。笔者根据自己的教学, 总结了一些经验, 希望与同行切磋, 共同搞好这门课程的教学。

2. 课程探讨

2.1 课程的基本概况

VC++课程至少设计了三方面的内容:C++面向对象编程、Windows程序设计原理、MFC类库的知识。可以说, 这三方面的内容, 都不是能轻松掌握的。学生在开始VC++程序设计课程之前, 至少应先完成C++课程的学习, 掌握对象的概念和基本理论知识, 能实现面向对象的程序设计。

对于VC++6.0的编程环境, 不应做铺天盖地的介绍, 那样会使得学生迷失在各个功能菜单的使用上, 却不得其法, 产生惧怕的心理。应该先介绍最基本的功能的使用, 让学生先有个大体的框架认识。其他的功能, 学到某一个阶段, 就介绍相关的使用, 循序渐进。

2.2 课程讲解

(1) 先指导学生利用菜单制作一个简单的基于Windows API的程序, 分析这个程序的结构, 使学生掌握Windows程序设计的框架, 和程序的运行原理。Widnows应用程序是基于消息驱动的, 应用程序要先注册窗口类, 系统会为应用程序分配一个消息队列用于接收用户输入的消息和系统消息。捕获消息的过程由系统完成, 并最终将程序感兴趣的消息, 交予编写的特定代码进行处理。

以Windows下的C语言课程为起点, 编写最基本的Windows程序, 使学生清楚Windows程序运行的机理和消息的来龙去脉, 有助于学生理解Windows程序的实质。

(2) 指导学生利用菜单制作一个简单的基于MFC的Windows程序。分析程序结构, 理解在MFC类库基础上编写的程序与利用纯C语言编写的程序的异同, 掌握MFC程序设计的框架。MFC类库在VC++程序设计中的引入, 增加了程序设计的难度, 使得VC++程序设计入门的门槛提高了。理解MFC程序的关键, 是要熟悉面向对象程序设计的原理, 和MFC类库的类层次结构。几乎每一个Windows对象, 在MFC类库中都有相对应的类。这些类的方法, 包含了大部分Windows API的功能。学习MFC类库的过程, 就是学习这些类和这些方法的使用。MFC类库大大简化了程序设计的过程, 丰富了程序的功能, 而且, MFC程序在理解其框架的基础上, 用户编写修改程序也是很方便的。比如:修改窗口类的PreCreateWindow方法, 在窗口显示之前注册用户自定义的窗口类, 显示特定类型的窗口。

(3) 合理安排教学内容。VC++程序设计包含的内容比较多, 而且繁杂, 在一个学期内想完成所有内容的教学, 是不可能的。基于MFC的VC++程序设计课程, 应至少包含以下内容:Windows应用程序, 包括Windows编程基础知识, Windows中的事件驱动程序设计, Windows应用程序的基本组成;GDI及其应用序, 包括GDI的特点, 绘图工具的使用, 常用的绘图函数等;VC++编程中字体的应用, 包括字体的创建及其属性的设置, 文本的输出过程, 文本操作等;VC++编程中关于键盘与鼠标消息的响应, 包括键盘在应用程序中的应用、鼠标在应用程序中的应用等;资源的应用, 包括菜单于加速键资源, 创建菜单资源实例、位图资源及其应用, 位图操作等, 对话框资源及其应用, 通用对话框资源等;Windows标准控件, 包括常用字窗口操作函数, 按钮控件的创建, 滚动条控件, 静态控件, 列表框子窗口控件, 编辑框控件, 组合控件等;文件的操作, 包括文件操作概念与基本方法, 剪贴板的应用及其操作等;MFC设计应用程序的基础知识, MFC类的主要层次结构及主要的类的用法, 应用程序向导, 利用MFC类库简化程序设计;数据库程序设计。

2.3 有关实验的思考

基于类库MFC的Visual C++环境界面是很复杂的, 不要期望学生短时间内掌握所有功能操作。每一个知识点讲完后, 安排一个小的上机实验, 使学生掌握程序编写最基本的东西。随着课程的持续, 可以有意的增加一些功能介绍, 比如调试功能。在课程的最后, 应该安排一个比较大的实验, 可以让学生写一个学生信息管理系统, 在实验中, 使学生逐步掌握VC++编程环境, 掌握各种控件的使用方法。

3. 结语

VC++程序设计课程对于学生学习是有难度的, 但由于它是一门专业的编程语言, 且拥有广阔的市场和发展前景, 对于计算机学生来说, 是值得好好学习的。本人根据自己的教学实际, 对VC++教学进行了一些有益的探索, 在今后, 将继续做这方面的努力。

参考文献

[1]侯俊杰.深入浅出MFC.华中科技大学出版社, 2005.7

上一篇:新区学雷锋活动月实施方案下一篇:蝉原文翻译及赏析