当我开始教计算物理时,我面临的第一个决定是“我应该使用哪种语言?”由于有大量的优秀编程语言可用,这并不是一个显而易见的选择。我想用一种通用的语言来教授这门课,这样学生就可以很容易地利用他们在这门课上获得的技能,在物理以外的领域。该语言必须能够在所有主要的操作系统上使用。最后,语言必须是自由的。我想给学生们提供一种不用花钱就能使用的技能!大约在我的第一门计算物理课程开始前的一个月,Bruce Sherwood和Ruth Chabay向我介绍了Python,我立刻意识到这就是我的课程需要的语言。它简单易学;它也很容易阅读其他程序员用Python编写的代码,并弄清楚它是做什么的。它的空格特定格式迫使新程序员编写可读的代码。有一些数字图书馆,正好是我需要的课程。它是免费的,可以在所有主要的操作系统上使用。虽然它足够简单,可以让没有编程经验的学生在课程的早期解决有趣的问题,但它的功能足够强大,可以用于“严肃的”物理数值工作——而天体物理学社区正是为此使用它。最后,Python是以我最喜欢的英国喜剧剧团命名的。有什么理由不喜欢呢?
使用计算和模拟已经成为科学过程中必不可少的一部分。要将理论转化为算法,需要有重要的理论洞察力,详细的物理和数学理解,以及编程能力的工作水平。本文从多学科、计算科学的角度,对现代计算物理学的主题进行了不同寻常的广泛调研。它的哲学植根于通过做来学习(借助许多模型程序),利用新的科学材料以及Python编程语言。Python已经变得非常流行,特别是在物理教育和大型科学项目中。对于初学者来说,它可能是最容易学习的编程语言,但它也用于主流的科学计算,并且有优秀的图形甚至符号操作包。