《C 程序设计》教学大纲第二版由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c程序设计教学大纲”。
《面向对象C++程序设计》教学大纲 1 《C++程序设计》教学大纲第二版
一、本课程的地位、作用和任务
程序设计课程是大学生的基础课,也是第一门计算机课程(计算机文化基础已是中学教学大纲的要求),包括面向对象程序设计及最基本的数据结构和软件工程的知识。其任务是培养学生的面向对象的编程能力,也锻炼大学生的逻辑思维能力。这里选用C++语言为教学语言。
二、学时安排
本教程授课时数56学时,上机实验56学时(含课外上机),分为两个学期完成(这样教学效果明显优于一个学期完成)。鉴于学时有限,要求精讲多练。另有小型软件设计的实践环节(课程设计,短学期),16学时加上机实验32学时(含课外上机)。
三、教学基本内容 理论教学部分
整个教学过程应围绕面向对象C++程序设计的关键技术精讲多练:要求学生熟练应用多态(重载和超载),熟练应用模板,熟练应用派生,熟练应用聚合。习惯在构造函数中动态分配资源、在析构函数中释放资源和异常处理的方式。
正确处理编程细节与大局观:在第一学期的教学中对算法的描述,侧重于采用C++语言编程的细节的讲解。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数” 的教学中要严格贯彻这一要求。教师在课堂教学时应多做控制台应用程序设计全过程演示。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强。建议在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C++语言的算法本身的描述和程序整体的构造,使学生的编程能力上一个台阶。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
1.C++基础知识(4学时)
1)初识C++程序;
2)了解类型潜在的面向对象的特性——值集与操作集的封装
3)掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级; 4)理解类型的相容性与不相容性; 5)标准输入输出简介。
2.基本控制结构程序设计(8学时)
1)了解算法的描述与程序设计三种基本结构;
2)掌握选择结构程序设计:if 语句,switch语句;
《面向对象C++程序设计》教学大纲 2 3)掌握循环结构程序设计: while语句,for语句,do„while语句; 4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法,递归法(在函数部分);
5)应用结构化技术分解程序,设计、实现、测试和查错简单程序; 6)熟悉输入输出文本文件简单应用。
3.函数(6学时)
1)理解函数抽象机制:函数定义与函数的调用; 2)理解参数化机制(值调用),了解参数的传递过程; 3)了解函数的返回值及函数原型说明;
4)理解全局变量,局部变量,变量的存储类型与作用域,生命期与可见性;
5)掌握函数的递归调用,编写、测试、调试简单的递归函数; 6)了解函数重载,默认变元,内联函数;
4.类与对象(上)(4学时)
1)了解传统的结构化程序设计和面向对象程序设计的基本概念; 2)理解面向对象程序设计和封装、抽象的合理性;
3)掌握类定义、属性与行为、访问权限控制,对象的定义、使用及内存的安排,掌握类机制如何支持封装和信息隐藏;
4)理解构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;
5)掌握引用技术,理解值调用和引用调用在参数传递中的不同;
以上第一学期学习内容,共24学时,其中留有2学时机动。
(下)(3学时)
6)掌握函数重载技术与运算符重载技术 7)了解友元,静态数据成员;
5.数组与指针(4学时)
1)掌握数组与多维数组;
2)掌握指针与地址、指针与数组的对应关系,数组名,指针运算; 3)熟悉标准C++字符串与了解C风格字符串。4)了解向函数传递数组或指针的方法;
6.模板与数据结构(5学时)
1)熟悉函数模板与类模版;
2)线性表:掌握模板编写程序的方法,掌握顺序表在内存中的分配与使用;
3)掌握主要查找与排序的算法;
5)模板与类参数,理解类型参数和参数化类型(模板)。
7.动态内存分配与数据结构(6学时)
《面向对象C++程序设计》教学大纲 3 1)了解动态数据结构和静态数据结构实现的差异;
2)熟悉自由存储区内存分配、自由存储区与复制构造函数、深复制与浅复制;
3)掌握链表在内存中的分配,掌握链表的基本操作与使用,; 4)了解栈与队列及其基本操作;
8.类的继承与派生(6学时)
1)了解继承的概念,了解面向对象设计中继承和多态的合理性; 2)熟悉派生类的构造与析构;
4)掌握在对象中使用类层次和继承思想进行设计、实现和测试的方法; 5)区别运行时的多态性的实现,理解重载与同名覆盖的差异; 6)掌握虚函数与多态性。
7)熟悉实现运行时多态性的程序设计;
9.输入/输出流类库(4学时)
1)了解C++的基本流类体系; 2)掌握提取与插入运算符的重载
3)熟悉文件的输入/输出:文件的打开与关闭,文本文件与二进制文件。4)掌握在构造函数中通过文件建立对象,在析构函数中由文件保存对象的技术。
10.异常处理(2学时)
1)了解异常处理机制: try块,异常抛出throw,异常捕获catch; 2)理解栈展开与异常捕获的过程; 3)了解异常和继承;
4)会编写能响应执行中异常情况的代码。
以上第二学期教学内容,共32学时,留有2学时机动。
同步实验部分
以Visual C++ 6.0 集成开发环境下的控制台应用程序为背景,共26个(实际29个,3个选做)实验。对应精讲多练,实验安排比较丰富。实验一
Visual C++集成开发环境(IDE)入门 实验二
简单的C++程序设计 实验三
分支结构程序设计 实验四
循环结构程序设计
实验五
常用算法:枚举法 递推法 迭代法 实验六 文本文件简单应用 实验七 函数的基本概念 实验八 函数的递归算法
实验九 函数的重载和变量的作用域 实验十 类与对象的基本概念 实验十一
引用与复制构造函数 实验十二 运算符重载
《面向对象C++程序设计》教学大纲 4 实验十三 数组与多维数组 实验十四 指针与数组 实验十五 模板与线性表 实验十六 排序与查找 实验十七 模板与类参数
实验十八 动态内存分配与深复制 实验十九 链表及应用
实验二十 栈与队列的操作
实验二十一 继承与派生基本概念 实验二十二 虚函数与多态 实验二十三 纯虚函数
实验二十四 输入输出与重载 实验二十五 文件 实验二十六
异常处理
课程设计部分
要求采用事件驱动编程方法完成。课堂教学——Windows程序设计基础
1)API函数与传统的Windows编程; 2)MFC编程;
3)Windows对象和对象句柄; 4)MFC对象;
5)MFC的消息映射与命令传递; 6)文档/视图结构和序列化。
7)MFC编程操作,可安排学生提前自学为主,教师进行重点内容讲解和演示。要求内容简洁而不失完整性:由应用程序向导建立程序框架,由资源编辑器建立用户界面,由类向导建立成员变量、消息映射和处理函数,加上文档序列化和注册;使学生对MFC编程的关键步骤一目了然。
8)介绍研究型学习和管理及多媒体软件编制方法。9)实验
对话框与控件 4学时 文档-视图结构及图形与文本输出 4学时 序列化和文件操作 4学时 多文档与多重视图 4学时
课程设计
采用研究型学习方法,由学生分组在辅导教师(研究生)指导下自选题目,调研并自定内容,强调参与开发的全过程。
上机
16学时
四、说明——课程体系特点与教学:
第一,建立新的面向对象的C++教学体系。
强调类对象个性实现的关键技术——多态,包括重载(编译时的多态,《面向对象C++程序设计》教学大纲 5 包括函数与运算符重载)、层次结构中的同名覆盖与超载(运行时的多态)。在教学中尽早引入这些技术。引入的越早应用的机会越多。普遍使用这些技术是面向对象的C++的标志。
提倡完善的类对象封装,不仅封装数据和对数据的操作,而且封装资源(尤其是内存)的动态分配与释放,形成一个完备的子系统。在一个有层次结构的类体系中资源的动态分配与释放应该封装在成员对象中,如使用标准的string字符串类那样。
突出模板相关内容的教学。不是将模板作为一种语法现象,而是作为一个有力的工具用于本教材所涉及的全部数据结构基本知识。
介绍怎样在面向对象的程序设计中使用异常处理技术来处理一些很难查找甚至是无法避免的运行时错误和异常。
总之,不是泛泛介绍面向对象的C++的语法和框架,而是突出实用技术,包括完善的封装、派生、多态和模板,在构造函数中动态分配资源、在析构函数中释放资源和异常处理,这是面向对象的C++程序设计的精髓。
第二,强调算法,注意介绍有关独立于任何特定编程语言的算法概念和结构,即突出程序设计而不是语法。强调算法,不是忽视语法,而是不要繁琐的钻牛角尖的语法,我们要的是基本的常用的语法,但更多的是模仿。不是知道的语法越多,程序编得越好,而是自己动手编程越多,程序编得越好。
第三,培养面向对象程序设计能力。掌握怎样从客观事物中抽象出类来的方法。基础教学与实践教学相结合。在基础教学中采用Windows平台下的控制台方式(命令行方式)以突出编程能力的培养。在实践部分比较全面地学习标准的Windows图形界面编程。采用研究型学习进行课程设计。
该教学体系培养的学生所编的程序给人的第一影响应该是:这是规范的面向对象的程序。
对于需要计算机知识较多的专业,程序设计课程应考虑后续课程的需要。尤其是电气电子信息类专业的学生的后续课程中需要大量的面向过程的程序设计的基础知识,包括汇编语言的编程,单片机、嵌入式系统和DSP的C语言编程。面向对象的程序设计其实与面向过程的程序设计是密不可分的。在本课程中,算法的描述实际上是面向过程的,而面向对象是一种包装,它使程序的整体组织更合理,使用起来更方便。教学中应该合理地将两个方面有机地结合起来,即细节上算法的编程和程序总体上的把握并重。
在第一学期的教学中对算法的描述,必须侧重于采用C++语言编程的细节的讲解,即培养学生对算法的编程能力。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数”这两章的教学中要严格贯彻这一要求。“类与对象”(上)是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强,使学生的编程能力上一个台阶。
在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C++语言的算法本身的描述和程序整体的构造。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
《C程序设计》教学大纲一、课程的性质和任务本课程为计算数学专业本科生的必修课。通过对C程序设计的基本知识、基本概念、基本技能的学习和训练,使学生掌握C语言的语法规则......
C语言教学大纲说明:1、性质C语言是近年来国内外得到迅速推广使用的一种现代计算机语言,不少迫切希望学习和使用C语言,是鉴于C语言功能强,使用灵活,目标程序效率高,可移植性好,对硬......
《C程序设计》课程教学大纲课程编号: 课程类别: 通识课教学时数总计:64学时 授课时数:32 实验时数:32 学分: 课程英文译名:C program design一、课程的任务和目的:通过学习本......
《C语言程序设计》课程教学大纲(电子信息技术本科专业使用)一、课程的地位、教学目的和基本要求:C语言程序设计是一门高效实用的过程化程序设计语言,既适合于编写应用程序,也适合......
《C语言程序设计》教学大纲[课程名称: ] C语言程序设计[教学时总数:] 36+36 周学时: 讲授:2 上机实践:2 (共18周) [课程教材: ] 教科书:C语言程序设计(第二版)(谭浩强 著)(清华大学出版社......