Python Scripting for Computational Molecular Science

This lesson by the Molecular Sciences Software Institute (MolSSI) teaches users fundamentals of scientific programming used in computational molecular sciences. The material is designed for undergraduate students, or other early career students, who have no prior programming experience. To see the full MolSSI’s education mission statement, please see here.

This lesson is under development, please report issues to the GitHub repository

Prerequisites

Students should be familiar with opening the Terminal window and creating and navigating files in bash.

Schedule

Setup Download files required for the lesson
00:00 1. Introduction What is the basic syntax of the python programming language?
00:45 2. File Parsing How do I sort through all the information in a text file and extract particular pieces of information?
01:30 3. Processing Multiple Files and Writing Files How do I analyze multiple files at once?
02:05 4. Working with Tabular Data How do I work with numerical data presented in tables?
03:50 5. Plotting and Data Visualization How do I visualize data by making graphs?
04:30 6. Writing Functions How do I write include functions in my code?
05:10 7. Running code from the Linux Command Line How do I move my code from the interactive Jupyter notebook to run from the Linux command line?
How do I make Python scripts with help messages and user inputs using argparse?
05:35 8. Running code from the Linux Command Line How do I move my code from the interactive Jupyter notebook to run from the Linux command line?
How do I make simple Python scripts with user inputs using sys.argv?
06:00 9. Testing Code with pytest How do I test my functions?
06:35 10. Version Control with git How do I keep a history of my project?
How can I use git to view previous versions of files?
07:45 11. Sharing Code How do I share my code with others using git and GitHub?
09:25 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.

Alternate Lessons

Alternate lessons are shown below.

Running code from the Linux Command Line How do I move my code from the interactive Jupyter notebook to run from the Linux command line?
How do I make simple Python scripts with user inputs using sys.argv?