《高级程序设计语言A》课程教学大纲
一、课程基本情况
| 课程名称 |
高级程序设计语言A |
| High-level Programming Language-A |
| 课程编号 |
CS042111 |
学分 |
2 |
| 课程类别 |
□核心□必修■任选 □限选 |
执行学期 |
5 |
| 课程学时 及其分配 |
总学时 |
学时分配 |
| 32 |
讲授 |
22 |
| 实验 |
0 |
| 实习 |
0 |
| 上机 |
10 |
| 开课单位 |
电子工程学院电子工程教研室 |
| 适用专业 |
电子工程学院电子信息工程专业 |
| 对应培养标准 |
1.2.3分析和设计电子设备的基本能力,较强的计算机应用能力 |
| 先修课程 |
大学计算机基础、C语言程序设计、数据结构与算法设计 |
| 教材与 参考文献 |
参考文献: [1] Windows程序设计,王艳平,北京:人民邮电出版社,2008 [2] C++程序设计教程(修订版)-设计思想与实现,钱能,北京:清华大学出版社,2009 [3] C++ Prime中文版,Stanley B.Lippman Josee Lajoie,北京:人民邮电出版社,2006 [4] Windows程序设计,过皞岩等,北京:人民邮电出版社,2009 |
|
|
|
|
|
二、课程性质与作用
《高级程序设计语言A》是电子信息类本科专业的一门专业选修实践课程,C++程序设计是软件程序设计的课程,学生通过该课程的学习,能培养和训练其逻辑思维,掌握系统的应用程序设计的基本方法,具有编写程序解决一些实际问题的能力。
本课程的学习需要了解计算机基本组成,并具有对计算机进行基本操作的技能,需要有一定的C语言基础。
三、培养目标与标准
本课程的任务是使学生掌握C++程序设计语言的基本语法,掌握程序设计的基本方法,课程主要任务是介绍Win32程序运行原理和最基本的Win32 API编程;然后掌握MFC中关键类、全局函数和宏定义的实现,详细讲述框架程序的设计方法和MFC的内部工作机制,图形开发的基本方法,为学习后续课程奠定程序设计的基础。
通过本课程的学习,掌握运用核心工程基础知识和原理,具备分析和设计电子设备的基本能力,具有较强的计算机应用能力,培养良好软件开发规范和团队合作精神,培养学生对软件开发的严谨态度。
四、理论教学内容与学时分配
| 章标题 |
章节主要内容(知识点) |
重点、难点提要 |
学时 |
其他说明 |
| 第1章 Windows程序设计基础 |
1、C++语言基础 |
重点:C++语言的基础知识,数据类型,数组,逻辑语句等知识点;VC的基本使用方法。 |
1 |
讲授法 讨论法 |
| 2、VC++的基本使用 |
1 |
| 第2章 Win32程序的运行 |
1、Win32程序运行原理 |
重点:Win32中进程的创建和控制,多线程的使用。 |
1 |
讲授法 讨论法 |
| 2、Win32程序的执行单元 |
1 |
| 第3章 Windows图形界面 |
1、GDI基本图形 |
重点:简单窗口程序的创建; 难点:掌握应用程序的基本结构。 |
1.5 |
讲授法 讨论法 |
| 2、Windows内存DC |
1 |
| 第4章 MFC应用程序框架 |
1、应用程序框架的创建和管理 |
重点:框架管理的基础;框架中的窗口创建;使用Microsoft基础类库。 难点:使用Microsoft基础类库。 |
1.5 |
讲授法 讨论法 |
| 2、MFC应用程序基本类 |
1.5 |
| 第5章 用户界面设计 |
1、窗口控件基础和子窗体控件 |
重点:使用对话框和控件与用户交互;通用控件介绍;使用框架程序简化界面开发; 难点:子窗口控件和进程监视器。 |
1.5 |
讲授法 讨论法 |
| 2、窗口进程管理 |
1.5 |
| 第6章 Windows文件操作和内存映射文件 |
1、文件操作 |
重点:文件操作;驱动器和目录的操作;注册表的使用;内存映射文件;一个文件切割系统的实现。 难点:文件的操作。 |
1.5 |
讲授法 讨论法 |
| 2、注册表的使用 |
1 |
| 第7章 动态链接库和API技术 |
1、动态链接库 |
重点:MFC动态链接库的链接使用;windows API 技术。 难点:MFC动态链接库的使用。 |
2 |
讲授法 讨论法 |
| 2、API技术(HOOK API) |
1 |
| 第8章 TCP/IP和网络通信 |
1、网络基础知识 |
重点:Winsock接口;网络程序实际应用;截拦网络数据;IP封包截获工具IPPack源代码分析示例介绍。 难点:Winsock接口和截拦网络数据 |
1 |
讲授法 讨论法 |
| 2、网络程序实际应用 |
1 |
| 第9章 Windows数字图像处理 |
1、数字图像编程基础 |
重点:CVector2D类的设计;CGray类的设计 |
1 |
讲授法 讨论法 |
| 2、CVector2D类和CGray类的设计 |
1 |
五、上机教学内容与学时分配
| 项目 序号 |
项目名称 |
内 容 和 要 求 |
项目学 时 |
项目性 质 |
实践形 式 |
项目类型 |
每组人数 |
其他说 明 |
| 1 |
实验一 VC应用程序的创建 |
内容: ⑴最简单的程序的创建、编辑源程序、编译、连接与运行。设计函数求最大值最小值 要求: 1、熟悉Visual C++ 6.0的集成环境及其基本操作。 2、掌握一个C++应用程序的组成及创建方法。 |
2 |
必选 |
上机 |
验证 |
1 |
课内完成 |
| 2 |
实验二 创建简单的MFC应用程序 |
内容: 在Visual C++ 6.0中创建一个新工程Hello,输出“Hello,MFC” 要求: 1、了解使用MFC编写Windows应用程序所涉及的基本原则 2、了解使用CWinApp和CFrameWnd类,并注意其他类是如何从他们派生出来并插入应用程序的。 3、了解Windows程序运行结构 4、了解消息映射机制 |
2 |
必选 |
上机 |
验证 |
1 |
课内完成 |
| 3 |
实验三 标准设备和文件流的输入输出 |
内容: 设计一个管理图书书目的简单程序,提供基本功能包括:可连续将新书存入文件book.dat中,新书信息加入到文件的尾部;可以根据输入的书名进行查找,把文件book.dat中同书名的所有书显示出来。 要求: 1、掌握文件流的打开、关闭及使用的方法 2、理解文本文件流与二进制文件流的操作上的区别 |
2 |
必选 |
上机 |
验证 |
1 |
课内完成 |
| 4 |
实验四 设计与鼠标相关的图形 |
内容: 创建一个基于单文档的应用程序,并对鼠标的单击消息进行响应。当在客户区内的不同位置单击鼠标时,会出现不同的矩形。 要求: 1、熟悉如何使用设备上下文绘图,并熟练使用这些绘图函数 2、学会如何对鼠标的消息进行简单的响应 |
2 |
必选 |
上机 |
验证 |
1 |
课内完成 |
| 5 |
实验五 幸运52游戏模拟程序的设计与实现 |
内容: 完成模拟幸运52游戏程序 要求: 1、学习如何用VC++ 6.0编写Windows程序 2、学习VC++ 6.0一些控件的基本应用 |
2 |
必选 |
上机 |
综合 |
1 |
课内完成 |
六、学业考核
| 考核环节 |
考核内容及方式 |
百分比 |
| 平时考核 |
包括阶段性考核成绩;课后作业、出勤、自学与研讨。作业分等级评分、缺勤按次数扣分、自学与研讨按实际表现给分。 |
10% |
| 实践考核 |
上机课按照必选实验要求,按每个实验完成状况给分。 |
20% |
| 期末考核 |
每人提交一个自己的创意作品项目来作为期末考核。 |
70% |