《C++程序设计》教学大纲 课程基本信息 1、课程代码:CS002 2、课程名称(中文):程序设计基础(C++)课程名称(英文):C++ Programming 3、学时/学分:72学时/3学分 4、先修课程:计算机文化基础 5、面向对象:全校非计算机专业的理工科类学生 6、开课院(系)、教研室:电信学院计算机系 7、推荐教学参考书 《C++程序设计》谭浩强编著 《C++程序设计题解与上机指导》谭浩强编著 《C++大学教程(第二版)》,[美] Harvey M. Deitel& Paul James deitel 著,邱仲潘等译 二、课程的性质和任务 本课程是非计算机专业类的计算机基础课程之一,是计算机基础教育的基 础和重点。根据非计算机专业计算机教学以应用为目的的原则,并考虑到本课程 是学生的第一门计算机高级语言课程,本课程的主要任务是向学生介绍计算机高 级语言的特点、语法规则和编程方法,使学生掌握基本的程序设计知识和技能, 并能够解决一定的实际问题,为学习其它相关的计算机课程打下基础
《C++程序设计》教学大纲 一、课程基本信息 1、课程代码:CS002 2、课程名称(中文):程序设计基础(C++) 课程名称(英文):C++ Programming 3、学时/学分:72 学时/3 学分 4、先修课程:计算机文化基础 5、面向对象:全校非计算机专业的理工科类学生。 6、开课院(系)、教研室: 电信学院 计算机系 7、推荐教学参考书: 《C++程序设计》谭浩强编著 《C++程序设计题解与上机指导》谭浩强编著 《C++大学教程(第二版) 》,[美]Harvey M. Deitel & Paul James Deitel 著,邱仲潘 等译 二、课程的性质和任务 本课程是非计算机专业类的计算机基础课程之一,是计算机基础教育的基 础和重点。根据非计算机专业计算机教学以应用为目的的原则,并考虑到本课程 是学生的第一门计算机高级语言课程,本课程的主要任务是向学生介绍计算机高 级语言的特点、语法规则和编程方法,使学生掌握基本的程序设计知识和技能, 并能够解决一定的实际问题,为学习其它相关的计算机课程打下基础
教学内容和要求 《C++程序设计》教学内容分为4部分共十四章,循序渐进,深入浅出, 从编写简单的程序开始,由面向过程到面向对象,比较符合人们的认识规律,每 步台阶都比较小,学习难度不大,学生容易理解。结合教材并配有习题集与上 机指导,便于学生大量的练习以培养编程能力。本课程具有很强的实践性,课程 学习必须结合大量的作业和上机实践,因此要求学生除了充分利用课时上机之外 还应尽可能安排其它时间上机并能够通过上机实践解决课堂学习中遇到的问题 和加深理解课堂内容。 第一部分介绍C++的基本知识,其中包括 第一章C++的初步知识 要求了解从C语言到C++的发展过程了解C/C++程序设计语言的特点; 阅读最简单的C++程序,并掌握C++程序的构成和书写形式;提出简单问 题,通过编程和上机实践,体会C++程序的编写和实现过程。 第二章数据类型与表达式 要求:掌握数据类型、常量、变量、运算符的基本概念;掌握算术运算符与 算术表达式、赋值运算符与赋值表达式、逗号运算符与逗号表达式 第二部分介绍C++面向过程的程序设计,其中包括 第三章程序设计初步 要求:了解面向过程的程序设计过程、算法的概念及其表示方法;掌握C++ 的输入与输出;编写顺序结构的程序;掌握关系运算和逻辑运算表达式、条 件运算符和条件表达式的正确使用;正确使用讦语句、 switch语句和循环
三、教学内容和要求 《C++程序设计》教学内容分为 4 部分共十四章,循序渐进,深入浅出, 从编写简单的程序开始,由面向过程到面向对象,比较符合人们的认识规律,每 一步台阶都比较小,学习难度不大,学生容易理解。结合教材并配有习题集与上 机指导,便于学生大量的练习以培养编程能力。本课程具有很强的实践性,课程 学习必须结合大量的作业和上机实践,因此要求学生除了充分利用课时上机之外 还应尽可能安排其它时间上机,并能够通过上机实践解决课堂学习中遇到的问题 和加深理解课堂内容。 第一部分介绍 C++的基本知识,其中包括: 第一章 C++的初步知识 要求:了解从 C 语言到 C++的发展过程,了解 C/C++程序设计语言的特点; 阅读最简单的 C++程序,并掌握 C++程序的构成和书写形式;提出简单问 题,通过编程和上机实践,体会 C++程序的编写和实现过程。 第二章 数据类型与表达式 要求:掌握数据类型、常量、变量、运算符的基本概念;掌握算术运算符与 算术表达式、赋值运算符与赋值表达式、逗号运算符与逗号表达式。 第二部分介绍 C++面向过程的程序设计,其中包括: 第三章 程序设计初步 要求:了解面向过程的程序设计过程、算法的概念及其表示方法;掌握 C++ 的输入与输出;编写顺序结构的程序;掌握关系运算和逻辑运算表达式、条 件运算符和条件表达式的正确使用;正确使用 if 语句、switch 语句和循环
语句,能够编写选择结构、多分支选择结构和循环结构的程序;掌握 break 语句和 continue语句的使用;掌握基本结构的嵌套 第四章函数与预处理 要求:了解函数的概念;熟练掌握函数的定义和函数的调用;理解函数间数 据按值传递和按引用传递的方式;掌握递归函数;掌握函数的嵌套调用;掌 握內置函数、函数的重载、函数模板、有默认参数的函数;正确使用局部变 量和全局变量;了解变量的存储类别;掌握预处理命令的使用 第五章数组 要求:理解数组的概念;熟练掌握-维数组的定义和引用、二维数组的定义 和引用;正确使用数组作为函数参数;掌握字符串、字符数组和字符串类的 使用 第六章指针 要求:理解指针的概念;熟练使用变量与指针、数组与指针、字符串与指针、 函数与指针;了解指针数组和指针的指针。 第七章自定义数据类型 要求:掌握结构体类型、共用体类型、枚举类型的定义和应用;了解用 typedef声明类型。 第三部分介绍C++基于对象的程序设计,其中包括 第八章类与对象
语句,能够编写选择结构、多分支选择结构和循环结构的程序;掌握 break 语句和 continue 语句的使用;掌握基本结构的嵌套。 第四章 函数与预处理 要求:了解函数的概念;熟练掌握函数的定义和函数的调用;理解函数间数 据按值传递和按引用传递的方式;掌握递归函数;掌握函数的嵌套调用;掌 握内置函数、函数的重载、函数模板、有默认参数的函数;正确使用局部变 量和全局变量;了解变量的存储类别;掌握预处理命令的使用。 第五章 数组 要求:理解数组的概念;熟练掌握一维数组的定义和引用、二维数组的定义 和引用;正确使用数组作为函数参数;掌握字符串、字符数组和字符串类的 使用。 第六章 指针 要求:理解指针的概念;熟练使用变量与指针、数组与指针、字符串与指针、 函数与指针;了解指针数组和指针的指针。 第七章 自定义数据类型 要求:掌握结构体类型、共用体类型、枚举类型的定义和应用;了解用 typedef 声明类型。 第三部分介绍 C++基于对象的程序设计,其中包括: 第八章 类与对象
要求:理解面向对象程序设计的概念和方法;掌握类的声明、对象的定义、 和对象的引用;能够编制简单的应用程序。 第九章关于类和对象的进一步讨论 要求掌握构造函数、析构函数的使用以及调用构造函数和析构函数的顺序; 掌握对象数组、对象指针、对象的动态建立和释放、对象的赋值和复制等操 作过程;正确使用静态成员、友元、类模板。 第十章运算符重载 要求:理解运算符重载的目的和方法;掌握运算符重载的规则;会使用类成 员函数和友元函数实现运算符的重载;熟练掌握双目运算符和单目运算符的 重载;掌握流插λ运算符和流提取运算符的重载;掌握不同类型数据间的转 换。 第四部分介绍C++面向对象的程序设计,其中包括 第十一章继承与派生 要求:理解继承与派生的概念;掌握派生类的声明方式;理解派生类的构 成、派生类成员的访问属性;掌握派生类的构造函数和析构函数的使用;掌 握多重继承、继承与组合、基类与派生类的转换;能够编制利用继承与派生 的应用程序 第十二章多态性与虚函数 要求:理解多态性的概念;掌握虚函数、纯虚函数与抽象类。 第十三章输入输出流
要求:理解面向对象程序设计的概念和方法;掌握类的声明、对象的定义、 和对象的引用;能够编制简单的应用程序。 第九章 关于类和对象的进一步讨论 要求:掌握构造函数、析构函数的使用以及调用构造函数和析构函数的顺序; 掌握对象数组、对象指针、对象的动态建立和释放、对象的赋值和复制等操 作过程;正确使用静态成员、友元、类模板。 第十章 运算符重载 要求:理解运算符重载的目的和方法;掌握运算符重载的规则;会使用类成 员函数和友元函数实现运算符的重载;熟练掌握双目运算符和单目运算符的 重载;掌握流插入运算符和流提取运算符的重载;掌握不同类型数据间的转 换。 第四部分介绍 C++面向对象的程序设计,其中包括: 第十一章 继承与派生 要求: 理解继承与派生的概念;掌握派生类的声明方式;理解派生类的构 成、派生类成员的访问属性;掌握派生类的构造函数和析构函数的使用;掌 握多重继承、继承与组合、基类与派生类的转换;能够编制利用继承与派生 的应用程序。 第十二章 多态性与虚函数 要求:理解多态性的概念;掌握虚函数、纯虚函数与抽象类。 第十三章 输入输出流
要求:熟练掌握C++的输入和输出、标准输出流、标准输入流、文件操作 与文件流、字符串流的使用。 第十四章C++工具 要求:了解异常处理概念和命名空间的概念,会使用早期的函数库 四.实验(上机)内容和基本要求 每周安排一次上机实践并配有助教辅导,实践内容和要求根据配套教材 《C++程序设计题解与上机指导》,教师或助教定期抽查学生作业或实验。 五.对学生能力培养的要求 本课程不仅属于计算机基础课程,而且是利用计算机解决实际问题的工具 因此要求学生除了掌握理论知识之外,必须具备基本的程序设计、编码和上机调 试能力,并能够初步利用程序设计解决实际问题。 其他说明 课程教学网站http://www.cbase.sjtu.edu.cn,ftp://cbase.sjtu.edu.cn 2、基于学业规范的要求(道德行为规范、上课规范、上机规范、作业规范、 程序代码书写规范等) 应遵守学校《上海交通大学学生手册(本科生)》里有关学术诚实的条 上课准时,上课期间,关掉手机 (略 3、考试成绩
要求:熟练掌握 C++的输入和输出、标准输出流、标准输入流、文件操作 与文件流、字符串流的使用。 第十四章 C++工具 要求:了解异常处理概念和命名空间的概念,会使用早期的函数库。 四.实验(上机)内容和基本要求 每周安排一次上机实践并配有助教辅导,实践内容和要求根据配套教材 《C++程序设计题解与上机指导》,教师或助教定期抽查学生作业或实验。 五.对学生能力培养的要求 本课程不仅属于计算机基础课程,而且是利用计算机解决实际问题的工具, 因此要求学生除了掌握理论知识之外,必须具备基本的程序设计、编码和上机调 试能力,并能够初步利用程序设计解决实际问题。 六.其他说明 1、 课程教学网站:http://www.cbase.sjtu.edu.cn,ftp://cbase.sjtu.edu.cn 2、 基于学业规范的要求(道德行为规范、上课规范、上机规范、作业规范、 程序代码书写规范等) ⚫ 应遵守学校《上海交通大学学生手册(本科生)》里有关学术诚实的条 例 ⚫ 上课准时;上课期间,关掉手机 ⚫ ………(略) 3、 考试成绩:
总成绩=平时作业成绩+大作业+期中+期末考试成绩 撰写人:庄天红、王群慧 院(系)公章 院(系)教学主管签字(盖章):×x×时 间:2005-4-2
总成绩=平时作业成绩+大作业+期中+期末考试成绩 撰写人:庄天红 、王群慧 院(系)公章: 院(系)教学主管签字(盖章):××× 时 间:2005-4-2