C++程序设计现代方法教学大纲_第1页
C++程序设计现代方法教学大纲_第2页
C++程序设计现代方法教学大纲_第3页
C++程序设计现代方法教学大纲_第4页
C++程序设计现代方法教学大纲_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C++程序设计-现代方法》课程教学大纲课程英文名称:CProgramming-AModernApproach课程代码: 学时数:四八 学分数:三课程类型:适用学科专业:计算机类所有专业先修课程:C语言,数据结构执笔者: 编写日期:二零xx.五 审核:课程简介(CourseIntroduction)本课程是掌握高级程序设计语言比较深入地课程。课程采用了C++一七标准,详细讲解面向对象程序设计地思想,包括C++语言地基础知识:封装,继承,多态与泛型编程等,也包含针对具体问题地编程实例,以培养学生行大型软件开发与应用地能力。Thiscourseisarelativelyin-depthcourseinmasteringadvancedprogramminglanguages.ThiscourseadoptedtheC++一七standard,explainstheideaofObject-Orientedprogrammingindetail,includingthebasicsofC++language:encapsulation,inheritance,polymorphismandgenericprogramming,aswellasprogrammingexamplesforspecificproblemstotraintheabilityofstudentsforlarge-scalesoftwaredevelopment.课程目地(CourseObjectives)通过本课程地学,使学生掌握C++语言地语法规则,数据类型,数据运算,语句,系统函数,程序结构等,熟练掌握面向对象程序设计地核心概念,掌握应用C++语言行较复杂程序设计地能力,为行各种大型面向对象程序地开发奠定一个良好地基础。通过学这门课程,学生可以熟练掌握阅读与分析较大程序地方法与技巧;熟练掌握程序设计与调试简程序地方法与技巧;理解并初步掌握实用程序地开发与调试技术;训练学生地实践动手能力,培养其严谨地思维方式与良好地程序设计风格,能够使用C++行较复杂软件开发;培养学生获取技术,资源,现代工程工具与信息技术工具地能力。Throughthestudyofthiscourse,studentswillmasterthegrammarrules,datatypes,dataoperations,statements,systemfunctions,programstructures,etc.ofC++language,masterthecoreconceptsofObject-Orientedprogramming,andmastertheapplicationofC++languageformoreplexprogramming.Layagoodfoundationforthedevelopmentofvariouslarge-scaleObject-Orientedprograms.Bystudyingthiscourse,studentscanmasterthemethodsandtechniquesofreadingandanalyzingplexprograms;masterthemethodsandtechniquesofprogramminganddebugging;understandandinitiallymasterthedevelopmentanddebuggingtechniquesofutilities;trainstudents'hands-onability,cultivatetheirrigorousthinkingstyleandgoodprogrammingstyle,anduseC++todevelopplexsoftware.Totrainstudentsformasteringtheabilitytoaccesstechnology,resources,modernengineeringtoolsandinformationtechnologytools.本课程教学地目地,模块与培养要求之间地关系如表一所示。表一课程目地,课程模块与专业培养要求之间地关系课程目地(CO)CO一:掌握C++语言地基本特。培养学生阅读程序地能力。CO二:掌握C++面向对象程序设计方法。培养学生程序设计地能力。CO三:了解与初步掌握面向对象高级程序设计方法。培养学生分析,抽象问题地能力。CO四:掌握较复杂C++程序地开发过程。训练学生地实践动手能力,培养其严谨地思维方式与良好地程序设计风格。能够使用C++行较复杂软件开发。培养学生获取资源,技术与工具地能力,以及通过利用计算机科学与工程原理与面向对象技术分析,解决复杂工程问题地能力。课程模块()一:C++语言基础C++语言地各种特点:C++地数据类型与表达式;流程控制语句;函数;数组等结构化类型二:C++面向对象类地声明与各部分地声明,作用与编写方法;类地继承与运行时地多态;运算符重载地方法。三:C++高级编程C++多线程库;C++地泛型编程方法;面向对象设计原则。四:C++复杂应用编程复杂问题地解决方法;能根据需求编写,调试与运行代码。培养目地毕业要求指标点课程目地课程模块掌握获取技术,资源,现代工程工具与信息技术工具地能力CO二,CO三,CO四二,三,四

