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

下载本文档

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

文档简介

程序设计与算法语言教学大纲(非电类2011)Programming & Algorithmic Language(总学分:3.5 课时:40+36 课内实验机时:32+32)东南大学计算机基础课程教学指导委员会一、课程的性质与目的在当今的信息化时代,计算机成为主要工具,使用计算机不仅能提高生产的数量,也能提高生产和生活的质量。基本的计算机应用技术是高等学校培养的人才必须掌握的技术。在人才培养过程中,计算机程序设计是一门重要的基础课。程序设计与算法语言课程的类别属于计算机高级语言程序设计课程,其应用范围广泛,是适合理工科专业的计算机应用基础课程之一。开设本课程的目的是使学生学会使用计算机这一现代化科学计算和数据处理工具,深入理解用计算机解决问题的基本原理和工作方法,能够利用计算机解决管理、设计和生产中的实际问题,同时使学生树立以算法为基础的程序设计理念,锻炼逻辑思维能力,为进一步学习与本专业相关的信息处理技术打下基础。本课程的先修课程是计算机文化基础,学生需要具备计算机系统和计算机操作的常识性基础。本课程的任务是,教授计算机高级语言C+及其程序设计技术。具体达到以下三个目标:1.了解计算机软件概念,掌握C+算法语言的语法,能够用C+语言表示数据和数据之间的关系,实现人与计算机之间的数据交流.2.掌握结构化程序设计方法,领会什么是算法,理解程序的逻辑控制流程与算法实现之间的关系,能够用C+语言描述算法;能够调试运行C+程序。3.了解面向对象程序设计的主要特点,掌握面向对象的程序设计方法,理解关于数据和数据操作的封装,掌握类和对象的概念、定义及其使用方法,能够利用类和对象的多种特性实现一般应用程序的功能要求。二、课程内容的教学要求本课程教学分为两阶段进行,分别在一年级第2和第3学期实施,学时分配为:第一阶段:授课40,实验36(课内32 + 课外4)。学分:2.0第二阶段:授课36,实验36(课内32 + 课外4)。学分:1.5注:以下标*号的内容不做必学要求。第一阶段学习内容:(2.0学分,课时/实验: 40/32)(一)大学计算机基础部分(6学时)1. 认识计算机 (4学时)(1)计算机的基本结构:掌握计算机的逻辑(功能)结构,理解数据的存储机制;(2)计算机的工作原理:理解计算机基本工作原理。了解指令的基本执行过程;(3)计算机中数据的表示及其运算:掌握进位计数制的概念及其运算。2. 程序式使用计算机(2学时) (1)程序构造的基本方法:了解常用的数据组织方法;(2)理解算法的基本概念,理解算法的表示,掌握基本的数据处理方法。(二)C程序设计(上)部分 (34学时)1C+基础知识(4学时)(1)理解C+的基本数据类型,了解数据类型与数据存储的关系。初识C+程序;(2)理解变量和变量名定义规则,掌握常量、字符和字符串常量的定义和使用方法,了解常变量概念;(3)掌握C+运算符和表达式的概念及用法,了解运算优先级和结合性,了解逻辑表达式的优化执行。掌握赋值语句。理解自增、自减运算符(+,-)的本质,掌握使用方法。(4)掌握cin和cout的使用方法。掌握C+转义字符,掌握输出数据的格式控制;(5)掌握C+程序编辑、编译、连接和执行的流程,掌握VC+集成环境的使用。2基本控制结构程序设计(8学时)(1)掌握程序设计的三种基本结构;(2)掌握双路和多路选择结构的程序设计,掌握循环结构的程序设计;(3)掌握嵌套的程序控制结构;(4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法;(5)理解程序编译时的错误提示信息,掌握程序的基本调试方法。3函数(8学时)(1)理解函数抽象机制,掌握函数定义与函数的调用;(2)理解参数化机制(值调用),理解参数的传递过程;(3)理解函数的返回值及函数原型说明;(4)掌握全局变量,局部变量,理解变量的存贮类型与作用域,生命期与可见性;(5)理解函数的递归调用,编写、测试、调试简单的递归函数;(6)理解函数重载,缺省变元,内联函数。(7)掌握C+常用的库函数的使用方法。4. 枚举类型、多文件结构及编译预处理 (2学时)(1)了解枚举类型的语法和语义;(2)了解C+工程的概念,理解一个工程中的多个文件的组织和建立方法;(3)了解编译预处理的用途。5. 数组及其应用 (6学时)(1)理解数组与数组元素概念,理解数组名的本质,掌握定义数组和访问数组元素的方法;(2)掌握一维数组基本处理算法;(3)掌握二维数组基本处理算法;(4)掌握几种常用的排序算法、查找算法和其它应用算法。6. 字符串 (4学时)(1)理解字符串的表示和存储形式,了解标准C+字符串的应用。掌握字符串的输入输出;(2)掌握用于字符串处理的库函数;(3)掌握常见的字符串处理算法。习题讨论课与复习 (2学时)第二阶段教学内容:(1.5学分,课时/实验: 36/32)1. 指针与动态内存分配 (6学时)(1)掌握指针与地址的概念,掌握指针的基本运算方法;(2)掌握指针与一维数组的关系,理解指针与二维数组的关系;(3)掌握堆内存的分配和释放;(4)理解引用的概念,掌握指针和引用作为函数的参数;(5)掌握在处理数组和字符串问题时基于指针的常用算法。(6) 指针数组; (7) 指向函数的指针; (*)2. 结构体、链表及其应用 (4学时)(1)了解struct结构体类型的特点;(2)理解自定义数据类型的用途和定义方法,掌握自定义类型的使用方法;(3)掌握链表的概念和存储方式,掌握链表结点的定义和链表的定义,掌握单向链表的基本算法(建立,输出,插入,删除,查找)。3. 类与对象 (6学时)(1)理解面向对象的概念,面向对象的思想(封装-属性与行为,访问权限控制),掌握面向对象程序设计的特点;(2)掌握类的定义、数据成员和成员函数的定义;(3)理解构造函数的概念和用途,掌握构造函数、拷贝构造函数、析构函数的定义与使用;(4)掌握对象与类的关系,掌握建立对象的不同方法;(5)了解调用拷贝构造函数的时机。理解对象的深拷贝与浅拷贝;(6)理解对象数组,理解对象作为数组元素的定义和使用。4. 友元函数和友元类 (4学时)(1)掌握静态数据成员;(2)常类型和常成员函数; (*)(3)掌握友元函数和友元类的概念,掌握其定义和使用方法。5. 继承与多态、运算符重载 (6学时)(1)理解继承的概念,掌握类的派生;(2)了解多重继承的概念。了解二义性问题及避免出现二义性的方法;(*)(3)理解多态的实现,掌握函数重载、运算符重载;(4)理解动态联编概念,了解虚函数的定义与应用;(5)函数模板及应用,类模板及其应用。 (*)6. 输入/输出流类库 (4学时)(1)了解I/O流及C+的基本流类体系;(2)了解基本的标准设备输入/输出格式控制方法;(3)理解磁盘文件和文本文件的概念,掌握文本文件的读/写操作;(4)了解二进制文件概念,了解文件的随机读写方法。 (*)习题讨论课与复习 (2学时)三、实验要求与教材同步的实验,在长学期中进行。以Visual C+ 6.0 集成开发环境下的控制台应用程序为主,共64个实验学时,学时分配为上学期32和下学期32。上学期的实验要求是重点掌握结构化编程方法和常用的基本算法应用实践,学会调试C+程序。下学期的实验要求是重点掌握面向对象编程方法,学会在面向对象程序中使用常用算法。四、能力培养的要求1. 分析能力的培养:主要是培养学生对问题、算法和程序进行分析的能力,同时也要培养逻辑思维和描述抽象事物的能力。2. 设计能力的培养:学生通过本课程的学习,应具备基本的算法和程序设计能力。3. 自学能力的培养:通过本课程的教学,培养和提高学生对所学知识进行整理、概括、消化吸收的能力,以及围绕课堂教学内容,阅读参考书籍和资料,自我扩充知识领域的能力。4. 表达能力的培养:主要通过作业和实验报告的形式,提高清晰、整洁地表达自己解决问题的思路和步骤的能力。5. 创新能力的培养:培养学生独立思考、深入钻研问题的习惯,和对问题提出多种解决方案、选择不同计算方法,以及对算法和程序进行优化,举一反三的能力。五、建议学时分配课 程 内 容讲 课习题课或课堂讨论实 验第一阶段38232认识计算机4程序式使用计算机2C+基础知识66基本控制结构程序设计 66函数88枚举、多文件结构、预处理24数组及其应用628字符串4另4学时学生自由安排第二阶段34232指针与动态内存分配64结构体、链表及其应用44类与对象624友元46继承与多态、运算符重载66文本方式的磁盘文件读写44另4学时学生自由安排六、考核方式总评成绩期末笔试成绩 期末机试成绩平时成绩(包括作业及上机实验)期末笔试成绩占60期末机试成绩占30平时成绩占10其中第一阶段考试内容中包括两个部分,第1部分为大学计算机基础部分,第2部分为程序设计(上)。七、教材及参考书1 C+程序设计,朱金付等,清华大学出版社,20092 Visual C+

温馨提示

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

评论

0/150

提交评论