Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 179 additions & 0 deletions lessons/introduction-to-probability-distributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# lessons/your-lesson-name.yml
#
# STARTER TEMPLATE FOR ACT-CMS LESSON PORTAL SUBMISSION
# Replace all placeholder text with your actual lesson information
# Remove any sections that don't apply to your lesson

# BASIC METADATA (REQUIRED)
# Use a clear, descriptive title that includes the main topic
title: "Introduction to Probability Distributions"

# Brief description for search results (1-2 sentences)
description: "Introduction to characterizing probability distributions using self-defined functions and graphical representations."

# Longer description for the lesson page (use | for multi-line text)
expanded_description: |
In this lesson, the students are introduced to probability distributions using the Maxwell Speed Distribution.
Provide a more detailed description of your lesson here.
Explain the context, what students will accomplish, and how this
fits into broader molecular science education.

You can use multiple paragraphs to fully describe the lesson scope
and learning experience.

# COURSE INFORMATION (REQUIRED)
# Choose ONE: "None", "Beginner", "Intermediate", "Advanced"
programming_skill: "Beginner"
# None: No programming experience.
# Beginner: Knows variables, conditionals, loops
# Intermediate: Can write their own scripts from scratch
# Advanced: Can write/develop software.

# Examples: "Foundational Module", "Physical Chemistry", "Organic Chemistry",
# "Inorganic Chemistry", "Analytical Chemistry", "Biochemistry", "Materials Science", "Other"
primary_course: "Foundational Module"

# List other courses where this lesson could be used (optional)
also_for:
- "Physical Chemistry - Thermodynamics"

# List all authors
authors:
- "Prof. Heidi Hendrickson"

# Estimated total time for all materials
estimated_time: "3 hours"

# Format of the module. Must be EXACTLY one of these two values (case- and
# spelling-sensitive) so the home-page format filter groups lessons correctly:
# "Single Notebook" or "Multi-Part Module"
format: "Single Notebook"

# INSTRUCTOR INFORMATION (OPTIONAL)
# Contact email for instructor access requests (optional - will use default if not specified)
instructor_email: "hendrihe@lafayette.edu"
# Note: Instructor materials will be located at: instructor-repo/{lesson-filename}/
# where {lesson-filename} matches this YAML file's name

# INSTRUCTOR DETAILS (OPTIONAL)
# What level of students was this piloted with?
student_level: "Undergraduate - Third Year" # e.g., "Graduate", "Undergraduate - First Year", "Mixed Graduate/Undergraduate"
# How many students has this been tested with?
students_piloted: 14 # Number of students
# Free-form notes for instructors
instructor_notes: |
Additional context for instructors using this lesson:

- This lesson works well when paired with a traditional lecture on molecular dynamics
- Students often struggle with the concept of periodic boundary conditions in Part 2
- The visualization exercises are very engaging - allow extra time for exploration
- Consider assigning the dataset analysis as homework rather than in-class work

Timing notes:
- Part 1 typically takes students 45-60 minutes
- Part 2 can be rushed in 90 minutes but is better with 2 hours

Common student questions:
- "Why do we need so many time steps?" - good opportunity to discuss numerical integration
- "What happens if we change the temperature?" - this connects well to thermodynamics concepts

# Related lessons that complement this one
related_modules:
- "thermodynamics-fundamentals"
- "statistical-mechanics-intro"
- "computational-chemistry-basics"

# OPTIONAL: Lessons students should complete BEFORE this one.
# Values are lesson IDs (YAML filenames without .yml) — unlike the free-text
# scientific_prerequisites/programming_prerequisites fields below, these are
# strictly build-validated: unknown IDs, self-references, or circular
# prerequisite chains FAIL the build. Machine-readable metadata (searchable
# on the portal); ordered sequences are displayed via paths.yml instead.
prerequisite_modules:
- "foundational-intro-python"

# NOTE: To add this lesson to an ordered learning path (or create a new one),
# edit paths.yml at the repo root — step order is defined there, not here.

# REPOSITORY URLS (REQUIRED)
# Link to the repository containing your public material
public_repo_url: "https://github.com/act-cms/your-lesson-repo"

# MATERIALS SECTION (REQUIRED)
# List each notebook/material in logical order
materials:
- title: "Part 1: Introduction"
description: "Brief description of what this notebook covers"
type: "notebook" # Usually "notebook", could be "slides", "dataset", etc.
duration: "1 hour"

# REQUIRED: Include at least one URL (preferably both)
# Direct link to notebook file on GitHub
github_url: "https://github.com/act-cms/your-lesson-repo/blob/main/01-intro.ipynb"
# Google Colab launch link (recommended for accessibility)
colab_url: "https://colab.research.google.com/github/act-cms/your-lesson-repo/blob/main/colab-notebooks/01-intro.ipynb"

# Learning objectives specific to this material
objectives:
- "Specific skill students will develop"
- "Another concrete learning outcome"
- "Third measurable objective"

# Add more materials as needed
- title: "Part 2: Advanced Topics"
description: "Description of second notebook"
type: "notebook"
duration: "90 min"
github_url: "https://github.com/act-cms/your-lesson-repo/blob/main/02-advanced.ipynb"
colab_url: "https://colab.research.google.com/github/act-cms/your-lesson-repo/blob/main/colab-notebooks/02-advanced.ipynb"
objectives:
- "Advanced skill development"
- "Application of concepts from Part 1"

# LEARNING OBJECTIVES (REQUIRED)
# What molecular science concepts will students learn?
scientific_objectives:
- "Apply programming to integrate probability distribution functions"
- "Understand molecular property X through computational analysis"
- "Interpret results of computational molecular science calculations"

# What computational/programming skills will students develop?
cyberinfrastructure_objectives:
- "Write and execute Python code in Jupyter notebooks"
- "Write user-defined functions"
- "Create graphs of user-defined functions"

# PREREQUISITES (REQUIRED)
# What science background do students need?
scientific_prerequisites:
- "General chemistry"

# What programming experience is assumed?
programming_prerequisites:
- "Basic Python syntax (variables, loops, functions)"
# OR: eg "Basic Python syntax (variables, loops, functions)"

# PLATFORM SUPPORT (REQUIRED)
# List platforms where your materials can be used. Each value must be one of
# the supported platforms (spelling and capitalization matter):
# "Google Colab", "Local Installation", "ChemCompute", "CoCalc"
# Any other value fails the build (no rendering template exists for it).
platforms:
- "ChemCompute"
- "Local Installation"
- "Google Colab"

# Which platform do you recommend for most users?
# Pick exactly ONE platform name, and it must match an entry in the `platforms`
# list above EXACTLY (same spelling and capitalization). Do NOT combine several,
# e.g. "Google Colab, ChemCompute" is invalid and fails the build.
recommended_platform: "ChemCompute"

# METADATA (REQUIRED)
# Tags help with searching - use relevant keywords
tags:
- "python"
- "probability"
- "thermodynamics"
- "visualization"
- "quantum-chemistry" # Use appropriate scientific area tags
Loading