软件技术基础课程内容涵盖了软件开发整个过程中的相关知识,包括数据结构、操作系统、软件工程、数据库。该课程是工科非计算机专业计算机基础课程教学系列中的第二门课程,理论性和实用性都较强,是学生今后设计、开发和应用各种软件系统的基础。
本课程在传统的软件技术基础课程内容基础上增加了对计算科学发展历史、基于二进制的信息表述及计算机系统构成和工作原理的介绍,旨在让大家形成对计算机软件系统的完整概念,明白软硬件的关系,真正清晰掌握计算机软件的本质。
本课程中的算法采用C语言描述,课程中不再对C语言语法进行描述,因此学生应该在修习完成“C语言程序设计”后修习本课程。
本课程旨在培养学生掌握计算机软件应用及开发相关的全面知识,通过学习本课程,同学能够了解掌握计算机软件相关的基本概念、基本原理和软件设计的基本方法,并运用所学方法进行较为规范的软件系统开发工作。
本课程包含视频、测验以及讨论等教学环节。
课程学习成绩由两个部分构成:
1)测验:占课程成绩的50%;
2)课后作业:占课程成绩的30%;
3)讨论:占课程成绩的20%。(讨论按活跃度计分,大于10次回复即可得满分)
完成课程学习并考核合格(>=60分)的可获得合格证书,成绩优秀(>80分)的可获得优秀证书。
第一章 基于二进制的信息表述及计算机工作原理
1.1 基于二进制的信息表述
1.2 计算机构成和工作原理
第一章 基于二进制的信息表述及计算机工作原理 单元测验
第二章 操作系统
2.1 操作系统概述
2.2 操作系统发展历史
2.3 操作系统功能
2.4 处理机管理概述
2.5 进程调度
2.6 进程互斥和同步
2.7 死锁及其解除
2.8 存储管理概述
2.9 分区管理
2.10 页式管理及虚拟存储技术
2.11 设备管理及数据传送控制方式
第二章 操作系统 单元测验
第三章 数据结构
3.1 数据结构基本概念
3.2 线性表(1)
3.2 线性表(2)
3.3 堆栈和队列(1)
3.3 堆栈和队列(2)
3.4 数组
3.5.1 树的基本概念
3.5.2 二叉树的基本概念
3.5.3 二叉树的操作
3.6.1 图的基本概念
3.6.2 图的物理存储
3.6.3 图的遍历
3.7.1 查找(1)
3.7.2 查找(2)
3.8.1 排序(1)
3.8.2 排序(2)
第三章 数据结构 单元测验
第四章 数据库
4.1 数据库基础
4.2 数据模型
4.3 关系模型
4.4.1 结构化查询语言SQL(1)
4.4.2 结构化查询语言SQL(2)
第四章 数据库 单元测验
第五章 软件工程
5.1 软件工程概述
5.2 软件生命周期
5.3 软件开发过程
5.4 软件测试
第五章 软件工程 单元测验
建议先修课程: C语言
1. 计算机科学概论,J.Glenn Brookshear著,人民邮电出版社,2012
2. 数据结构与算法分析——C语言描述(第二版),维斯 著,机械工业出版社,2004
3. 数据结构(C语言版),严蔚敏著,清华大学出版社,1997
4. Modern Operating System(The 3rd Edition),Andrew S.Tanenbaum著,机械工业出版社,2009
5. 计算机操作系统教程、张尧学、清华大学出版社,2000
6. 软件工程理论与实践、S.L.Pfleeger、清华大学出版社,2003
7. 数据库系统概念(第四版),Abraham Silberschatz著,高等教育出版社,2003
8. 数据库原理与应用、周燕飞、机械工业出版社, 2003