2014版软件工程专业理论课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程专业课程教学大纲
计算机导论课程教学大纲
课程名称:计算机导论课程编号:
学时/学分:48 / 3 开课学期:1
适用专业:计算机科学与技术/软件工程/网络工程课程类型:学科与专业基础必修课
一、课程的目的和任务
1.初步了解计算机的基本知识,为后续课程的学习打下一定的基础;
2.初步了解计算机科学与技术学科知识体系,了解社会对计算机人才的需求情况,培养学生学习兴趣和专业自豪感;
3.初步掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法;
4.了解与计算机相关职业和行业的法律、法规;
5.初步培养学生对终身学习的正确认识和学习能力;
二、课程的基本要求
1.了解计算机的入门基础知识,掌握计算机的运算基础知识;
2.了解计算机系统的基本组成和工作原理;
3.了解计算机程序设计和数据结构基础知识;
4.了解计算机系统软件的基础知识;
5.掌握常用办公软件的操作应用;
6.了解数据库系统基本概念及其应用基础知识;
7.了解多媒体技术及其应用基础知识;
8.了解计算机网络及其应用基础知识
9.了解软件工程的基本概念;
10.了解计算机信息安全技术;
11.了解计算机在各领域的应用发展趋势;
12.了解计算机与信息技术相关的法律法规,了解相关的职业及其道德准则。
三、课程基本内容和学时安排
第1章绪论(2学时)
1.1计算机的基本概念;
1.2信息化社会的挑战;
1.3 计算机科学技术的研究范畴;
1.4计算机工程教育认证通用标准与补充标准。
第2章计算机科学技术的基础知识(8学时)
2.1计算机的运算基础;
2.2逻辑代数基础;
2.3计算机的基本结构与工作原理;
2.4程序设计基础;
2.5算法基础;
2.6数据结构基础。
第3章计算机硬件结构(2学时)
3.1计算机系统
3.2系统单元
3.3输入输出系统
第4章计算机系统软件与工具软件(2学时)4.1程序设计语言翻译系统
4.2操作系统
4.3工具软件
第5章计算机应用软件(2学时)
5.1文字处理软件
5.2电子表格软件
5.3文稿演示软件
第6章数据库系统及其应用(2学时)
6.1数据库系统的基本概念
6.2结构化查询语言
6.3数据仓库
6.8数据库系统的应用
第7章多媒体技术及其应用(2学时)
7.1多媒体
7.2超文本与超媒体
7.3多媒体技术
第8章计算机网络及其应用(2学时)
8.1数据通信与连通性
8.2计算机网络体系结构
8.3计算机网络的分类和使用方式
8.4internet与tcp/ip协议
8.5internet的服务功能
8.6web和浏览器
8.7局域网的基础构架
第9章软件工程(2学时)
9.1软件工程的概念
9.2软件开发模型
9.4软件过程和过程改进
第10章计算机信息安全技术(2学时)
10.1计算机信息安全面临的威胁
10.2保密技术
10.3防御技术
第11章计算机的应用领域
第12章职业道德与择业
第11、12章共10课时,由企业工程师与本校任课教师共同完成。
机动(2学时)。
四、结合理论教学的实践教学内容与要求
五、先修课程
无
六、建议教材或参考书
1.教材:
《计算机导论(第3版)》,黄国兴主编,清华大学出版社,2013年5月
2.参考书:
《计算机科学技术导论》(专业版第2版),陶树平主编,高等教育出版社,2004年5月
《计算机科学导论》(第七版),J.Glenn Brooksheer著,王保江等译。
人民邮电出版社,2003年9月
《计算机科学导论》,Behrouz A.Forouzan著,刘艺等译。
机械工业出版社,2004年1月
七、考核方式和要求
本课程考核成绩由3部分组成:
1.平时成绩10%:根据出勤、作业及实验完成情况决定;
2.大作业50%:包含1篇小论文,1篇调查报告,1件office办公软件应用作品;
3.期末考试40%:考核计算机基本知识,题型以选择题和填空题为主。
八、其他说明
1.本课程除第2章“计算机科学技术的基础知识”外,多数内容都将在后续课程中有更加深入的学习,故在教学中应着重从提出问题的角度,引导学生培养自己的专业学习兴趣,树立专业自豪感;
2.本课程要为工程教育认证通用标准中以下“毕业要求”做出贡献:
(1)具有较强的社会责任感和良好的工程职业道德;
(2)掌握扎实的工程基础知识和本专业的基本理论知识,了解本专业的前沿发展现状和趋势;
(3)掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法;
(4)了解与本专业相关的职业和行业的生产、设计、研究与开发的法律、法规,熟悉环境保护和可持续发展等方面的方针、政策和法津、法规;
(5)具有适应发展的能力以及对终身学习的正确认识和学习能力;
执笔人:陈庆强审核人:陈敏
高级语言程序设计课程教学大纲
课程名称:高级语言程序设计课程编号:
学时/学分: 64/4 开课学期:1
适用专业:计算机科学与技术/软件工程/网络工程课程类型:学科与专业基础必修课信息管理与信息系统/物联网工程
一、课程的目的和任务
程序设计能力是计算机相关专业学生必备的基本素质。
本科计算机相关专业的学生应该掌握高级程序设计语言的基本知识,以及使用高级语言进行程序设计的基本技能与方法。
本课程以目前最有代表性的高级语言——C语言为背景,讲授面向过程的结构化程序设计的基本思想和方法。
通过本课程的学习,一方面使学生得到程序设计方面的基本训练,提高计算机专业素养,产生学习计算机相关专业的兴趣,树立学习本专业的信心,另一方面为今后进一步学习其他程序设计技术和实用软件开发打下坚实的基础。
本课程是大学第一学期,第一门计算机课程,不仅是计算机相关专业的基础课,又是入门课。
这门课的地位在整个专业教学中显得尤为重要。
只有学好这门课才能比较顺利的开始后续专业课的学习。
二、课程的基本要求
通过本课程教学,学生应达到下列学习目标:
(1)熟悉当前流行的C语言程序设计的编译、调试环境和技巧,掌握C语言程序设计的基本规范。
(2)掌握结构化、模块化程序设计的基本思想和方法;
(3)通过C语言编程的基本训练,培养分析问题和解决问题的能力,提高计算机专业素养;
(4)通过C语言程序设计实践,培养学习计算机相关专业的浓厚的兴趣,树立学习专业的信心;
(5)为后续其它课程如《数据结构》、《面向对象程序设计》打好基础;
(6)为参加计算机三级等级考试、计算机水平程序员考试、研究生入学考试打下良好的基础。
三、课程基本内容和学时安排
第一章 C语言程序设计概述(2学时)
1.了解计算机语言、程序设计和算法的概念;
2.了解C语言的发展和特点以及C语言源程序的书写格式;
3.掌握C语言的构成及C语言程序的编辑、编译和执行步骤;
4.熟悉CODEBLOCKS集成开发环境,能独立熟练地编辑、编译、链接、运行一个简单的C程序。
重点与难点:程序的基本组成,算法的概念与表示方法
第二章基本数据类型、运算符和表达式(6学时)
1.变量与常量;
2.基本数据类型:整型、实型、字符型与内存的概念;
3.运算符与表达式:算术运算,增1与减1运算,赋值运算,关系运算,逻辑运算,条件运算,逗号运算,运算符的优先级与结合性;
4.基本输入、输出函数:格式输入和格式输出函数;非格式化输入、输出函数;
重点:常量与变量,基本输入、输出函数,运算符与表达式。
难点:运算符及其优先级与结合性。
第三章程序的控制结构(8学时)
1.算法的特性及表示
2.C语言的语句:C语言语句的语法及书写规范;
3.顺序结构:程序设计的流程图,程序控制结构中的顺序结构,复合语句;
4.选择结构:if结构、if结构的多种形式,switch 结构与多分支结构;
5.循环结构:当型循环,直到型循环,循环的嵌套,break语句与continue语句。
6.穷举与迭代算法
重点:顺序、分支、循环结构。
难点:循环结构
第四章数组(6学时)
1.一维数组:定义、初始化和引用
2.二维数组:定义、初始化和引用
3.字符数组:定义、初始化和引用,字符数组与字符串的关系
4.字符串处理函数
重点:一维数组的使用
难点:数组与循环的结合使用
第五章结构体和共用体(2学时)
结构体:结构体的概念,结构体类型及结构体变量,结构体变量的使用,结构体变量的初始化,结1.构体数组的初始化
2.结构体数组定义、初始化和结构数组的操作
3.用户自定义类型typedef的用途
重点与难点:结构体
第六章函数 (6学时)
1.模块化和函数的概念
2.函数的分类、定义、参数、参数的传递、返回值
3.用户自定义函数和函数的调用:函数定义、调用和说明,函数的参数传递:值传递与地址传递
4.函数的嵌套调用及递归调用:函数的嵌套调用、函数的递归调用;
5.局部变量与全局变量:局部变量与全局变量的定义、初始化及作用域;
6.变量的存储类型:局部变量与全局变量的生命期;静态变量与动态变量的定义、初始化、作用域及生命期;
7.编译预处理:文件包含,宏定义。
重点:用户自定义函数、局部变量与全局变量。
难点:函数的嵌套调用及递归调用。
第七章指针(4学时)
1.指针的基本概念:内存地址、指针与变量的关系;
2.指针变量的定义和赋值
3.指针变量的使用:与指针相关的运算符,变量的存取方式,指针变量作为函数参数
4.指针与数组:数组元素的指针与数组的指针,指向数组和数组元素的指针变量,数组元素的引用,数组名作为函数参数,字符串的指针和指向字符串的指针变量,指针数组,移动指针及两指针相减运算指针比较;
5.指针与结构:指向结构变量的指针,指向结构体数组的指针,指向结构体的指针作为函数参数
重点:指针运算符、指针与数组
难点:指针的基本概念、指针运算符、指针与数组
第十章文件(2学时)
1.文件的基本概念,C语言中的两种文件;
2.文件的打开、关闭和文件结束测试,文件的读写,文件的定位。
重点:文件的打开、关闭和文件结束测试。
难点:文件的读写,文件的定位。
四、结合理论教学的实践教学内容与要求
1.实验
2.课程设计
(1)题目类型
◆管理类题目:
☆学生成绩管理系统
☆学生信息管理系统
☆工资管理系统
☆通讯录管理系统
☆图书信息管理系统
要求熟悉结构体、文件等内容,建立相应的数据文件,并具备增删改和一些统计计算查询功能,应该有比较友好的用户界面,一般是命令窗口的,有能力的同学可以考虑图形界面。
◆游戏类题目
☆五子棋
☆数独(Sudoku)
☆八皇后问题
☆扫地雷
本类题目一般要使用图形界面。
◆算法演示类题目
☆排序算法演示(选择和冒泡排序算法)
☆汉诺塔
◆其它题目
☆简单的文本编辑器(综合运用数组、字符串、文件等,实现一个行编辑功能的编辑器) ☆特殊计算器(综合运用数组和字符识别,实现具有算术四则运算能力的计算器)
☆分数计算器(综合运用数组和字符识别,实现分数四则运算的计算器)
☆万年历(输入4位数的年份,打印那一年的日历;可以查询某一天是星期几,可以查询某月的第几个星期六或日是几号)
(2)目的及要求
“高级语言程序设计课程设计”是学习完《高级语言程序设计》之后开设的独立的实践课程,是高级语言程序设计的综合实践。
其目的在于加深对高级语言程序设计的基本思想、基础知识和方法的理解,进一步锻炼学生分析、解决比较复杂问题的能力,提高学生独立编程的能力,为实际软件开发和后续课程的学习打下坚实的基础。
要求学生明确课程设计的目的和重要性,选择适当的题目,分组或独立有计划地按照软件工程的思想,在教师的指导下,对题目进行分析、设计和实现,并按照一定的格式写出设计报告。
在课程设计过程中,要学会如何运用所学知识和技巧,如何查阅、搜集、归纳整理相关资料,注意如何有意识地按照软件工程的基本规范进行分析、设计和实现。
(3)设计内容
选定上述题目其中之一之后,需要经历下面几个阶段进行课程设计:
◆题目分析:首先要弄清楚问题到底要干什么,明确设计目标,搜集和查阅相关资料。
◆系统设计:然后考虑怎么做。
具体要通过数据结构设计确定是用数组还是结构体,怎么存放数据;通过功能设计确定要实现几个功能,每个功能的名字什么,画出功能模块图,给出对应的函数原型;通过流程图给出每个功能模块具体怎么做,描述相应的算法。
通过界面设计确定用户如何使用系统,是命令窗口界面还是图形界面,如何操作。
◆编程实现:根据上一步的函数原形和流程图给出具体的C或C++语言源程序。
◆调试程序:上机调试。
通过编译发现语法错误,借助于调试工具查找错误,改正直至可以运行。
◆测试:通过精心准备的数据,对系统进行测试,发现逻辑错误并改正。
观察是否满足系统的设计目标,操作界面是否方便使用。
◆撰写报告:按照给定的格式写出完整、规范的报告并打印。
其中模块图、流程图要清楚、规范,不能有错别字。
(另附报告模板)
◆答辩:程序运行通过,报告打印出来后,通知指导教师检查,经提问能回答出大部分的提问,即可通过。
设计工作量:
不管是选哪一道题做课程设计,一周的工作必须有足够的工作量,具体体现在下面几个方面。
必须有总体功能图和每个模块的流程图。
要有完整的实现代码,代码量不能过少。
要有足够的参考文献,3篇以上。
要有完整规范的报告,一般要10页左右。
成绩按五分制评定:优、良、中、及格和不及格。
五、先修课程
无
六、建议教材或参考书
1.教材:
《高级语言程序设计》[修订版] 黄翠兰主编厦门大学出版社 2008.7。
2.参考书:
《C程序设计语言》(第2版·新版),(美)Brian W.Kernighan,Dennis M.Ritchie著,许宝文等译,机械工业出版社
《C语言程序设计·现代方法》(美),吕秀锋译,,人民邮电出版社
《C Primer Plus中文版(第五版)》,(美)Stephen Prata著,云巅工作室译,人民邮电出版社
C大学教程》(第5版),(美),,苏小红等译
《你必须知道的495个C语言问题》,(美) STEVE SUMMIT著,孙云等译,人民邮电出版社
《C陷阱与缺陷》,(美)Andrew Koenig著、高巍译,人民邮电出版社
《程序设计导引及在线实践》,李文新等编著,清华大学出版社
《C语言程序设计(C99版)》,陈良银等编著,清华大学出版社
《高级语言程序设计》(C语言描述),吕国英等编著,清华大学出版社
刘振安,孙忱,《C程序设计课程设计》,机械工业出版社
七、考核方式和要求
1.考核方式: 闭卷
2.内容比例:基础知识90%,提高10%
3.题型比例:选择题30%,程序阅读题40%,程序编写题30%
八、其他说明
(一)本大纲的特点
1.本大纲以如何突出结构化程序设计的思想方法教学为主线,以程序设计能力的培养为重点。
本大纲特别注意先进性,使用现代流行的C程序设计环境,国际公认的优秀教材为参考,软件行业的需求为目标。
本大纲适用于本科计算机科学与技术、软件工程、网络工程、信息管理与信息系统、物联网等专业。
2.对于后续课程《数据结构》将详细介绍的内容,在本大纲中不做考试要求。
(二)教学法建议等内容
建议采用多媒体教学手段,理论教学和实际程序的编辑调试环境相结合的方法,使学生能够立刻体验到程序设计过程发生的错误,正确的运行结果等。
特别注意作业与实验实践教学环节、考核过程,如果能建立相应的网络平台,建立相应的监督检查考核机制,将对提高这门课的教学质量有
重要作用。
课内上机与课外上机相结合。
适当布置有一定难度的综合性思考题。
执笔人:吴秀昇审核人:林芳
离散数学课程教学大纲
课程名称:离散数学课程编号:
学时/学分:72/4.5 开课学期:3
适用专业:计算机科学与技术/网络工程/软件工程/物联网工程课程类型:学科与专业基础必修课一、课程的目的和任务
《离散数学》是计算机科学与技术专业、网络工程专业、物联网工程和软件工程专业必修的一门专业基础课。
它的任务是:使学生掌握高级科研人员或高级技术人员必须具备的离散数学基本理论和基本方法,为学习后继专业课程、从事科学研究或工程技术工作打下一定的基础,同时结合本课程的特点,培养学生辩证唯物论观点和观察、分析、解决问题的能力,特别应着力培养学生的创新能力和实践能力。
二、课程的基本要求
通过本课程教学,学生应达到下列学习目标:
(1)培养学生的数学思维能力,通过教学,最终使学生能够在众多的概念中要找出最重要的,在众多的定理中找出最根本的,将这些少量的概念和定理能够透彻地理解,自如地运用,就达到了掌握离散数学的教学要求;
(2)离散数学主要是研究离散量的结构和相互关系。
通过本课程的学习,培养学生的抽象思维和严密的逻辑推理能力,为进一步学习专业课打好基础,并为学生今后处理离散信息,提高专业理论水平,从事计算机的实际工作提供必备的数学工具。
三、课程基本内容和学时安排
第一章命题逻辑基本概念(4学时)
知识点:命题与真值(或真假值);简单命题与复合命题;联结词:否定联结词┐,合取联结词∧,析取联结词∨,蕴涵联结词→,等价联结词;命题公式(简称公式);命题公式的层次和公式的赋值;真值表;公式的类型(重言式(或永真式),矛盾式(或永假式),可满足式)。
重点:联结词、真值表。
难点:命题公式的层次和公式的赋值。
第二章命题逻辑等值演算(6学时)
知识点:等值式与等值演算;基本的等值式,其中含:双重否定律、幂等律、交换律、结合律、分配律、德·摩根律、吸收律、零律、同一律、排中律、矛盾律、蕴含等值式、等价等值式、假言易位、等价否定等值式、归谬论;与主析取范式及主合取范式有关的概念:简单合取式、简单析取式、析取范式、合取范式、极小项、极大项、主析取范式、主合取范式;联结词完备集(或完全集)。
重点:等值式、主析(合)取范式。
难点:联结词完备集。
第三章命题逻辑的推理理论(6学时)
知识点:推理的形式结构:推理的前提、推理的结论、推理正确和有效结论;判断推理是否正确的方法:真值表法、等值演算法和主析取范式法;对于正确的推理,在自然推理系统P中构造证明:①自然推理系统P的定义;②自然推理系统P的推理规则;③附加前提证明法;④归谬法。
重点:判断推理是否正确、自然推理系统P中构造证明。
难点:自然推理系统P中构造证明。
第四章一阶逻辑等值演算与推理(6学时)
知识点:一阶逻辑等值式与置换规则;一阶逻辑前束范式;一阶逻辑的推理理论,自然推理系统F。
重点:一阶逻辑等值式,一阶逻辑的推理理论。
第五章集合代数(4学时)
知识点:概念:集合,相等,(真)包含,子集,空集,全集,幂集;运算:交,并,(相对和绝对)补,对称差,广义交,广义并;文氏图,有穷集计数问题;集合恒等式(等幂律,交换律,结合律,分配律,德·摩根律,吸收律,零律,同一律,排中律,矛盾律,余补律,双重否定律,补交转换律等)。
重点:概念、运算、文氏图、集合恒等式。
难点:有穷集计数问题。
第六章二元关系(8学时)
知识点:有序对与笛卡尔积;二元关系(包括空关系,恒等关系,全域关系等)及其表示(关系矩阵,关系图);关系的五种性质(自反性,反自反性,对称性,反对称性,传递性);二元关系的幂运算;关系的三种闭包(自反闭包,对称闭包,传递闭包);等价关系和划分(包括等价类,商集,划分块等);偏序关系(包括哈斯图,最大元,最小元,极大元,极小元,上界,下界,最小上界,最大下界等)。
重点:关系的五种性质、关系的三种闭包、等价关系和划分。
难点:关系的五种性质、偏序关系。
第七章函数(4学时)
知识点:函数的基本概念与性质(单射,满射,双射);函数的合成与反函数。
重点:函数的基本概念与性质、函数的合成。
难点:函数的性质、函数的合成。
第八章图的基本概念(6学时)
知识点:基本概念;握手定理;扩大路径法及极大路径;二部图及判别定理;图的运算。
重点:握手定理、二部图及判别定理、图的运算。
难点:扩大路径法及极大路径、图的运算。
第九章欧拉图与哈密顿图(4学时)
知识点:欧拉通路、欧拉回路、欧拉图、半欧拉图的定义及其判定;求欧拉图中欧拉回路的算法;哈密顿通路、哈密顿回路、哈密顿图、半哈密顿图的定义;哈密顿图与半哈密顿图的一些必要与充分条件;带权图与货郎担问题。
重点:欧拉通路、欧拉回路、欧拉图、半欧拉图的定义及其判定,哈密顿通路、哈密顿回路、哈密顿图、半哈密顿图的定义及其一些必要与充分条件。
难点:求欧拉图中欧拉回路的算法,哈密顿通路、哈密顿回路、哈密顿图、半哈密顿图的一些必要与充分条件,带权图与货郎担问题。
第十章树(4学时)
知识点:树基本概念;最小生成树算法;最优树、Huffman算法、最佳前缀码;波兰符号法与逆波兰符号法。
重点:最小生成树、最优树、Huffman算法。
难点:最优树、波兰符号法与逆波兰符号法。
第十章平面图及图的着色(2学时)
知识点:平面图的基本概念;极大平面图、极小非平面图及性质;欧拉公式及其推广;平面图的边数m与顶点数n的关系;库拉图斯基的两个定理;平面图的对偶图;顶点的着色及其定理;地图及其面着色、面色数及其定理;边着色及其定理。
重点:极大平面图、极小非平面图及性质,欧拉公式及其推广,对偶图,图的着色。
难点:欧拉公式及其推广、平面图的五色定理。
第十二章基本的组合计数公式(2学时)
知识点:加法法则与乘法法则;排列与组合;二项式定理与组合恒等式;多项式定理
重点:加法法则与乘法法则,二项式定理,组合恒定式
难点:二项式定理,组合恒定式
第十三章递推方程与生成函数(4学时)
知识点:递推方程的定义及实例;递推方程的公式解法;递推方程的其他解法;生成函数及其应用;指数生成函数及其应用;cata1an数与stir1ing数
重点: 递推方程的定义,递推方程的公式解法,生成函数,指数生成函数
难点:递推方程的公式解法,生成函数,指数生成函数
四、结合理论教学的实践教学内容与要求
实验结合理论教学进行,实验项目和要求如下:
五、先修课程
高等数学,线性代数
六、建议教材或参考书
1.参考教材:
《离散数学》耿素云,屈婉玲编著高等教育出版社,2008年出版。
2.参考书:
《离散数学考研指导》胡新启编著清华大学出版社,2003年出版。
《离散数学及其应用》罗森(Kenneth H.Rosen)(作者), 袁崇义(译者),屈婉玲(译者),张桂芸(译者),等 (译者) 机械工业出版社 2011年出版。
七、考核方式和要求
1.考核方式:
笔试、闭卷考试。
考试时间:120分钟。
2.内容比例:数理逻辑(30%),集合论(30%),图论(30%),组合数学(10%)其中
第一章命题逻辑基本概念(5%)、第二章命题逻辑等值演算(10%)、第三章命题逻辑的推理理论(10%)、第四章一阶逻辑等值演算与推理(5%)第五章集合代数(10%)、第六章二元关系(15%)、第七章函数(5%)、第八章图的基本概念(10%)、第九章欧拉图与哈密顿图(10%)、第十章树(10%)、第十一章平面图及图的着色(5%)第十二章基本的组合计数公式(4%)、第十三章递推方程与生成函数(6%)。