软件技术基础-操作系统1
- 格式:ppt
- 大小:3.14 MB
- 文档页数:37


软件工程技术基础复习指南一.数据结构1.术语:1.数据;2.数据元素;3数据结构;4.结构2.数据结构定义:就是具有结构的数据元素的集合。
3.算法的定义:用来解决某个特定课题的指令的集合。
4.算法的性质:输入、输出、有穷性、确定性、有效性5.算法描述:自然语言、程序流程图、具体程序语言6.算法分析:指对算法质量优劣的评价。
(时间复杂度、空间复杂度、可读性、可移植性、易测试性)7.时间复杂度:依据算法编写的程序在计算机中运行时间多少的度量(关键语句之行的次数)O(n);(O(log2n)(二分检索)<O(n)(比较两个具有n个字符串)<O(nlog2n)<O(n2)<O(n3)(常规矩阵乘)<O(2n)<O(n!));O(1):访问数组中的元素是常数时间操作8.空间复杂度:依据算法编写的程序在计算机中占存储空间多少的度量9.频度统计法:以语句执行的次数的多少作为算法的时间量度的分析方法10.语句的频度:语句被执行的次数11.算法的频度:算法中所有语句的频度之和12.数组:下标与值组成的偶对的有穷集合13.二维数组的存储结构:行序为主序分配方式、列序为主序分配方式、14.特殊矩阵的压缩存储:对称矩阵、对角矩阵、15.线性表:数据元素之间具有的逻辑关系为线性关系的数据元素集合16.线性表的基本操作:创建、索引、存入、插入、删除、排序、17.线性表顺序存储结构:用一组地址连续的存储单元依次存储线性表的数据元素,数据元素之间的逻辑关系通过数据元素的存储位置直接反映18.顺序存储结构优点:原理简单、元素存储地址可用简单解析式计算、存储空间开销小19.顺序存储结构缺点:需事先分配连续地址、基本操作时间效率低20.线性链表:用一组地址任意的存储单元(连续的或不连续的)依次存储表中各个数据元素,数据元素之间的逻辑关系通过间接地反映出来21.链式存储结构优点:存储空间动态分布、地址不连续、插入删除操作效率高(O(1))22.链式存储结构缺点:存储密度小、查找定位效率低O(n)23.堆栈定义:是一种只允许在表的一端进行插入操作和删除操作的线性表。
《软件技术基础》课程教学大纲(Foundations of Software Technique)课程编号:10134015课程性质:专业基础课适用专业:各专业先修课程:计算机应用基础、C语言程序设计后续课程:总学分:3.0学分一、教学目的与要求1.教学目标“软件技术基础”是电子工程等理工类专业本科生的一门必修的计算机基础课。
通过本课程的教学,使学生能够较熟练地掌握软件工程、数据结构、操作系统、数据库和网络等计算机软件基础领域中的基本原理和方法。
使学生在完成本课程学习后,掌握计算机较高层次的应用技能,并为计算机软件设计与开发打下良好基础,也为其它计算机后续课程奠定软件基础。
2.教学要求该门课程所涉及的内容十分广泛。
本课程所选取的内容包括以下几个方面:数据结构、操作系统基础知识、数据库基础知识、软件工程基础知识、网络基础知识等。
二、课时安排三、教学内容1.概述(2学时)(1)教学目标对软件的概念、发展和特征等有一个基本的了解和认识。
(2)教学基本要求了解:信息与计算机应用;软件的发展概况;理解:软件的概念;掌握:软件的特征及其分类;(3)教学内容①信息与信息时代;②计算机与计算机系统;③软件的概念、特征、分类等(重点);④软件技术的的发展过程;2.常用数据结构及其运算(17学时)(1)教学目标对线形和非线性两类数据结构的几种非数值运算有深刻的理解和灵活的应用。
(2)教学基本要求了解:数据、数据元素和数据项的概念及相互关系;理解:数据的逻辑结构和存储结构的概念以及相互间的关系;掌握:线性表和树两类数据结构;查找以及排序的算法实现;灵活运用:利用各种算法编写程序解决线形和非线性的各类实际操作问题。
(3)教学内容①数据和数据结构的基本概念;②算法及算法分析(重点);③线性表的结构及运算(重点、难点);④栈和队列(重点);⑤数组(重点);⑥树、二叉树、二叉树的遍历等(重点、难点);⑦图的存储结构、邻接表、邻接矩阵、图的遍历查找算法等(重点);⑧简单查找、二分查找、分块查找、二叉排序树查找及哈希表查找等(重点、难点);⑨选择排序、插入排序、冒泡排序、快速排序、归并排序等(重点、难点);3.操作系统(10学时)(1)教学目标对操作系统的基本功能,尤其是存储管理和处理器管理有深入的理解。
计算机软件技术基础是指计算机软件开发的基础知识,它是计算机系统软件开发的基础。
计算机软件技术基础包括计算机程序设计语言、计算机系统结构、数据库技术、网络技术和操作系统等,这些基础知识都是计算机软件开发的基础。
计算机程序设计语言是计算机软件开发的基础,它是程序员使用的语言,可以用来描
述或定义计算机系统的结构和行为。
常用的计算机程序设计语言有C、C++、Java、Python等。
计算机系统结构是计算机系统的基本框架,它定义了计算机系统的硬件、软件、操作
系统和应用软件之间的关系,以及计算机系统的运行原理。
数据库技术是计算机软件开发的基础,它是用来管理大量数据的技术,可以帮助用户
存储、组织和检索数据。
常用的数据库技术有MySQL、Oracle、Microsoft SQL Server等。
网络技术是指将计算机系统连接到网络的技术,它可以帮助用户在不同的计算机系统
之间共享信息、文件和资源。
常用的网络技术有TCP/IP、HTTP、FTP等。
操作系统是计算机软件开发的基础,它是一种计算机软件,可以管理计算机系统的软
硬件资源,并支持用户运行应用程序。
常用的操作系统有Windows、Mac OS、Linux等。
计算机软件技术基础是计算机系统软件开发的基础,它包括计算机程序设计语言、计
算机系统结构、数据库技术、网络技术和操作系统等。
这些基础知识对计算机软件开发至
关重要,只有充分理解和掌握这些知识,才能开发出高质量的计算机软件。
第1章 概 述教学提示:本章主要讲授计算机的发展概况;计算机软件发展的几个阶段;计算机系统的组成;计算机软件的分类以及常用的系统软件和应用软件的介绍。
教学要求:了解计算机的发展过程;掌握计算机软件发展经历的几个阶段;了解常用的高级语言;了解计算机网络软件及数据库软件;掌握软件的分类;简单介绍常用的工具软件。
1.1 计算机软件的发展计算机是由一系列电子元件组成的、具有处理信息能力的机器。
世界上第一台计算机是1946年在美国的宾西法尼亚大学研制成功的。
计算机诞生60多年来,发展极为迅速,更新换代非常快。
计算机先后以电子管、晶体管、集成电路、大规模和超大规模集成电路为主要元器件,共经历了四代变革,现在已进入第五代的研制时期。
每一代的变革在技术上都是一次新的突破,在性能上都是一次质的飞跃。
第一代为电子管时代(1946年—1957年)。
在这个阶段计算机的逻辑器件采用电子管,通常称为电子管计算机。
它的内存容量很小,仅有几千字节,运算速度低,且成本很高。
第二代为晶体管时代(1958年—1964年)。
与第一代相比,该阶段计算机的主要逻辑器件采用晶体管,即晶体管计算机。
存储器由磁心构造,内存容量扩大到几十千字节。
第三代为集成电路时代(1965年—1972年)。
在这个阶段计算机的主要逻辑器件采用集成电路。
不仅使计算机体积大大减小,耗电显著降低,而且使运算速度大大提高。
第四代为大规模和超大规模集成电路时代(1972 年至今)。
在这个阶段计算机的逻辑器件采用大规模集成电路(LSI)。
这一代计算机的性能较前三代有较大提高,主要依靠器件的变革和系统结构的改进,而新一代计算机总是朝着体积小、耗电少、速度快、最优性价比及使用方便等方向发展。
第五代为超大规模集成电路和人工智能计算机时代,目前尚处于研制阶段。
第五代计算机是超大规模集成电路、高级软件工程、人工智能、新型计算机系列的综合产物。
它是一种更接近人的人工智能计算机,它能理解人的语言、文字和图形,无须编写程序,靠讲话就能对计算机下达命令,驱使它工作。