- Overview
- More tutorials (optional)
- Setting up the software environment
- Optional: Install Ubuntu Linux from scratch
Welcome to the 2025 Computational Physics Summer Tutorials! This five-week course will cover the basics of scientific computing, including the Python programming language.
While everyone is welcome to attend all or selected sessions, it also helps students prepare for the fall semester course "Computer Simulation Methods in Physics" (PHYS 4071/5071) at Ohio University. This year, we are offering one-hour tutorials twice a week in the Computer Lab in Clippinger Lab (PHYS 6900 102 Special Topics in Physics). These tutorials consist of lectures, hands-on learning activities, and a final project.
Please register if you want to attend this course. Upon completion of the final project, the participants' overall participation and the final project will be used to grade them. Working in small groups is highly encouraged. Contact the instructors (see below) if you cannot participate in the tutorials.
The following tutorials (Tuesdays and Thursdays) will be offered this year:
| Tutorial | Dates |
|---|---|
| Basic UNIX (CC) | 7/8 @ 2:45 pm & 7/10 @ 3 pm |
| Basic Python 3: numpy, scipy, pandas (RN) | 7/15 & 7/17 @ 3 pm |
| Basic Plotting: xmgrace, gnuplot, and matplotlib (RN) | 7/22 & 7/24 @ 3 pm |
| Basic Git/GitHub (CD) | 7/29 & 7/31 @ 3 pm |
| Final project (RN, CC) | 8/5 & 8/7 @ 3 pm |
| Wrap up (all) | 8/12 @ 3 pm |
Feel free to suggest topics for future summer tutorials.
Instructors for these tutorials are (in alphabetical order):
- Chase Cartwright (CC)
- Christian Drischler (CD)
- Rawan Nowier (RN)
The tutorials were previously held in the summers of 2023 and 2024. We are grateful to Charlotte Elster and Kanishk Chauhan for their fruitful discussions and for providing lecture material from the 2023 Summer Tutorials.
In addition, the tutorials we will teach in the summer, you might want to check out the selection of tutorials below, some of which are external links.
- GNU Scientific Library (GSL)
- GCC compiler options
- Computational Physics: Teach yourself C++
- Makefile tutorial
- Basic Python3: numpy and matplotlib
- Animations with Python and matplotlib
- Scientific Python Lectures; especially:
- LearnPython.org interactive Python tutorial
To run the interactive Jupyter notebooks in this git repository, simply execute the following commands in the command line (in this directory):
python3 -m pip install jupyter # need to run only once
jupyter-notebook &We use VirtualBox to virtualize Ubuntu Linux on your host computer, which can run Microsoft Windows or Apple's MacOS. If your system already runs Linux, you can skip this section.
Note You don't need to follow these steps on the computers in the Computer Lab. Just start up your virtual machine in VirtualBox that you created in the first lecture week.
Follow these steps to set up our customized environment with pre-installed software on your lab computer:
- Download and install VirtualBox. On Lab computers, this step can be skipped.
- Locate the customized virtual hard drive (ask the instructors), which contains pre-installed Ubuntu Linux and other software. On Lab computers, it should be located in
C:\VirtualBox VMs. - In VirtualBox, navigate to
File-Import Appliancein the menu and import the virtual hard drive file (e.g.,C:\VirtualBox VMs\ubuntu-compphys.ova). - In the settings of your new virtual machine, disable the USB controller.
- Start the virtual machine.
- The default user name and password is
student.
Note Using our customized hard drive (instead of installing Ubuntu yourself) is highly recommended. The hard drive can be used with VirtualBox on any computer, including your personal computer.
Alternatively, follow these steps to install Ubuntu in VirtualBox from scratch:
- Download and install VirtualBox.
- Download Ubuntu 22.04.2 LTS.
- In VirtualBox, click
Newand follow the instructions to install Ubuntu using the downloaded image file. This may take a while. - To fix the issue with the resolution, follow:
sudo apt-get update
sudo apt-get install build-essential gcc make perl dkms- insert and install
Guest Additions CD Image(underDevicesin the menu) and then shut down the virtual system - increase the video memory significantly in the settings
- reboot the virtual system
We will likely need the following selection of standard software, which can be conveniently downloaded using apt:
sudo apt-get install git diffuse kompare gnuplot grace cmake gfortran
sudo apt-get install texlive texmaker
sudo apt-get install python3 python3-pip
sudo apt-get install synaptic
sudo apt-get install pandoc libgsl-dev texlive-xetex
sudo apt-get install cm-super dvipng
sudo apt-get install libportaudio2 libasound-devWe also install standard Python packages:
python3 -m pip install numpy scipy pandas sympy jupyter
python3 -m pip install matplotlib seaborn scikit-learn tqdm numbaNext, we install software directly from source:
- Microsoft Visual Studio Code (for Jupyter development)
- JetBrain's PyCharm Community version (for Python development)
sudo snap install pycharm-community --classic