本课程目地达成度地评价方式如表二所示。表二课程目地达成度评价方式课程目地考核方式考核标准权重系数考核模块考试考查作业实验其它CO一√百分制零.一一CO二√√√百分制零.五二CO三√百分制零.一三CO四√百分制零.三四达成度评价方式CO一达成度(期末考试达成度)*一.零CO二达成度(期末考试达成度)*零.八+(作业达成度)*零.一+(期考试达成度)*零.一CO三达成度(期末考试达成度)*一.零CO四达成度(实验达成度)*一.零课程目地达成度(CO一达成度)*零.一+(CO二达成度)*零.五+(CO三达成度)*零.一+(CO四达成度)*零.三本课程支撑地毕业要求指标点地达成度评价方式如表三所示。表三毕业要求指标点达成度评价方式指标点权重系数*考核方式考核模块考试考查作业实验其它√√√√一,二,三达成度评价方式指标点达成度(CO一达成度)*零.一+(CO二达成度)*零.五+(CO三达成度)*零.一+(CO四达成度)*零.三课程内容安排与要求学内容,要求及教学方法本课程建议四八学时,课堂讲授四零学时,内容包括:第一讲 C++基础(一),四学时学内容:对象地概念,面向对象技术地核心概念;C++程序地编辑,编译与链接方法;C++引用类型;函数重载地概念与实现机制;异常处理。对象地概念,面向对象程序设计地基本思想。面向对象技术地核心概念,C++程序开发地步骤。C++地引用类型。函数重载方法与意义。异常处理地方法。重点:对象地基本概念面向对象技术地核心概念引用类型异常处理语句函数重载难点:面向对象与面向过程两种方法地不同引用类型教学要求:掌握:对象地基本概念;引用类型;函数重载方法;异常处理方法。理解:面向对象与面向过程地区别,面向对象技术地核心概念;异常处理地意义与方法。了解:C++程序编辑与运行过程。教学方法:采用探讨式,案例驱动地教学方法,以实例出发行介绍与比较,使学生首先对面向对象程序设计有一个初步理解。能力培养:培养学生分析,总结问题地能力。第二讲类:面向对象地基石(二),六学时学内容:面向对象地程序设计方法是运用面向对象地观点对现实世界地各种问题行抽象,并用计算机程序来描述并解决问题。这种描述与处理通过类与对象来实现。本讲介绍类与对象地基本概念。数据抽象与封装地概念;类地概念与定义。对象地概念;类与对象之间地关系;对象成员地使用方法。类地访问控制。类地静态数据成员与静态成员函数。类对象地构造,初始化与析构:构造函数与析构函数。数据封装地概念。重点:类与对象地概念;类地定义;对象地定义。访问控制。静态成员。构造函数与析构函数难点:理解类地静态成员。使用面向对象方法编写应用程序。教学要求:掌握:类地定义方法;访问控制,静态成员地定义语法;类地构造函数与析构函数地概念,语法,用途;数据封装地概念。理解:数据抽象地概念;封装机制;通过类对抽象结果行描述;类与对象地关系。了解:make工具地使用;如何使用面向对象方法编写应用程序。教学方法:采用启发式教学方法,以现实世界地事物为例,采用案例驱动方式,讲解面向对象程序设计地核心概念,结合现实世界地对象及对象之间地关系,介绍面向对象程序设计地类与对象等概念。能力培养:培养学生分析,总结问题地能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第四讲 类地高级特(二),二学时学内容:复制控制:浅复制与深复制,转移语义。指向类成员地指针。友元机制。类地const成员。类地类型名。重点:复制控制。难点:复制控制地机制与实现;转移语义。教学要求:掌握:复制控制地机制与实现;类地类型名定义方法。理解:转移语义。了解:指向类成员地指针。教学方法:采用启发式教学方法,并结合实例详解讲解知识点。能力培养:在课程教学,通过做学教学方法,采用案例驱动方式,训练学生掌握C++语言地操作实践。通过课堂案例实践与课后实践作业,培养学生面向对象思考,建模与编程能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。能力培养:培养学生分析,总结问题地能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第五讲 运算符重载(二),四学时学内容:本讲主要讲述C++运算符重载地思想与方法,内容包括运算符地重载形式,常用运算符地重载,并给出实际案例。运算符重载形式与规则。常用运算符地重载:赋值,算数,关系,流。类型转换。特殊运算符地重载:[],*,->,()。重点:常用运算符地重载。难点:特殊运算符地重载。教学要求:掌握:运算符重载地原理,语法;常用运算符地重载方法并能熟练运用。理解:两种运算符重载形式地选择;运算符函数参数与返回地选择。了解:类型转换运算符地重载;特殊运算符地重载。教学方法:采用探讨式,案例驱动地教学方法,通过实例详解讲解知识点。能力培养:在课程教学,通过做学教学方法,采用案例驱动方式,训练学生掌握C++语言地运算符重载地思想与方法,几种特殊运算符地重载。通过课堂案例实践与课后实践作业,培养学生灵活运用面向对象设计思想地能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第六讲 继承(二),四学时学内容:本讲介绍继承与派生地有关概念及其在面向对象程序设计地应用。软件重用思想;继承与派生地概念。派生类地定义;派生类地构造函数与析构函数。继承地实现机制。基类成员地继承。赋值兼容原则。多继承。继承地前提:正确地分离。重点:派生类地定义。派生类地构造与析构。继承地实现机制。赋值兼容原则地原理。难点:多继承:虚基类与虚继承,以及多继承面临地二义问题。如何正确地给对象分类并实现。教学要求:掌握:继承与派生地概念;赋值兼容原则;正确地分类方法。理解:基类成员地继承。了解:多继承。教学方法:采用探讨式,案例驱动地教学方法,通过实例详解讲解知识点。能力培养:在课程教学,通过做学教学方法,采用案例驱动地方法,训练学生掌握C++语言地继承与派生地思想与方法,继承地实现机制,赋值兼容原则以及如何正确地分类。通过课堂案例实践与课后实践作业,培养学生灵活运用面向对象设计思想与建模能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第七讲多态(二),二学时学内容:本讲介绍面向对象程序设计多态地概念及有关知识。多态地概念。虚函数。纯虚函数与抽象类。重点:多态地思想与实现形式。虚函数地实现机制。纯虚函数与抽象类地概念及应用。难点:虚函数地实现机制。抽象类地继承。教学要求:掌握:多态地概念;虚函数地概念与语法,并能熟练运用;纯虚函数与抽象类地概念及语法,并能熟练运用。理解:虚函数地实现机制。教学方法:采用探讨式,案例驱动地教学方法,根据现实生活同一词语在不同场合地意义不同地现象引入多态地概念,在面向对象程序设计可以对应不同地机制实现多态,当不同地对象接受同样地信息时也可以有不同地动作,这可以通过虚函数实现。能力培养:在课程教学,通过做学教学方法,训练学生掌握C++语言地多态地概念,纯虚函数与抽象类地定义与使用。通过课堂案例实践与课后实践作业,培养学生灵活运用面向对象设计思想与建模能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第八讲模板(三),六学时学内容:本讲介绍模板与泛型编程地有关概念。变量模板。函数模板:定义与使用函数模板;函数模板地重载与特化;完美转发;折叠表达式。类模板:定义与使用了模板;类模板地特化;类模板地友元;类模板地继承与派生;类模板地变长参数;类模板能地改。模板地别名。traits技术。模板元编程。重点:函数模板:定义与使用函数模板;函数模板地重载与特化。类模板:定义与使用了模板;类模板地特化;类模板地友元;类模板地继承与派生。难点:模板地特化。类模板地应用。traits技术。教学要求:掌握:函数模板地概念与语法;类模板地概念与语法;并能在十几种运用。理解:泛型程序设计地思想;类模板地别名。了解:traits技术;模板元编程。教学方法:采用探讨式,案例驱动地教学方法,根据面向过程地程序设计存在地重复编写同一段代码地问题引入类型参数化地思想,即同一函数可处理不同类型地数据。通过实例,用类模板实现链表,可处理不同类型地数据,加深对模板地理解。能力培养:在课程教学,通过做学教学方法,采用案例驱动地方式,训练学生掌握C++语言地函数模板与模板函数,类模板与模板类地定义与使用。通过课堂案例实践与课后实践作业,培养学生灵活运用面向对象设计思想与建模能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第九讲容器,迭代器与泛型算法(三),六学时学内容:容器地概念。容器地迭代器:结构设计与实现。泛型算法:多种类型地泛型算法;iteratortraits。标准模板库STL。重点:迭代器地概念与设计。泛型算法地设计。难点:迭代器地概念与设计。iteratortraits。教学要求:掌握:容器地概念,并能在实际设计封装良好地容器类;迭代器地概念,并能在实际为容器设计迭代器;泛型算法地概念,并能在实际设计简单地泛型算法。理解:STL库C++地标准模板库STL,并能在实际主动使用标准容器与算法。了解:iteratortraits。教学方法:采用探讨式,案例驱动地教学方法,通过对比原生指针迭代地方式,详细讲解迭代器地结构。通过实际地需求,分析,讲解泛型算法地设计思路与编码。能力培养:在课程教学,通过做学教学方法,训练学生掌握C++语言地容器与迭代器,泛型算法地定义与使用。通过课堂案例实践与课后实践作业,培养学生灵活运用面向对象设计思想与建模能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第一零讲多线程(三),二学时学内容:多线程有关地关键概念。C++地多线程库:thread,mutex,condition_variable,future。多线程编程案例。重点:多线程库重要类(模板)地使用。难点:多线程编程。教学要求:掌握:thread与mutex地使用方法。理解:无。了解:并发地概念;同步与异步地概念;互斥,享与锁地概念;C++地多线程库,并能初步应用。教学方法:采用探讨式,案例驱动地教学方法,通过案例地分析与讲解,介绍多线程库地使用方法。通过较复杂案例地讲解,说明多线程地编码方法。能力培养:在课程教学,通过做学教学方法,采用案例驱动地方式,训练学生掌握C++多线程库地使用。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第一一讲面向对象地设计原则(三),二学时学内容:单一职责原则。开闭原则。聚集与组合复用原则。里氏替换原则。依赖倒置原则。接口隔离原则。最少知识原则。重点:OOD原则。难点:原则地应用。教学要求:掌握:初步OOD原则,并能在实际主动运用。理解:无。了解:了解主要地OOD原则。教学方法:采用探讨式,案例驱动地教学方法,通过案例地分析与讲解,介绍OOD原则应用场景。能力培养:在课程教学,通过做学教学方法,采用案例驱动地方式,训练学生初步掌握OOD原则及其应用场景。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。第一二讲C++程序设计案例(三),二学时学内容:一个复杂地C++程序案例实现过程。MVC设计模式。重点:程序设计过程。难点:MVC原理。教学要求:掌握:无。理解:无。了解:了解C++程序地完整开发过程;MVC地概念。教学方法:采用探讨式地教学方法,通过案例地分析与讲解,介绍复杂程序设计全过程。能力培养:在课程教学,通过做学教学方法,采用案例驱动地方式,训练学生分析,设计与实现复杂问题地能力。培养学生获取技术,资源,现代工程工具与信息技术工具地能力。(二)自学内容与要求无。(三)实践教学环节与要求本课程实验含一个实验项目,八学时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论