《程序设计与算法语言》教学大纲.doc_第1页
《程序设计与算法语言》教学大纲.doc_第2页
《程序设计与算法语言》教学大纲.doc_第3页
《程序设计与算法语言》教学大纲.doc_第4页
全文预览已结束

下载本文档

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

文档简介

程序设计与算法语言教学大纲(电类专业适用)Programming & Algorithmic Language(总学分:4.0 课时:40+36 课内机时:32+32)东南大学计算机基础课程教学指导委员会一、课程的性质与目的在当今的信息化时代,计算机成为主要工具,使用计算机不仅能提高生产的数量,也能提高生产和生活的质量。基本的计算机应用技术是高等学校培养的人材必须掌握的技术。在人材培养过程中,算法语言和程序设计是一门重要的基础课。程序设计与算法语言课程的类别属于计算机高级语言程序设计课程,其应用范围广泛,是适合理工科专业的计算机应用基础课程之一。开设本课程的目的是使学生学会使用计算机这一现代化科学计算和数据处理工具,深入理解用计算机解决问题的基本原理和工作方法,能够利用计算机解决管理、设计和生产中的实际问题,同时使学生树立以算法为基础的程序设计理念,锻炼逻辑思维能力,为进一步学习与本专业相关的信息处理技术打下基础。本课程的先修课程是计算机文化基础,学生需要具备计算机系统和计算机操作的常识性基础。本课程的任务是,教授计算机高级语言C+及其程序设计技术。具体达到以下三个目标:1.了解计算机软件概念,掌握C+算法语言的语法,能够用C+语言表示数据和数据之间的关系,实现人与计算机之间的数据交流.2.掌握结构化程序设计方法,领会什么是算法,理解程序的逻辑控制流程与算法实现之间的关系,能够用C+语言描述算法;能够调试运行C+程序。3.了解面向对象程序设计的主要特点,掌握面向对象的程序设计方法,理解关于数据和数据操作的封装,掌握类和对象的概念、定义及其使用方法,能够利用类和对象的多种特性实现一般应用程序的功能要求。二、课程内容的教学要求本课程教学分为两阶段进行,分别在第2和第3学期实施,学时分配为:第一阶段:授课40,实验40(课内32 + 课外8),学分:2.0第二阶段:授课36,实验32。学分:2.0第一阶段学习内容:(2.0学分,课时/实验: 40/32)(一) 大学计算机基础部分(8学时)1. 认识计算机 (5学时)(1)计算机的基本结构:掌握计算机的逻辑(功能)结构,理解各种相关概念。(2)计算机的工作原理:理解计算机基本工作原理。了解指令的基本执行过程。(3)计算机中数据的表示及其运算:掌握进位计数制的概念及其运算。2. 程序式使用计算机(3学时)(3)程序构造的基本方法:了解常用的数据组织方法。理解算法的基本概念N-S图,掌握搜索和排序基本数据处理方法。(二) C程序设计(上)部分 (32学时)1C+基础知识(6学时)(1)初识C+程序;(3)掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级;(4)理解类型的相容性与不相容性;(5)掌握简单标准输入输出的程序实现。2基本控制结构程序设计(8学时)(1)理解算法的概念,掌握算法的描述方法,了解程序设计三种基本结构;(2)掌握双路和多路选择结构的程序设计:if 语句,switch语句;(3)掌握循环结构的程序设计: while语句,for语句,dowhile语句;(4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法;(5)应用结构化技术分解程序,设计、实现、测试和查错简单程序;(6)掌握文本文件的输入输出。3函数(9学时)(1)理解函数抽象机制,掌握函数定义与函数的调用;(2)理解参数化机制(值调用),了解参数的传递过程;(3)理解函数的返回值及函数原型说明;(4)理解全局变量,局部变量,变量的存贮类型与作用域,生命期与可见性;(5)掌握函数的递归调用,编写、测试、调试简单的递归函数;(6)理解函数重载,缺省变元,内联函数。4类与对象(9学时)(1)理解传统的结构化程序设计和面向对象程序设计的基本概念;(2)理解面向对象程序设计和封装、抽象的合理性;(3)类定义、属性与行为、访问权限控制,对象的定义、使用及内存的安排,掌握类机制如何支持封装和信息隐藏;(4)掌握构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;(5)理解引用概念,理解值调用和引用调用在参数传递中的不同。理解拷贝构造函数。(6)掌握函数重载技术与运算符重载技术(7)理解友元,静态数据成员。掌握友元函数的定义和使用方法。第二阶段学习内容:(2.0学分,课时/实验: 36/32)(三)C 程序设计(下)部分5数组与指针(8学时)(1)理解数组的概念;掌握数组的定义方法,能编写基于数组的应用程序。(2)理解指针与地址、指针与数组的对应关系,数组名,指针运算;(3)掌握标准C+字符串与了解C风格字符串。(4)理解向函数传递数组或指针;6模板与数据结构(8学时)(1)理解函数模板与类模版:(2)线性表:掌握模板编写程序的方法,掌握顺序表在内存中的分配与使用;(3)掌握主要查找与排序的算法;(4)模板与类参数,理解类型参数和参数化类型(模板)。7动态内存分配与数据结构(8学时)(1)了解动态数据结构和静态数据结构实现的差异;(2)理解堆内存分配、堆与拷贝构造函数、深拷贝与浅拷贝;(3)掌握链表在内存中的分配,链表的基本操作与使用,;(4)了解栈与队列及其基本操作;8类的继承与派生(6学时)(1)理解继承的概念,了解面向对象设计中继承和多态的合理性;(2)掌握派生类的构造与析构;(3)掌握在对象中使用类层次和继承思想进行设计、实现和测试;(4)理解多重继承,了解虚基类;(5)区别运行时的多态性的实现,理解重载与同名覆盖的差异;(6)理解虚函数与多态性。(7)实现运行时多态性的程序设计;9输入/输出流类库(6学时)(1)理解C+的基本流类体系;(2)提高标准输入/输出的健壮性;(3)掌握提取与插入运算符的重载(4)掌握文件的输入/输出:文件的打开与关闭,文本文件与二进制文件。(5)掌握在构造函数中通过文件建立对象,在析构函数中由文件保存对象的技术。三、上机实习要求以Visual C+ 6.0 集成开发环境下的控制台应用程序为背景,共23个必做实验和4个选做实验,对应精讲多练。课内学时分配为上学期32和下学期32。上学期的实验要求是重点掌握结构化编程方法和常用的基本算法应用实践,学会调试C+程序。下学期的实验要求是重点掌握面向对象编程方法,学会在面向对象程序中使用常用算法。四、能力培养的要求1. 分析能力的培养:主要是培养学生对问题、算法和程序进行分析的能力,同时也要培养逻辑思维和描述抽象事物的能力。2. 设计能力的培养:要求学生通过本课程的学习,具备算法和程序设计的能力,程序实践的能力。3. 自学能力的培养:通过本课程的教学,要培养和提高学生对所学知识进行整理、概括、消化吸收的能力,以及围绕课堂教学内容,阅读参考书籍和资料,自我扩充知识领域的能力。4. 表达能力的培养:主要是通过作业,清晰、整洁地表达自己解决问题的思路和步骤的能力。5. 创新能力的培养:培养学生独立思考、深入钻研问题的习惯,和对问题提出多种解决方案、选择不同计算方法,以及对算法和程序进行优化,举一反三的能力。五、建议学时分配课 程 内 容讲 课习题课或课堂讨论实 验上 机第一阶段4032+8认识计算机5程序式使用计算机3C+基础知识66基本控制结构程序设计88函数910类与对象988学时学生自由安排第二阶段36232数组与指针86模板与数据结构86动态内存分配与数据结构88类的继承与派生66输入/输出流类库66注:课内外学时比:1:2六、考核方式总评成绩平时成绩(包括作业及上机实验)期末笔试成绩 期末机试成绩平时成绩占10期末笔试成绩占60期末机试成绩占30其中第一阶段考试内容中包括两个部分,第1部分为大学计算机基础部分;

温馨提示

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

评论

0/150

提交评论