From 77d7282c81c07910ce1d746350b43043393bece3 Mon Sep 17 00:00:00 2001 From: HeidiHendrickson Date: Wed, 24 Jun 2026 12:01:31 -0400 Subject: [PATCH 1/2] Start of portal entry for intro to prob dist module --- ...roduction-to-probability-distributions.yml | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 lessons/introduction-to-probability-distributions.yml diff --git a/lessons/introduction-to-probability-distributions.yml b/lessons/introduction-to-probability-distributions.yml new file mode 100644 index 0000000..b65fe3a --- /dev/null +++ b/lessons/introduction-to-probability-distributions.yml @@ -0,0 +1,181 @@ +# 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: "Brief description of what students will learn in this lesson." + +# Longer description for the lesson page (use | for multi-line text) +expanded_description: | + 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: "None" +# 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" + - "Materials Science" + +# List all authors +authors: + - "Dr. Your Name" + - "Prof. Collaborator Name" + +# Estimated total time for all materials +estimated_time: "2-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: "Multi-Part Module" + +# INSTRUCTOR INFORMATION (OPTIONAL) +# Contact email for instructor access requests (optional - will use default if not specified) +instructor_email: "instructor-access@university.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 - Second Year" # e.g., "Graduate", "Undergraduate - First Year", "Mixed Graduate/Undergraduate" +# How many students has this been tested with? +students_piloted: 25 # 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 solve chemical problems" + - "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" + - "Use library X to perform scientific calculations" + - "Create visualizations of molecular data" + - "Debug common programming errors" + +# PREREQUISITES (REQUIRED) +# What science background do students need? +scientific_prerequisites: + - "General chemistry" + - "Basic understanding of molecular structure" + +# What programming experience is assumed? +programming_prerequisites: + - "No prior programming experience required" + # 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: + - "Google Colab" + - "Local Installation" + - "ChemCompute" + +# 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: "Google Colab" + +# METADATA (REQUIRED) +# Tags help with searching - use relevant keywords +tags: + - "python" + - "molecular-dynamics" + - "visualization" + - "quantum-chemistry" # Use appropriate scientific area tags \ No newline at end of file From f3df17f0bc60acf12b46585655fca5cd6debec4a Mon Sep 17 00:00:00 2001 From: HeidiHendrickson Date: Fri, 26 Jun 2026 10:59:21 -0400 Subject: [PATCH 2/2] Update introduction-to-probability-distributions.yml --- ...roduction-to-probability-distributions.yml | 42 +++++++++---------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/lessons/introduction-to-probability-distributions.yml b/lessons/introduction-to-probability-distributions.yml index b65fe3a..609fb73 100644 --- a/lessons/introduction-to-probability-distributions.yml +++ b/lessons/introduction-to-probability-distributions.yml @@ -9,10 +9,11 @@ title: "Introduction to Probability Distributions" # Brief description for search results (1-2 sentences) -description: "Brief description of what students will learn in this lesson." +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. @@ -22,7 +23,7 @@ expanded_description: | # COURSE INFORMATION (REQUIRED) # Choose ONE: "None", "Beginner", "Intermediate", "Advanced" -programming_skill: "None" +programming_skill: "Beginner" # None: No programming experience. # Beginner: Knows variables, conditionals, loops # Intermediate: Can write their own scripts from scratch @@ -34,33 +35,31 @@ primary_course: "Foundational Module" # List other courses where this lesson could be used (optional) also_for: - - "Physical Chemistry" - - "Materials Science" + - "Physical Chemistry - Thermodynamics" # List all authors authors: - - "Dr. Your Name" - - "Prof. Collaborator Name" + - "Prof. Heidi Hendrickson" # Estimated total time for all materials -estimated_time: "2-3 hours" +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: "Multi-Part Module" +format: "Single Notebook" # INSTRUCTOR INFORMATION (OPTIONAL) # Contact email for instructor access requests (optional - will use default if not specified) -instructor_email: "instructor-access@university.edu" +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 - Second Year" # e.g., "Graduate", "Undergraduate - First Year", "Mixed Graduate/Undergraduate" +student_level: "Undergraduate - Third Year" # e.g., "Graduate", "Undergraduate - First Year", "Mixed Graduate/Undergraduate" # How many students has this been tested with? -students_piloted: 25 # Number of students +students_piloted: 14 # Number of students # Free-form notes for instructors instructor_notes: | Additional context for instructors using this lesson: @@ -134,26 +133,24 @@ materials: # LEARNING OBJECTIVES (REQUIRED) # What molecular science concepts will students learn? scientific_objectives: - - "Apply programming to solve chemical problems" + - "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" - - "Use library X to perform scientific calculations" - - "Create visualizations of molecular data" - - "Debug common programming errors" + - "Write user-defined functions" + - "Create graphs of user-defined functions" # PREREQUISITES (REQUIRED) # What science background do students need? scientific_prerequisites: - "General chemistry" - - "Basic understanding of molecular structure" # What programming experience is assumed? programming_prerequisites: - - "No prior programming experience required" + - "Basic Python syntax (variables, loops, functions)" # OR: eg "Basic Python syntax (variables, loops, functions)" # PLATFORM SUPPORT (REQUIRED) @@ -162,20 +159,21 @@ programming_prerequisites: # "Google Colab", "Local Installation", "ChemCompute", "CoCalc" # Any other value fails the build (no rendering template exists for it). platforms: - - "Google Colab" - - "Local Installation" - "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: "Google Colab" +recommended_platform: "ChemCompute" # METADATA (REQUIRED) # Tags help with searching - use relevant keywords tags: - "python" - - "molecular-dynamics" + - "probability" + - "thermodynamics" - "visualization" - - "quantum-chemistry" # Use appropriate scientific area tags \ No newline at end of file + - "quantum-chemistry" # Use appropriate scientific area tags