ACT-CMS Lesson Portal

Introduction to Programming for Molecular Scientists

Learn fundamental programming concepts in Python including data types, file operations, and basic programming structures.

Programming Skill: None
Primary Course: Foundational Module
Also for: Physical Chemistry, Materials Science
Format: Multi-Part Module
Authors: Dr. Jessica A. Nash, Prof. Ashley McDonald
Estimated Time: 2-3 hours
introduction python jupyter foundational

Overview

This foundational module introduces students to programming concepts essential for computational molecular science. Students will learn Python basics including variables, data types, control structures, and file operations through hands-on exercises designed for scientific applications.

The module emphasizes practical programming skills that serve as prerequisites for more advanced computational lessons in chemistry and molecular sciences.

Scientific Learning Objectives

  • Apply programming concepts to solve basic scientific problems
  • Connect programming fundamentals to molecular science applications

Cyberinfrastructure Learning Objectives

  • Execute Python code in Jupyter notebook environments
  • Understand basic programming concepts: variables, loops, conditionals
  • Read and process data from files
  • Debug simple programming errors
  • Develop computational thinking skills for scientific problem-solving

Prerequisites

Scientific Prerequisites:

  • High school level mathematics
  • Basic understanding of scientific concepts

Programming Prerequisites:

  • No prior programming experience required

Lesson Sequence:

This is Part 1 of 2 in the Python Foundations for Molecular Scientists path.

Course Materials

Introduction to Python

Introduction to Python programming language, basic data types, and operations.

Reading Data from a File

Opening files using open, reading line by line, and searching for a pattern in the file.

Student Repository

Complete Student Materials

Download or clone the complete repository with all notebooks, datasets, and supporting files.

View Repository Launch on ChemCompute

Instructor Materials

Complete Instructor Package

Solutions for all notebooks, teaching notes, assessment rubrics, and additional examples.

Instructor Resources

Requires instructor verification. Request access if you don't have permission.

Instructor Notes

This introductory module works well as the first programming lesson for students with no coding experience.

Teaching tips:
• Students often need extra time with the file reading concepts in Part 2
• Encourage students to experiment with the code examples
• Common issue: students forget to run cells in order

Platform Requirements

ChemCompute

This module is compatible with ChemCompute - a specialized platform for computational chemistry education.

  • Access using your institution account
  • Pre-configured chemistry software environment
  • No personal setup required
  • Includes computational molecular science packages (Psi4, OpenMM)

Local Installation

For advanced users who prefer local development environments.

  • Requires conda package manager
  • Environment setup via provided environment.yml file
  • Full control over computing environment
  • Works offline once dependencies are installed
  • Can customize package versions and configurations