计算机程序设计

发布者:黄允凯发布时间:2015-12-17浏览次数:1771

计算机程序设计》教学大纲

课程代码

16001006(上) 16001007(下)

课程名称

计算机程序设计

C++ Programming

课程性质

《计算机程序设计》是电气工程及其自动化专业的一门重要基础课,属于公共基础课程。

学分/学时

计算机程序设计(上):授课44学时,上机32学时,2学分

计算机程序设计(下):授课32学时,上机32学时,1.5学分

开课学期

一(2),一(3

开课单位

电气工程学院

适用专业

电气工程及其自动化

教学语言

演示文稿、讲解、作业、试卷均采用中文,术语采用中英文对照

先修课程

大学计算机基础

后续课程

数据结构

教材及参考书

教材:

²吴乃陵,高等教育出版社,C++程序设计(第二版)

²李海文,高等教育出版社,C++程序设计实践教程

参考书:

²钱能,清华大学出版社,C++程序设计教程

²Stanley   B.Lippman, C++ Primer

²郑莉,清华大学出版社,C++语言程序设计

²网络资源

课程简介

本课程是电气工程及其自动化专业必修的一门专业基础课。课程的任务是讲授计算机C++编程语言及面向对象的程序设计技术。课程的教学目的是使学生通过本课程的学习,深入理解用计算机解决问题的基本原理和工作方法,树立以算法为基础的程序设计理念,建立计算机思维方式,理解并掌握面向对象的程序设计思想和基本方法,形成数据结构初步概念。培养学生进行程序设计、调试和运行等方面的上机动手能力,为学习有关专业课程以及进行应用研发打下必要的程序设计基础。

考核方式

²总评成绩=平时及上机实验+期中考试+期末考试(机试+笔试)

平时及上机实验:20%(包括课后作业、平时测试、上机实验、出勤)

期中考试:10%

期末考试:70%(其中:笔试部分70%  +  机试部分 30% )

实验教学


专业培养能力

1.工程知识:具有从事电气工程专业所需数学、自然科学以及经济和管理知识;掌握电气工程基础理论和专业知识,具有较系统的工程实践学习经历;了解电气类专业的前沿发展现状和趋势;能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。

2.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂工程问题,以获得有效结论。

3.设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

4.研究:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

5.使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程培养学生的能力


1. 分析能力的培养:主要是培养学生对问题、算法和程序进行分析的能力,同时培养逻辑思维和描述抽象事物的能力。

2. 设计能力的培养:要求学生通过本课程的学习,具备算法和程序设计的能力,程序实践的能力。

3. 自学能力的培养:通过本课程的教学,培养和提高学生对所学知识进行整理、概括、消化吸收的能力,以及围绕课堂教学内容,阅读参考书籍和资料,自我扩充知识领域的能力。

4. 表达能力的培养:主要是通过作业,清晰、有效地表达自己解决问题的思路和步骤的能力。

5. 创新能力的培养:培养学生独立思考、深入钻研问题的习惯,对问题提出多种解决方案、选择不同计算方法,以及对算法和程序进行优化,举一反三的能力。

教学内容与

学时分配

根据电气工程及其自动化专业人才培养能力的要求以及现代计算机软件开发技术发展趋势,教学内容包含C++编程语言及面向对象的程序设计技术。授课教学76学时,上机实验64学时,其中:

1.计算机程序设计(上)(2学分,授课44 学时,上机实验32学时

(1)计算机基础部分(3学时)了解计算机的逻辑(功能)结构;理解计算机基本工作原理,了解指令的基本执行过程;掌握计算机中数据的表示及其运算,掌握进位计数制的概念及其运算;理解程序构造的基本方法:了解不同类型的编程语言,了解常用的数据组织方法;理解算法的基本概念,理解算法的基本表述方法;

(2)C++基础知识(10学时)掌握C++基本数据类型及其运算,能熟练运用算术运算符、关系运算符和逻辑运算符,理解运算符的优先级;了解面向对象的基本概念,了解类的基本概念,理解面向对象的C++程序基本结构;理解一个典型的C++程序开发环境;掌握简单标准输入输出,能够运用C++编写简单的计算机程序;

(3)基本控制结构程序设计(9学时)理解算法的概念,掌握算法的描述方法,理解程序设计三种基本结构;掌握C++的顺序结构、选择结构和循环结构的使用方法;掌握常用算法的应用,包括:直接法,枚举法,递推法,迭代法;能够熟练运用控制语句,设计并实现简单应用,掌握程序测试的基本方法;

(4)函数(10学时)理解函数抽象机制,掌握函数定义与函数的调用;理解参数化机制(包括按值调用和按引用调用),理解参数的传递过程;理解函数的返回值及函数原型说明;掌握全局变量,局部变量,变量的存贮类型与作用域,生命期与可见性;掌握函数的递归调用,编写、测试、调试简单的递归函数;理解函数重载,缺省变元,内联函数。掌握多文件结构的程序设计方法。在程序开发中能熟练使用标准库函数、程序员定义的函数,掌握程序调试基本方法;

(5)数组和指针(10学时)理解并掌握数组的概念,掌握数组的定义及使用方法,掌握基本排序与查找技术。理解并掌握指针的概念,掌握指针运算;理解指针与数组和字符串之间的关系,掌握数组和指针在函数定义及使用中的方法;理解基于指针的、C风格的字符串的处理函数的基本运用,理解C++的字符串处理技术;掌握字符串数组的基本运用;

(6)文本文件的输入输出(2学时)掌握文本文件的使用方法。

2.计算机程序设计(下)(1.5学分,授课32学时, 上机实验32学时)

(1)类与对象(6学时)理解面向对象程序设计的基本概念及其基本特征,掌握类定义、属性与行为、访问权限控制,对象的定义、使用;掌握构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;掌握函数重载技术与运算符重载技术;掌握this指针,理解静态数据成员;理解友元函数,掌握友元函数的定义和使用方法;掌握采用面向对象技术开发简单应用程序技术;

(2)模板(7理解时)并掌握函数模板和类模板的基本概念和基本用法;掌握采用模板技术进行泛型化程序设计的方法;了解线性表的概念,掌握顺序表类模板编写程序的方法;了解栈和队列的概念;

(3)动态内存分配(7学时)理解动态数据结构和静态数据结构实现的差异;了解系统动态内存分配机制;理解并掌握拷贝构造函数、深拷贝与浅拷贝作用及方法;掌握链表在内存中的分配,链表的基本操作与使用;

(4)类的继承与派生(6学时)理解并掌握基类和派生类的基本概念,理解继承如何提高软件的可重用性,理解并掌握成员访问修饰符在类继承中的作用,理解并掌握继承层次中的构造函数和析构函数的用法;理解多重继承,了解虚基类;理解重载与同名覆盖的差异;理解虚函数与多态性,掌握实现运行时多态性的程序设计方法;

(5)输入/输出流类库(4学时)理解并掌握c++面向对象的输入输出流的基本概念,理解并掌握格式化输入输出和流操作的用法。掌握提取与插入运算符的重载;掌握基于流技术的文本文件及二进制文件的输入/输出方法;理解面向对象的C++程序设计的基本框架;

(6)异常处理(2学时)了解c++中异常处理的基本概念及处理机制,了解异常处理程序的编写规范及编写具有一定容错能力的程序的方法。

教学方法

课程教学以课堂教学、课外作业、上机实验、综合讨论、网络资源学习以及授课教师的科研积累等共同实施。

本课程以C++程序设计方法为主线,重点讲授面向对象程序设计基本思想、常用算法、C++程序设计语言基本要素、典型C++程序开发环境及调试技术。通过授课与讨论、上机实验等培养学生算法和程序设计的能力及高级语言程序实践能力。

本课程的教学将充分利用数字化技术、网络技术制作丰富多彩的教学和辅导材料,调动学习积极性,提高教学效率。本课程注重教与学过程,采用每周作业、上机实验,并通过多种方式对学生的学习情况进行综合考核。

制定人

及发布时间

蒋浩、王磊等,2015515