《21世纪计算机科学与技术实践型教程》
编辑委员会
主任: 陈明
委员:毛国君白中英叶新铭刘淑芬刘书家
汤庸何炎祥陈永义罗四维段友祥
高维东郭禾姚琳崔武子曹元大
谢树煜焦金生韩江洪
策划编辑: 谢琛
《21世纪计算机科学与技术实践型教程》
序
21世纪影响世界的三大关键技术是: 以计算机和网络为代表的信息技术;以基因工程为代表的生命科学和生物技术;以纳米技术为代表的新型材料技术。信息技术居三大关键技术之首。国民经济的发展采取信息化带动现代化的方针,要求在所有领域中迅速推广信息技术,导致需要大量的计算机科学与技术领域的优秀人才。
计算机科学与技术的广泛应用是计算机学科发展的原动力,计算机科学是一门应用科学。因此,计算机学科的优秀人才不仅应具有坚实的科学理论基础,而且更重要的是能将理论与实践相结合,并具有解决实际问题的能力。培养计算机科学与技术的优秀人才是社会的需要、国民经济发展的需要。
制定科学的教学计划对于培养计算机科学与技术人才十分重要,而教材的选择是实施教学计划的一个重要组成部分,《21世纪计算机科学与技术实践型教程》主要考虑了下述两方面。
一方面,高等学校的计算机科学与技术专业的学生,在学习了基本的必修课和部分选修课程之后,立刻进行计算机应用系统的软件和硬件开发与应用尚存在一些困难,而《21世纪计算机科学与技术实践型教程》就是为了填补这部分鸿沟。将理论与实际联系起来,结合起来,使学生不仅学会了计算机科学理论,而且也学会应用这些理论解决实际问题。
另一方面,计算机科学与技术专业的课程内容需要经过实践练习,才能深刻理解和掌握。因此,本套教材增强了实践性、应用性和可理解性,并在体例上做了改进——使用案例说明。
实践型教学占有重要的位置,不仅体现了理论和实践紧密结合的学科特征,而且对于提高学生的综合素质,培养学生的创新精神与实践能力有特殊的作用。因此,研究和撰写实践型教材是必须的,也是十分重要的任务。优秀的教材是保证高水平教学的重要因素,选择水平高、内容新、实践性强的教材可以促进课堂教学质量的快速提升。在教学中,应用实践型教材可以增强学生的认知能力、创新能力、实践能力以及团队协作和交流表达能力。
实践型教材应由教学经验丰富、实际应用经验丰富的教师撰写。此系列教材的作者不但从事多年的计算机教学,而且参加并完成了多项计算机类的科研项目,把他们积累的经验、知识、智慧、素质融合于教材中,奉献给计算机科学与技术的教学。
我们在组织本系列教材过程中,虽然经过了详细地思考和讨论,但毕竟是初步的尝试,不完善甚至缺陷不可避免,敬请读者指正。
本系列教材主编陈明
2005年1月于北京
前言
本书将C++基础知识与项目开发相结合,以培养读者的计算思维。
实践由两部分构成。基础知识部分,主要由C++考试真题构成。项目设计中,主要是模仿教材中的项目,设计自己的项目,使学生了解企业文化。
本书的编写,主要考虑以下几个方面。
1. 读者对象
本书主要面对高校各专业的大学生,尤其是高职院校学生,兼顾参加全国计算机二级C++考试和全国自学考试的读者。
读者学习C++的根本目的是初步掌握面向对象编程方法,能够利用C++编写一定程度的程序,为以后进一步学习和应用C++打下良好的基础,同时初步熟悉项目开发的基本思路和方法。
内容选取侧重初学者的实际,主要选取C++二级考试和全国自学考试内容,使读者学会面向对象C++编程的基本内容、基本方法和基本技能。
2. 内容安排
C++既可以编写面向过程的程序,也可以编写面向对象的程序。
以面向过程的编程作为切入点,从编写简单的程序开始,由面向过程到面向对象,循序渐进、逐步深入,比较符合读者的认识规律,每一步的台阶都比较小,学习难度不大,读者容易理解。同时也按“自顶向下,逐步求精”的原则进行项目设计。
一个实际的C++项目设计需要考虑许多因素,但是为教学需要,将项目代码作为每章附录,这样避免冲淡教学内容,使知识体系完整,符合一般读者的学习习惯。因此,在教学内容主体上,对项目作了简化。有些在专业人员看来很“幼稚”的程序,但在学习者看来可能是一个很合适的教学程序。在初步掌握C++编程方法后,可以逐步使程序复杂些,长一些,更接近真实程序一些。在学完本课程后,最好完成一个实际的应用程序,以提高实际应用的能力。
以注册登录的设计为背景,使学生了解企业文化、描述工具UML。在程序风格和质量上参照《华为C++编码规范》,力求编写高质量程序,使读者养成良好的编程习惯。
3. 教材体系
本书全面而系统地介绍C++的主要功能,引导读者由简而繁地学会编写C++程序。有了C++编程的初步基础后,再进一步提高,掌握更多更深入的算法。这样的编写方法可能符合大多数学习者的情况,降低了学习难度。
同时考虑项目设计过程,将知识体系与项目设计过程融合,使读者在掌握C++基础知识的同时了解项目开发思路和技巧。
4. 项目选取
本书毕竟是教授C++编程,以语言本身为重点,为使读者学以致用,引进项目。之所以选择注册登录,主要因为项目设计还涉及《软件工程》、《项目管理》和《软件测试》等有关方面内容,如果完全按项目设计过程安排,内容会更加庞大,主次不分。一般读者比较熟悉注册和登录,减少系统分析时间,优化项目以符合教学要求。
5. 巩固知识
编程课是一门实践性很强的课程,只靠听课和看书是不够的。衡量学习效果好坏的标准不是“懂不懂”,而是“会不会设计”。因此必须强调多编程,多上机实践。
本书得到了许多同志和朋友的帮助和支持。在构思上,高云、殷晓春、周乃富老师提出了许多宝贵意见;在代码设计上,殷晓春、闫冰、董志勇老师给予大力协助;在实践环节上,周乃富、韩金华老师给出许多建议,还有出版社的老师也给予宝贵建议和大力支持,在此表示衷心的感谢!
由于作者水平有限,加之时间仓促,疏漏在所难免,恳请广大读者不吝赐教,以便在今后的版本中进行改进。
作者
2015年12月