《软件技术基
础》教学大纲
课程编号: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程序设计的基本方法和能力。
实验内容: