Es werden Simulationen zum Temperaturausgleich durchgeführt: Das Modellsystem mit äquidistanten Energieniveaus wird in zwei Teilsysteme zerlegt, die anfangs unterschiedliche Energie haben. Es entwickelt sich unter einer einfachen Dynamik, bei der zufällig zwei Moleküle ausgewählt werden, die ein Energiequant austauschen.
Die Ergebnisse der Simulationen sollen die Konzepte illustrieren, mit denen die statistische Mechanik einen irreversiblen Vorgang beschreibt, der in der phänomenologischen Thermodynamik als Paradebeispiel für den zweiten Hauptsatz dient.
Die Konzepte Mikrozustand, Makrozustand, Gleichverteilungs-Postulat und Boltzmann-Entropie der statistischen Mechanik werden mit Hilfe einfacher Simulationen erläutert.
Nach dem Postulat der statistischen Mechanik besitzen alle Mikrozustände, die ein System annehmen kann, die gleiche Wahrscheinlichkeit. Für zahlreiche Simulationen benötigt man einen Zufallsgenerator, der diese gleichverteilten Mikrozustände erzeugt. Dieser Zufallsgenerator wird in der Programmiersprache R entwickelt, die Erklärungen sind aber so allgemein gehalten, dass man sie leicht in eine andere Programmiersprache übersetzen kann.
Programmieraufgaben zur Anwendung von Feldern und Zeigern, die im Sinne der strukturierten Programmierung zu lösen sind. Die Quelltexte sollen in reinem C geschrieben werden, also keine Konzepte verwenden, die nur in C++ verfügbar sind.
Mit den drei Zugriffs-Spezifikationen (access modifier) public, protected und private wird festgelegt, welche Klasse auf welche Datenelemente und Methoden zugreifen kann. Mit ihrer Hilfe lässt sich die Datenkapselung realisieren. Die Zugriffs-Spezifikation ist ein Bestandteil der Deklaration von Datenelementen und Methoden; es wird gezeigt, wie man die Deklarationen einer Klasse übersichtlich in einem UML-Diagramm darstellen kann. UML-Diagramme sind somit eines der wichtigsten Hilfsmittel beim Entwurf komplexer Programme.