程序设计 2013-2014秋季学期 2013级计算机科学

任课老师

基本信息

学分:5.0

学时:80

时间:星期一10:00-11:40&星期五16:00-17:40(单周)

地点: 上院310

课程代码:CS122

教学大纲

教学目标

本课程围绕着过程化和面向对象程序设计的思想、方法和应用三条主线,培养学生掌握程序设计的方法,使学生具有较强的应用计算机解决问题的能力。

主要内容

以C++语言为教学语言,介绍结构化程序设计和面向对象程序设计的思想与方法,以及在C++中的具体实现。

教学内容

第一章 绪论
主要内容:程序设计的背景知识介绍。包括计算机的软硬件、程序设计的过程。
重点与难点:什么是程序设计,如何学习程序设计。

第二章 通过例子学习
主要内容:C++程序的基本结构及组成C++程序的基本元素。
重点与难点:变量、类型、算术表达式、赋值表达式。

第三章 逻辑思维与分支程序设计
主要内容:关系表达式、逻辑表达式、if语句和switch语句。
重点与难点:正确使用分支语句,注意逻辑表达式的短路求值。

第四章 重复控制与循环程序设计
主要内容:C++的循环语句及利用循环实现的算法。
重点与难点:三种循环结构,贪婪法和枚举法的应用。

第五章 批量数据处理
主要内容:数组、字符串,批量数据的常用操作。
重点与难点:正确使用数组,常用的排序和查找算法。

第六章 函数
主要内容:函数的定义与使用、递归、基于递归实现的算法。
重点与难点:多函数程序的执行过程、递归程序设计。

第七章 间接访问
主要内容:指针的概念及使用、指针及引用传递、变量的动态分配。
重点与难点:指针传递

第八章 数据封装
主要内容:结构体类型的定义与使用、单链表的概念及实现。
重点与难点:链接结构

第九章 模块化开发
主要内容:结构化程序设计、模块划分、库的设计。
重点与难点:如何利用结构化程序设计的思想设计一个较大型的程序。

第十章 创建新的工具
主要内容:面向对象的基本思想、类的定义、对象的定义与使用。
重点与难点: 定义类的意义。

第十一章 运算符重载
主要内容:为什么要有运算符重载以及C++运算符重载的实现方法。
重点与难点:几个特殊运算符的重载方法。

第十二章 组合与继承
主要内容:组合、继承与运行时的多态性。
重点与难点:灵活应用组合与继承实现代码的重用,用多态性实现系统的维护与扩展。

第十三章 泛型程序设计
主要内容:类模板的定义与使用。
重点与难点:类模板的应用场合及应用过程

第十四章 输入输出与文件
主要内容:C++的输入输出过程、控制台输入输出、文件的输入输出。
重点与难点:C++输入输出实现的特点。

第十五章 异常处理
主要内容:面向对象的异常处理的特点及C++异常处理的机制。
重点与难点:C++异常处理的过程

第十六章 容器与迭代器
主要内容:容器与迭代器的概念及设计与实现。
重点与难点:本章是为数据结构的学习作准备。

教学进度安排

第一周 概论、程序实例 课堂教学
第二周 变量定义、数据类型、算术表达式、赋值表达式、输入输出、 课堂教学、上机
第三周 关系表达式、逻辑表达式、分支程序设计、循环程序设计 课堂教学、上机
第四周 枚举法、贪婪法、数组、排序和查找 课堂教学、上机
第五周 函数 课堂教学、上机
第六周 递归程序设计,回溯法,分而治之法,动态规划 课堂教学、上机
第七周 指针 课堂教学、上机
第八周 多级指针、结构体 课堂教学、上机
第九周 模块化程序设计及面向对象程序设计思想 课堂教学、上机
第十周 类的定义及应用 课堂教学、上机
第十一周 运算符重载 课堂教学、上机
第十二周 类的组合继承 课堂教学、上机
第十三周 多态、抽象类、多继承 课堂教学、上机
第十四周 模板和异常 课堂教学、上机
第十五周 输入输出流 课堂教学、上机
第十六周 容器与迭代器及复习 课堂教学、上机

课程考核及说明

50%为平时成绩(大作业等):机考(15)+平时作业(10)+大作业(15)+课堂练习(10)
50%为期末考试成绩

参考教材