diff --git a/lessons/introduction-to-probability-distributions.yml b/lessons/introduction-to-probability-distributions.yml new file mode 100644 index 0000000..609fb73 --- /dev/null +++ b/lessons/introduction-to-probability-distributions.yml @@ -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