前言
20世纪的教育基础是“阅读、写作和算术”,现在则是“阅读、写作和计算”。学习编程是科学和工程领域教育的重要组成部分。除了直接应用外,这是理解计算机科学的第一步,进而能够理解为什么计算机会对现代世界产生如此巨大的影响。本书的目的是在科学的应用环境中讲解编程的相关知识。
我们的主要目标是通过提供有效使用计算所需的经验和基本工具来增强学生的能力。我们的方法是教会学生按照一种自然的、令人满意的、创造性的方式编写程序。我们逐步引入基本概念,并引入应用数学和科学领域的经典应用来说明概念,同时为学生提供编写程序来解决问题的机会。我们也设法帮助学生揭开计算的神秘面纱,使他们建立对计算机科学领域的重要知识的基本认识。
本书中的所有程序都使用Java编程语言编写。本书的第一部分教授解决计算问题的基本技能,所使用的编程方法适用于许多现代计算环境,这是一个完整的解决方案,即使没有编程经验的人也能够学会。这里我们强调的是关于编程的基本概念,而不是Java本身。本书的第二部分更多地偏重计算机科学的知识而不再是编程,但是我们仍然经常使用Java程序来交流主要想法。
本书是按照跨学科的方法对传统CS1(computer science)课程进行扩充,我们强调计算在其他学科中的作用,从材料科学到基因组学、天体物理学和网络系统。这种方法会强化学生对于“数学、科学、工程和计算在现代世界中交织在一起”的基本认识。虽然本书是为一年级大学生设计的CS1教科书,但也可用于自学。
范围 本书的第一部分围绕学习编程的三个阶段进行组织:基本元素、函数、面向对象编程。我们提供了读者在进入下一个层次之前需要熟练掌握的基本内容。我们的方法的一个基本特征是使用示例程序来解决有趣问题,并辅以练习,包括从自学练习到需要创造性解决方案的挑战性问题。 ...