《程序设计与算法语言_A》教学大纲2013试行版_第1页
《程序设计与算法语言_A》教学大纲2013试行版_第2页
《程序设计与算法语言_A》教学大纲2013试行版_第3页
《程序设计与算法语言_A》教学大纲2013试行版_第4页
《程序设计与算法语言_A》教学大纲2013试行版_第5页
全文预览已结束

下载本文档

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

文档简介

1、程序设计与算法语言_A教学大纲(2013试行版)Programming & Algorithmic Language(总学分:3.5 课时:44+32 课内实验机时:36+28)东南大学计算机基础课程教学指导委员会一、课程的性质与目的在当今的信息化时代,计算机成为主要工具,使用计算机不仅能提高生产的数量,也能提高生产和生活的质量。基本的计算机应用技术是高等学校培养的人才必须掌握的技术。在人才培养过程中,计算机程序设计是一门重要的基础课。程序设计与算法语言课程的类别属于计算机高级语言程序设计课程,其应用范围广泛,是适合理工科专业的计算机应用基础课程之一。开设本课程的目的是使学生深入理解用计算机解

2、决问题的基本原理和工作方法,学会以程序方式使用计算机进行科学计算和数据处理。在教学中使学生树立以算法为基础的程序设计理念,锻炼逻辑思维能力,为进一步学习与本专业相关的信息处理技术打下基础。本课程的先修课程是计算机文化基础,学生需要具备计算机系统和计算机操作的常识性基础。本课程的任务是,教授一门计算机高级语言(C+)及其程序设计技术。具体达到以下三个目标:1.了解计算机软件概念,掌握所教授的计算机高级语言的语法,能够用该门语言表示数据和数据之间的关系,实现人与计算机之间的数据交流.2.掌握面向过程的结构化程序设计方法,领会什么是算法,理解程序的逻辑控制流程与算法实现之间的关系,能够用高级语言描述

3、算法;能够调试运行源程序。3.了解面向对象程序设计的主要特点,掌握面向对象的程序设计方法,理解关于数据和数据操作的封装,掌握类和对象的概念、定义及其使用方法,能够利用类和对象的多种特性实现一般应用程序的功能要求。二、课程内容的教学要求本课程教学分为两阶段进行,分别在一年级第2和第3学期实施,学时分配为:第一阶段:授课44,实验36(课内36 + 课外4)。学分:2.0第二阶段:授课32,实验28(课内28 + 课外4)。学分:1.5注:以下标*号的内容不做必学要求。第一阶段学习内容:C+面向过程的结构化程序设计(2.0学分,课时/实验: 44/36)0C+预备知识(2学时)(1)理解计算机的组

4、成和逻辑结构,了解计算机工作原理;(2)掌握常用进制(2、8、10和16进制)的计算和转换,掌握补码的表示原理。1C+基础知识(6学时)(1)理解C+的基本数据类型,了解数据类型与数据存储的关系,初识C+程序;(2)理解关键词、标识符、变量和变量名定义规则,掌握各类常量的定义和使用方法,掌握转义字符和ASCII码的概念,了解常变量概念,了解引用变量概念;(3)掌握C+各类运算符(含位运算)和表达式的概念及用法,了解运算优先级和结合性,了解逻辑表达式的优化执行。理解自增、自减运算符(+,-)的本质并掌握使用方法;理解三种类型转换(自动转换、赋值转换和强制转换)的意义和实现;(4)掌握cin和co

5、ut的基本使用,并实现简单的输入和输出功能;(5)掌握C+程序编辑、编译、连接和执行的流程,掌握VC+集成环境的使用。理解C+工程的概念。2基本控制结构程序设计(9学时)(1)了解算法的概念和描述方法,了解程序设计的三种基本结构,掌握语句的概念;(2)掌握双路和多路选择结构的程序设计;(3)掌握循环结构的程序设计;(4)掌握循环的控制语句以及嵌套的程序控制结构;(5)掌握常用算法的应用:直接法,枚举法,递推法,迭代法。3函数(9学时)(1)理解函数抽象机制,掌握函数定义与函数的调用;(2)理解参数化机制,理解参数的传递过程(值传递和引用传递);(3)理解函数的返回值及函数原型说明;(4)理解函

6、数重载的概念,掌握函数重载的方法;(5)理解缺省参数的用途和定义方法;(6)掌握全局变量,局部变量,理解变量的存贮类型与作用域,生命期与可见性;(7)理解函数的递归调用,编写、测试、调试简单的递归函数;(8)了解内联函数;(9)掌握C+常用的库函数的使用方法;(10)理解宏定义使用方法;(11)了解编译预处理及其用途。4. 数组及其应用 (6学时)(1)理解数组与数组元素概念,掌握定义数组、初始化数组和访问数组元素的方法,掌握一维数组基本处理算法;(2)掌握二维数组的概念和定义,理解二维数组和一维数组的联系与区别,理解二维数组的常用算法;(3)掌握常用排序和查找算法的实现:冒泡排序、选择排序、

