第3版前言
本次修订保留了第2版的整体结构和特点,主要做了如下几方面的调整:
(1) 第3章图部分内容更新。
(2) 第5~7章增加了课程思政方面的内容。
(3) 第7章中删去了关系数据库语言SQL。
(4) 各章习题都有更换或补充。
计算机软件基础是一个课程群,涉及计算机专业多门学习软件知识的基础课,经典的组成包括数据结构、操作系统、软件工程和数据库4大部分内容,是非计算机专业学生及广大科技人员学习和掌握软件技术的首选课程,被许多高校列为相关专业的重点课程。
本书不是多门课程简单拼盘式的组合,而是按照软件工程的观点,以软件生命周期中各阶段的主要工作来组织内容,第2~4章内容是软件设计、编码阶段必备的技术,第5章是软件开发、调试运行需要掌握的知识,第6章系统介绍软件开发方法,而第7章可以视为前面6章知识的一次实践和检验。本书内容丰富,通俗易懂,实用性强,书中相关算法均上机调试通过,各章有大量的练习题,书后附有部分习题(选择题、填空题和判断题)参考答案。
作为教材,使用者可以根据自己的需求选取相应的内容进行教学。有以下4种建议方案。
第1种方案: 全部7章内容。根据具体要求,可以安排64及以上学时。
第2种方案: 选取第1~6章内容,这是考虑有的学校数据库是作为一门课程单独开设,可以安排56学时。
第3种方案: 选取第1~4章、第6章内容,适合课时较少的情况,可以安排48学时。
第4种方案: 选取第1~4章内容,可以安排32~40个教学课时,如果仅学习数据结构方面的知识,可以采用本方案。
选用本书作为教材的任课教师可与出版社联系免费获取以下资料:
(1) 课程教学大纲(56学时)。
(2) 书上算法的C语言源码。
(3) 习题中综合题的参考答案。
(4) 本书的PPT原始资料,包含书上所有图、表,供教师根据自己的授课风格选用。
由于作者水平有限,书中难免有错误或不妥之处,恳请读者批评指正。
作者2024年5月
第2版前言
随着计算机应用领域的扩大和深入,非计算机专业的工程技术人员掌握必要的计算机软件技术基础知识是提高计算机应用水平、利用计算机技术解决本专业中具体问题的重要途径。非计算机类专业本科生既熟悉自己所从事的专业,又掌握计算机的应用知识是一个优势。事实上,许多应用软件都是由非计算机专业出身的计算机应用人员研发的。
计算机软件基础是高等学校电子信息类专业的一门学科基础必修课,被一些高校列为电子类各专业的重点课程或核心课程。通过多年来对本课程的教学研究和教学改革,我们在教学内容、教学方法和考核方式上已基本形成一套比较完整的体系,可切实提高学生的程序设计能力。好的教材源于教学改革和教学实践,能体现出良好的成果。在多年教学经验的基础上,通过对已有教材的分析研究,结合自己的教研工作,编写此教材。本书的特点是强调实用性,以应用为目的,含有丰富的实例; 可读性强,深入浅出,通俗易懂,概念准确,表述清楚,简明扼要; 所有算法采用C语言描述; 适合非计算机专业的学生阅读。
全书内容以数据结构为主,同时包含操作系统、软件工程和数据库三部分内容。教学时可根据具体情况对讲授内容进行适当取舍。
本书由汪友生编写线性表、栈和队列、串和数组、树等部分; 张新峰编写绪论、排序和软件开发等部分; 王众编写查找部分; 张小玲编写资源管理部分; 刘芳编写数据库设计部分; 郭民编写图部分。全书由汪友生统稿。
在本书的编写中参考了大量文献资料,对相关作者表示真诚的感谢!
由于编者水平有限,书中难免存在疏漏和不妥之处,恳请各位读者批评指正。
编者2020年11月