1、 程序设计 课程大纲一、课程简介课程名称: 程序设计 学时/学分:108/6先修课程:无面向对象:ACM 班新生教学目标:本课程围绕着过程化和面向对象程序设计的思想、方法和应用三条主线,培养学生掌握程序设计的方法,使学生具有较强的应用计算机解决问题的能力。主要内容:以 C+语言为教学语言,介绍结构化程序设计和面向对象程序设计的思想与方法,以及在 C+中的具体实现。二、教学内容第一章 绪论主要内容:程序设计的背景知识介绍。包括计算机的软硬件、程序设计的过程。重点与难点:什么是程序设计,如何学习程序设计。第二章 通过例子学习主要内容:C+程序的基本结构及组成 C+程序的基本元素。重点与难点:变量、
2、类型、算术表达式、赋值表达式。第三章 逻辑思维与分支程序设计主要内容:关系表达式、逻辑表达式、if 语句和 switch 语句。重点与难点:正确使用分支语句,注意逻辑表达式的短路求值。第四章 重复控制与循环程序设计主要内容:C+的循环语句及利用循环实现的算法。重点与难点:三种循环结构,贪婪法和枚举法的应用。第五章 批量数据处理主要内容:数组、字符串,批量数据的常用操作。重点与难点:正确使用数组,常用的排序和查找算法。第六章 函数主要内容:函数的定义与使用、递归、基于递归实现的算法。重点与难点:多函数程序的执行过程、递归程序设计。第七章 间接访问主要内容:指针的概念及使用、指针及引用传递、变量的
3、动态分配。重点与难点:指针传递第八章 数据封装主要内容:结构体类型的定义与使用、单链表的概念及实现。重点与难点:链接结构第九章 模块化开发主要内容:结构化程序设计、模块划分、库的设计。重点与难点:如何利用结构化程序设计的思想设计一个较大型的程序。第十章 创建新的工具主要内容:面向对象的基本思想、类的定义、对象的定义与使用。重点与难点: 定义类的意义。第十一章 运算符重载主要内容:为什么要有运算符重载以及 C+运算符重载的实现方法。重点与难点:几个特殊运算符的重载方法。第十二章 组合与继承主要内容:组合、继承与运行时的多态性。重点与难点:灵活应用组合与继承实现代码的重用,用多态性实现系统的维护与
4、扩展。第十三章 泛型程序设计主要内容:类模板的定义与使用。重点与难点:类模板的应用场合及应用过程第十四章 输入输出与文件主要内容:C+的输入输出过程、控制台输入输出、文件的输入输出。重点与难点:C+输入输出实现的特点。第十五章 异常处理主要内容:面向对象的异常处理的特点及 C+异常处理的机制。重点与难点:C+异常处理的过程第十六章 容器与迭代器主要内容:容器与迭代器的概念及设计与实现。重点与难点:本章是为数据结构的学习作准备。三、教学进度安排可以参照以下表格形式教学内容 教学形式 作业第一周 概论、程序实例 课堂教学第二周 变量定义、数据类型、算术表达式、赋值表达式、 课堂教学、上输入输出、
5、机第三周 关系表达式、逻辑表达式、分支程序设计、循环程序设计课堂教学、上机第四周 枚举法、贪婪法、数组、排序和查找 课堂教学、上机第五周 函数 课堂教学、上机第六周 递归程序设计,回溯法,分而治之法,动态规划 课堂教学、上机第七周 指针 课堂教学、上机第八周 多级指针、结构体 课堂教学、上机第九周 模块化程序设计及面向对象程序设计思想 课堂教学、上机第十周 类的定义及应用 课堂教学、上机第十一周 运算符重载 课堂教学、上机第十二周 类的组合继承 课堂教学、上机第十三周 多态、抽象类、多继承 课堂教学、上机第十四周 模板和异常 课堂教学、上机第十五周 输入输出流 课堂教学、上机第十六周 容器与迭
6、代器及复习 课堂教学、上机四、课程考核及说明50%为平时成绩(大作业等):机考(15)+ 平时作业(10)+大作业(15)+课堂练习(10)50%为期末考试成绩五、教材与参考书翁惠玉 C+程序设计:思想与方法 北京: 人民邮电出版社 2008.8Deitel H. M. C+大学教程. 张引,译 . 第 5 版. 北京:电子工业出版社, 2007Eckel B. C+编程思想.英文版. 第 2 版.北京:机械工业出版社,2002Lippman S. B. C+ Primer 中文版. 李师贤等,译. 第 4 版. 北京:人民邮电出版社,2007Roberts E. S. The Art and Science of C. Boston:Addison-Wesley Publishing Company,1995陈家骏,郑滔. 程序设计教程. 北京:机械工业出版社,2004谭浩强. C 程序设计. 第 2 版 . 北京:清华大学出版社,2005吴文虎. 程序设计基础. 第 2 版. 北京:清华大学出版社,2006