7、插入排序,顺序查找和二分查找;(4)了解回溯法的原理和实现(*)。5. 指针及其应用 (6学时)(1)掌握指针与地址的概念,掌握指针的基本运算方法;(2)掌握指针与一维数组的关系,理解数组名的本质;(3)了解指针与二维数组的关系:指向一维数组的指针(*);(4)掌握指针和引用作为函数的参数,理解数组作为函数参数的本质;(5)掌握字符数组、字符串和字符指针的概念和使用,掌握常见的字符串处理算法和输入输出,掌握常见的字符串处理库函数;(6)理解指针数组,了解指向函数的指针。6. 项目案例/设计 (6学时)(1)了解结构化编程的思想,理解综合程序设计思路;(2)拓展综合应用程序设计的能力。第二阶段教

8、学内容:C+面向对象的程序设计(1.5学分,课时/实验: 32/28)1. 类与对象 (6学时)(1)理解面向对象的概念和面向对象的思想,理解面向对象程序设计的特点;(2)掌握类的定义、数据成员和成员函数的定义,掌握类的访问权限控制;(3)理解构造函数的概念和用途,掌握构造函数、拷贝构造函数、析构函数的定义与使用,理解拷贝构造函数的隐含使用;(4)掌握对象与类的关系,掌握建立对象的不同方法;(5)理解对象数组,理解对象作为数组元素的定义和使用,了解指向对象的指针;(6)理解类的聚合,以及含有聚合类的构造函数实现;(7)了解面向对象工程中的多文件组织方法;(8)理解静态数据成员及其应用方法;(9

9、)掌握友元函数的概念,掌握其定义和使用方法,理解友元类的概念。(10)掌握掌握this指针的概念,掌握成员函数和友元函数实现运算符重载的方法;(11)掌握增量运算符重载的使用方法;(12)理解类型转换运算符和赋值运算符的重载(*)。2. 模板与数据结构 (4学时) (1)理解运用模板的意义,了解模板的概念;(2)了解函数模板和类模板及其使用方法;(3)掌握线性表类的实现;(4)理解模板与类参数,理解参数化程序设计的原理;(5)了解标准模板类库STL(*)。3. 动态分配内存与数据结构 (6学时)(1)了解动态分配内存的原理,掌握new和delete运算符的使用;(2)理解深拷贝与浅拷贝,掌握深

10、拷贝的实现,理解自定义字符串类的实现;(3)了解结构体类型的特点,掌握结构体类型的设计,了解枚举类型;(4)掌握链表的概念和存储方式,理解链表和顺序表的区别,掌握链表结点的定义和链表的定义,掌握单向链表的基本算法;(5)了解双向链表的实现(*);(6)理解栈和队列的概念,了解用链表和顺序表完成栈和队列的实现。4. 类的派生与继承 (4学时)(1)理解继承与派生的概念,掌握派生类的构造与析构;(2)理解多重继承的概念(*); (3)理解多态性的概念,掌握虚函数的定义与应用;(4)理解纯虚函数和抽象类的概念,掌握纯虚函数使用方法;(5)实现运行时多态性的程序设计。5. 输入/输出流类库 (4学时)

11、(1)了解I/O流及C+的基本流类体系;(2)掌握I/O流提取和流插入运算符的重载。(3)理解标准设备输入/输出,了解提高输入健壮性;(4)掌握文本文件的读/写操作;(5)了解二进制文件概念,了解文件的随机读写方法。6. 异常处理 (2学时)(1)了解异常的概念和处理机制;(2)了解异常的处理机制;(3)了解异常的实现方法。7. 项目案例/设计 (6学时)(1)基于面向对象程序设计技术,拓展综合应用程序设计的能力。三、实验要求与教材同步的实验,在长学期中进行。以Visual C+ 6.0 集成开发环境下的控制台应用程序为主,共64个实验学时,学时分配为上学期36和下学期28。第一阶段的实验要求

12、是重点掌握结构化编程方法和常用的基本算法应用实践,学会调试C+程序。第二阶段的实验要求是重点掌握面向对象编程方法,学会在面向对象程序中使用常用算法。四、能力培养的要求1. 分析能力的培养:主要是培养学生对问题、算法和程序进行分析的能力,同时也要培养逻辑思维和描述抽象事物的能力。2. 程序设计和实践能力的培养:学生通过本课程的学习,应具备基本的算法和程序设计能力。掌握程序的调试方法。3. 自学能力的培养:通过本课程的教学,培养和提高学生对所学知识进行整理、概括、消化吸收的能力,以及围绕课堂教学内容,阅读参考书籍和资料,自我扩充知识领域的能力。4. 表达能力的培养:主要通过作业和实验报告的形式,提

13、高清晰、整洁地表达自己解决问题的思路和步骤的能力。5. 创新能力的培养:培养学生独立思考、深入钻研问题的习惯,和对问题提出多种解决方案、选择不同计算方法,以及对算法和程序进行优化,举一反三的能力。五、建议学时分配课 程 内 容讲 课实 验第一阶段4436C+预备知识2C+基础知识64基本控制结构程序设计 96函数及其应用96数组及其应用66指针及其应用66项目案例/设计68第二阶段3228类与对象64模板与数据结构44动态分配内存与数据结构66类的派生与继承44输入/输出流类库43异常处理21项目案例/设计66六、考核方式总评成绩期末笔试成绩 期末机试成绩平时成绩(包括综合程序设计及上机实验)期末笔试成绩占50期末机试成绩占30综合程序设计占 10平时成绩占10七、教材及参考书1 C+程序设计第2版,吴乃陵、况迎辉,高等教育出版社,20062 C+程序设计实践教程第2版,吴乃陵、李海文,高等教育出版

温馨提示

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

评论

0/150

提交评论