软件技术基础教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件技术基础》教学大纲
课程编号:23000840 适用专业:电子信息类(非计算机专业)
学时数:40 学分数: 2.5 开课学期:第4学期
先修课程:《C语言》
考核方式:笔试(闭卷)
执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长):
一、课程性质和目标
授课对象:电子信息工程专业大学二年级本科生
课程类别:学科拓展课程
教学目标:
本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。
二、教学内容和要求
1、课堂理论教学要求和学时安排(32学时)
1)C程序设计(4学时)
(1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。
(2)结构体的基本概念和使用方法(2学时)。
2)数据结构(20学时)
(1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。
(2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。
a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2
学时);
b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时);
c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法
(2学时);
d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时);
e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。
(3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。
a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时);
b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时);
c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。
(4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。
3)操作系统(8学时)
(1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历
程和现代操作系统的基本特征。
(2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段,
进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。
(3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等
基本概念,理解作业调度的相关方法。
通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。
2、实验安排(8学时)
共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。
三、考核方式
课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。
实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。
四、教材和参考资料
1、教材
《软件技术基础》,黄迪明,电子科技大学出版社,1998年
2、参考资料
1)高质量C编程指南,林锐,附电子版
2)数据结构(C语言),严蔚敏,清华大学出版社
3)操作系统基础教程(第6版)William S.Dav 清华大学出版社
4)深入理解计算机系统 Randal E.Bryant,David O’Hallaron 著,龚奕利,雷迎春译,中国电力出版社
《软件技术基础实验》教学大纲
一、实验项目基本信息
实验项目名称:软件技术基础实验
适用专业:电子信息类(非计算机专业)
学时数:8
先修课程:《C语言》
考核方式:实验过程、实验报告、实验
二、实验项目的性质和任务
1、实验项目的性质
本实验是本科生学科拓展课程《软件技术基础》的实验部分,属软件设计的范畴。
2、实验项目的目的和任务
通过上机实验,要求学生对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。培养学生在软件设计方面的知识基础,同时也提供必要的技能训练。
3、实验内容和要求
《软件技术基础实验》是与理论课程《软件技术基础》配套开出的,主要包含两个数据结构部分的基本上机实验和三个课外实验,着重培养同学进行软件设计的基本能力。(1)上机实验内容:
实验一:顺序表和单链表基本操作上机实验 4学时
实验目的:理解线性结构的基本概念,掌握两种基本的存储结构:顺序存储结构(顺序表)和链式存储结构(单链表);用C语言实现在两种存储结构上的对
应操作(包括创建、删除插入元素、遍历等),巩固强化C程序设计的基
本方法和能力。
实验内容:
1、顺序表的创建、元素删除、遍历等操作:
有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作:
A.初始化一个空的顺序表;
B.从键盘依次输入上述数据添加到顺序表中;
C.删除表中的第四个数据元素;
D.显示B、C操作后顺序表中的内容。
2、现有有序的一组整数{1,2,2,3,4,6,6},设计单链表,分别编写函数
实现以下操作:
A.初始化一个空链表。
B.依次添加上述一组数据(结点),生成该链表。
C.统计该链表的长度。
D.在表中查找数据为3和7的结点,并返回其位置(若找不到返回 -1)。
E.删除中间重复结点,使链表变为 1-2-3-4-6。
F.显示经B,E操作后,链表的内容。
实验二:基本查找排序操作上机实验 4学时
实验目的:掌握两种基本的查找算法(顺序查找、二分查找)和三种基本排序算法(简单插入排序、简单冒泡排序、简单选择排序)的原理及C语言实现。
实验内容:
现有一顺序表,表中元素分别为{51,38,79,22,91,105,33,52,16,112},分
别编写函数实现以下操作:
A、采用简单插入排序法实现对顺序表的排序,显示每一趟的排序结果;
B、采用简单冒泡排序法实现对顺序表的排序,显示每一趟的排序结果;
C、采用简单选择排序法实现对顺序表的排序,显示每一趟的排序结果;
D、对上述排序后的顺序表采用顺序查找方法,查找关键字为52和关键字为
36的元素,分别显示查找结果;
E、对上述排序后的顺序表采用二分查找方法,查找关键字为22的元素,显
示查找结果。
(2)课外实验内容:
本环节设置了三个相对较复杂的课外实验,旨在进一步巩固学生对数据结构相关知识点的理解和掌握,提高软件开发能力。