本书从实用的角度出发,选择软件类课程的基础部分,系统地介绍了计算机软件技术的概念和基本问题;对于底层的系统支撑软件——操作系统,从实际编程的需要选择了存储器管理、文件管理以及处理机管理3部分内容进行了介绍;在做好这些铺垫工作之后,针对典型数据结构线性表、树、图及其基本运算,结合大量的例题,进行了深入的讲解;当读者了解了基本的数据结构之后,对算法的基本概念和一些编程中的常用算法进行了介绍,并以实例说明了算法与数据结构之间相辅相成的关系;对于软件工程的相关内容,本书并未以传统的方式罗列枯燥的文字,而是在第5章中,从讲述关系数据库理论开始,以实例的形式逐步展开讲解了应用软件研制的过程,而且在论述的过程中还对数据持久存储的几种形式——文件、数据库、数据仓库进行了比较和说明。本书附录给出了4个专题作业,可用这种形式全面考查学生对于本书内容的学习和掌握程度。