Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:01:52 +08:00
commit 9daed3091f
21 changed files with 2964 additions and 0 deletions

View File

@@ -0,0 +1,348 @@
# Content Templates
Structural templates for different types of educational content.
## Chapter Template
```markdown
# Chapter [X]: [Topic Name]
## Learning Objectives
By the end of this chapter, you will be able to:
- [Objective 1 - action verb + specific skill]
- [Objective 2]
- [Objective 3]
## Introduction
[1-2 paragraphs motivating the topic]
- Why is this important?
- What real-world problems does it solve?
- How does it connect to previous chapters?
## [Section 1: Core Concept]
### Intuition
[Explain the concept using analogies or simple examples]
### Formal Definition
[Mathematical or technical definition]
### Example
[Concrete example with code if applicable]
```python
# Code example
```
### Visualization
[Description of diagram or plot to include]
## [Section 2: Application]
[Show how to use the concept]
## [Section 3: Advanced Topics]
[Optional: deeper dive for interested students]
## Practice Problems
1. [Problem testing basic understanding]
2. [Problem requiring application]
3. [Challenge problem]
## Summary
- Key takeaway 1
- Key takeaway 2
- Key takeaway 3
## Further Reading
- [Resource 1]
- [Resource 2]
```
## Quiz Template
```markdown
# Quiz: [Topic Name]
**Instructions:** [Time limit, allowed resources, submission format]
## Part 1: Conceptual Understanding
### Question 1 (X points)
[Multiple choice, short answer, or true/false]
**Answer:** [For instructor use]
### Question 2 (X points)
[Conceptual question]
## Part 2: Application
### Question 3 (X points)
[Code-based or problem-solving question]
```python
# Starter code if applicable
```
**Expected output:** [Description]
## Part 3: Analysis
### Question 4 (X points)
[Interpretation or explanation question]
---
## Answer Key
[Detailed answers and grading rubric]
**Total Points:** XX
```
## Jupyter Notebook Template (Companion)
```markdown
# [Topic Name] - Companion Notebook
**Learning Objectives:**
- [Objective 1]
- [Objective 2]
---
## Setup
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Configuration
%matplotlib inline
plt.style.use('seaborn')
```
## Section 1: [Concept Name]
[Markdown explanation matching chapter]
```python
# Executable example from chapter
```
**Try it yourself:** [Suggested modifications to explore]
## Section 2: Interactive Exploration
```python
# Code for students to experiment with
```
**Questions to explore:**
1. What happens if you change X?
2. Try different values for Y
3. Visualize the results
## Section 3: Practice Exercises
### Exercise 1
[Description]
```python
# TODO: Your code here
```
**Validation:**
```python
# Check your answer
assert ..., "Check failed!"
print("✓ Correct!")
```
## Summary
[Key points reinforced in this notebook]
```
## Jupyter Notebook Template (Lab)
```markdown
# Lab [X]: [Topic Name]
**Estimated Time:** X hours
**Difficulty:** [Beginner/Intermediate/Advanced]
## Learning Objectives
- [Objective 1]
- [Objective 2]
---
## Problem Statement
[Real-world problem description]
## Dataset
[Description and source of data]
```python
# Load or generate dataset
```
**Explore the data:**
```python
# TODO: Examine the dataset
# - Check dimensions
# - Look at first few rows
# - Check for missing values
```
## Task 1: [Subtask Name]
[Instructions]
```python
# TODO: Your code here
# Solution will go here
```
**Checkpoint:** [How to verify this step]
## Task 2: [Next Subtask]
[Instructions building on Task 1]
```python
# TODO: Your code here
```
## Task 3: [Final Analysis]
[Open-ended analysis task]
## Bonus Challenge (Optional)
[Extension for advanced students]
## Reflection Questions
1. What was the most challenging part?
2. What did you learn?
3. How could you extend this analysis?
```
## Slides Template (Markdown)
```markdown
---
title: [Topic Name]
author: [Your Name]
date: [Date]
---
# [Topic Name]
## Learning Objectives
- Objective 1
- Objective 2
- Objective 3
---
## Why This Matters
[Motivation - 1-2 bullet points with visual]
**Real-world application:** [Example]
::: notes
[Speaker notes: Hook students with interesting context]
:::
---
## [Concept 1]: Intuition
[Visual diagram or simple example]
- Key point 1
- Key point 2
::: notes
[Teaching tips, common misconceptions to address]
:::
---
## [Concept 1]: Formal Definition
[Mathematical notation or technical definition]
**In plain English:** [Simplified explanation]
---
## Example: [Concrete Case]
```python
# Code example
```
**Output:**
```
[Expected output]
```
---
## Practice Problem
[Quick problem for students to try]
**Think-Pair-Share:** Discuss with your neighbor
::: notes
[Give 2-3 minutes, walk around, call on students]
:::
---
## Key Takeaways
1. [Main point 1]
2. [Main point 2]
3. [Main point 3]
**Next time:** [Preview next topic]
---
## Questions?
[Contact info or office hours]
```
## Usage Guidelines
### When to Use Each Template
- **Chapter**: Comprehensive coverage of a topic for reading/study
- **Quiz**: Assess understanding of covered material
- **Companion Notebook**: Follow along with chapter, explore interactively
- **Lab Notebook**: Apply concepts to solve realistic problems
- **Slides**: Support lecture or presentation
### Customization
These templates should be adapted based on:
- Student level (undergrad vs grad)
- Course philosophy (theory vs applied)
- Time available
- Prerequisites
- Tools and libraries used
Always reference the specific course profile for customization guidance.

View File

@@ -0,0 +1,139 @@
# BANA 4080 - Course Profile
**Course:** UC BANA 4080: Introduction to Data Mining with Python
**Instructor:** Brad Boehmke
**Level:** Undergraduate
**Base Profile:** intro-to-data-mining
## Course Overview
This is the same course as "Intro to Data Mining" - all content, philosophy, and standards from that profile apply. This profile adds BANA 4080-specific lab structure and requirements.
## Lab Structure (Thursday Sessions)
**Duration:** 75 minutes exactly
**Format:** Two-part structure with collaborative learning
### Part A: Guided Reinforcement (30 minutes)
**Purpose:** TA walks students through concepts to reinforce Tuesday's lecture and weekly readings
**Structure:**
- Section A1: Concept review and setup (5-7 minutes)
- Section A2: Systematic practice of key skills (12-15 minutes)
- Section A3: Professional techniques demonstration (8-10 minutes)
- Section A4: Integration and advanced concepts (5-8 minutes)
**Key Principles:**
- Students follow along and execute code together
- TA explains rationale and connects to business applications
- Multiple opportunities for questions and clarification
- Gradual release of responsibility toward independence
### Class Q&A: Transition (5-10 minutes)
- Address questions from Part A
- Clarify confusing concepts
- Preview independent challenges
### Part B: Independent Group Challenges (35-40 minutes)
**Purpose:** Students apply learned concepts independently in groups of 2-4
**Structure:**
- Challenge 1: Basic application (6-8 minutes)
- Challenge 2: Intermediate skills (6-8 minutes)
- Challenge 3: Complex integration (6-8 minutes)
- Challenge 4: Advanced application (6-8 minutes)
- Challenge 5: Creative problem-solving (6-8 minutes)
- Challenge 6: Extension/synthesis (5-7 minutes)
**Key Principles:**
- Groups work collaboratively with minimal TA intervention
- Challenges require integration of multiple concepts
- Business context makes problems meaningful and engaging
- Different groups can progress at different paces
- **NO AI tools allowed** - students write code themselves
### Wrap-up: Reflection (3-5 minutes)
- Accomplishments summary
- Reflection questions
- Connection to homework and next steps
## Lab Requirements
**Template:** `/Users/b294776/Desktop/UC/uc-bana-4080/planning/templates/lab_notebook_template.ipynb`
**Usage Guide:** `/Users/b294776/Desktop/UC/uc-bana-4080/planning/templates/lab_template_usage_guide.md`
**Naming Convention:**
- Student lab: `XX_wkX_lab.ipynb` (e.g., `03_wk3_lab.ipynb`)
- TA guidance: `ta_guidance_wkX.ipynb` (e.g., `ta_guidance_wk3.ipynb`)
**Content Alignment:**
- Every lab must directly reinforce concepts from Tuesday's slides
- Labs based on weekly assigned chapter readings
- Part A systematically reviews Tuesday lecture material
- Part B challenges integrate multiple chapter concepts
**Pedagogical Standards:**
- Business context for every concept and exercise
- Progressive complexity from guided to independent work
- Real-world datasets (prefer chapter data and exercise data)
- Clear learning objectives (3-4 specific, measurable outcomes)
- Built-in reflection and metacognitive elements
## TA Guidance Requirements
Every lab must include a comprehensive TA guidance notebook with:
**Pre-Lab Preparation Section:**
- Overview of learning objectives and key concepts
- Connection to Tuesday slides and weekly readings
- Setup instructions and common technical issues
- Grouping strategies and classroom management tips
**Part A Detailed Instructions:**
- Section-by-section teaching guidance with timing
- Key concepts to emphasize at each step
- Common student questions and suggested responses
- Code demonstrations and explanation strategies
- Transition techniques between concepts
**Part B Facilitation Guide:**
- Challenge-by-challenge overview with learning goals
- Common student difficulties and targeted hints
- Complete solutions for all challenges
- When and how to provide assistance
- Strategies for different pacing among groups
**Assessment and Wrap-up:**
- Key concepts students should have mastered
- Reflection questions to check understanding
- Connections to upcoming content and homework
- Troubleshooting guide for common issues
## Dataset Strategy
**Default Approach:**
- **Part A (guided section):** Use primary dataset from chapter readings
- **Part B (challenges):** Use dataset from end-of-chapter exercises
- Always confirm dataset choices with instructor
- Allow for alternative datasets based on specific lab needs
## Quality Standards
**Before finalizing any lab:**
- [ ] All code tested and functional in Google Colab
- [ ] Tuesday slide alignment verified
- [ ] Chapter reading integration confirmed
- [ ] 75-minute timing validated
- [ ] Part A/B balance appropriate (30 min / 35-40 min)
- [ ] Business context realistic and motivating
- [ ] TA guidance comprehensive with complete solutions
- [ ] All `[PLACEHOLDERS]` filled with specific content
- [ ] Colab badge updated with correct filename
- [ ] Learning objectives align with activities
## Reference Materials
For full pedagogical approach and lab development process, refer to:
- Base course profile: `intro-to-data-mining/course-profile.md`
- Lab template: Path specified above
- Usage guide: Path specified above

View File

@@ -0,0 +1,264 @@
# BANA 4080 Lab Template Guide
This guide provides the structure and requirements for creating Thursday lab notebooks for BANA 4080.
## Template Location
**File:** `/Users/b294776/Desktop/UC/uc-bana-4080/planning/templates/lab_notebook_template.ipynb`
**Usage Guide:** `/Users/b294776/Desktop/UC/uc-bana-4080/planning/templates/lab_template_usage_guide.md`
## Lab Structure (75 minutes)
### Header Section
- Week number and descriptive lab title
- Colab badge with correct filename
- Lab description and context (2-3 sentences)
- **Learning Objectives:** 3-4 specific, measurable outcomes starting with action verbs
- **This Lab Reinforces:** List of chapter/reading references
- **Estimated Time & Structure:** Clear breakdown with realistic time estimates
- **Why This Matters:** Business context and real-world relevance
### Setup Section
- Required imports (only necessary libraries)
- Data loading code
- Quick preview/verification of loaded data
### Part A: Guided Reinforcement (~30 minutes)
**Part 1** — [Section 1 Title] (Time estimate)
- Section description and context
- Subsection with explanation/instructions
- Step-by-step instructions (numbered)
- Code examples or starter code
- "🧠 Your Turn" exercise with tasks
- Empty code cell for practice
- "✅ Check Your Understanding" with questions and expected results
**Part 2** — [Section 2 Title] (Time estimate)
- Similar structure to Part 1
- Guided example with explanation
- Demonstration code
- "🧪 Practice Exercise" with business scenario
- Step-by-step approach
- Code cell for solution
**Class Discussion/Q&A** (5-10 minutes)
- Discussion prompts
- Common blockers and clarifications
### Part B: Independent Group Challenges (~35-40 minutes)
**Intro markdown:**
```markdown
For the next several challenges:
* You will not be given starter code
* **DO NOT USE AI** to generate code
* Work in groups of 2-4 students
* Feel free to ask questions or seek help from instructor
* We'll stop and walk through each challenge together after each time block
```
**Challenge 1** — [Title] (6-8 minutes)
- Business question
- Additional context if needed
- Empty code cell with comment: `# Your turn: write code here to [description]`
**Challenge 2** — [Title] (6-8 minutes)
- Business question
- Strategic hint (not code)
- Empty code cell
**Challenge 3-6** — Similar structure with progressive difficulty
### Optional Extension Activities
**Extension 1-2:** Advanced challenges for early finishers
**Extension 3:** "Brainstorm - What else is interesting?" with example questions
### Lab Wrap-Up & Reflection (3-5 minutes)
- **What You Accomplished:** List of accomplishments
- **Reflection Questions:** 2-3 metacognitive prompts
- **Connection to Course Goals:** How this lab connects to broader learning
- **Next Steps:** Homework reference, next week preview, optional resources
- Save your work instruction
### Troubleshooting & Common Issues
- Issue 1-3 with solutions
- General debugging tips
## Required Placeholders to Fill
All items in `[BRACKETS]` must be replaced:
| Placeholder | Example |
|-------------|---------|
| `[X]` | Week number (e.g., `6`) |
| `[LAB_TITLE]` | `Control Flow and Functions in Practice` |
| `[FILENAME]` | `06_wk6_lab` |
| `[LAB_DESCRIPTION_AND_CONTEXT]` | Description of what students will do |
| `[OBJECTIVE_1]` | `Write conditional statements for business logic` |
| `[Reading/Chapter Reference 1]` | `Chapter 7: Control Flow` |
| `[TIME_ESTIMATE]` | `15-20` |
| `[BUSINESS_CONTEXT_AND_REAL_WORLD_RELEVANCE]` | Why this matters in real work |
| `[SECTION_X_TITLE]` | Name of major section |
| `[SUBSECTION_X_TITLE]` | Name of subsection |
| `[EXPLANATION_OR_INSTRUCTIONS]` | Teaching content |
| `[STEP_X]` | Individual step in process |
| `[DESCRIPTIVE_COMMENT]` | What the code does |
| `[CODE_EXAMPLE_OR_STARTER]` | Actual code |
| `[EXERCISE_TITLE]` | Name of practice exercise |
| `[EXERCISE_DESCRIPTION]` | What students should do |
| `[TASK_X]` | Individual task |
| `[HELPFUL_HINT_IF_NEEDED]` | Strategic guidance |
| `[MINI_ASSESSMENT_OR_DISCUSSION_QUESTIONS]` | Comprehension check |
| `[QUESTION_X]` | Specific question |
| `[WHAT_STUDENTS_SHOULD_SEE]` | Expected output/result |
| `[CONCRETE_BUSINESS_EXAMPLE]` | Real scenario |
| `[DEMONSTRATION_CODE]` | Working example |
| `[REALISTIC_BUSINESS_CONTEXT]` | Business scenario for exercise |
| `[CLEAR_TASK_DESCRIPTION]` | What to accomplish |
| `[CHALLENGE_TITLE]` | Name of challenge |
| `[BUSINESS_QUESTION]` | Question to answer |
| `[ADDITIONAL_CONTEXT_IF_NEEDED]` | Extra info |
| `[CHALLENGE_DESCRIPTION]` | What the code should do |
| `[STRATEGIC_HINT_NOT_CODE]` | Approach guidance |
| `[EXTENSION_TITLE]` | Name of extension |
| `[ADVANCED_CHALLENGE_DESCRIPTION]` | Extension task |
| `[EXAMPLE_QUESTION_X]` | Sample brainstorm question |
| `[ACCOMPLISHMENT_X]` | What was learned |
| `[HOW_THIS_LAB_CONNECTS_TO_BROADER_LEARNING]` | Big picture |
| `[HOMEWORK_REFERENCE]` | Link to assignment |
| `[NEXT_WEEK_PREVIEW]` | What's coming |
| `[OPTIONAL_RESOURCES]` | Additional materials |
| `[SPECIFIC_SHARING_INSTRUCTIONS]` | How to share work |
| `[COMMON_PROBLEM]` | Issue students face |
| `[SOLUTION_APPROACH]` | How to fix |
| `[TIP_X]` | Debugging tip |
## Content Development Process
### Phase 1: Content Analysis
1. Review assigned chapter(s) for the week
2. Identify key concepts that need hands-on practice
3. Map concepts to Part A (guided) and Part B (challenges)
4. Define 3-4 specific learning objectives
### Phase 2: Part A Design (Guided Reinforcement)
- Systematically review key concepts from readings
- Provide hands-on practice with instructor guidance
- Include "Your Turn" exercises for immediate application
- Build confidence before independent work
**Principles:**
- Students follow along and execute code together
- Explain rationale and connect to business applications
- Multiple opportunities for questions
- Gradual release of responsibility
### Phase 3: Part B Design (Independent Challenges)
- Create 6 challenges with progressive difficulty
- Each challenge: clear business question, minimal code scaffolding
- Strategic hints rather than direct solutions
- Require integration of multiple concepts
**Principles:**
- Groups work collaboratively with minimal intervention
- Business context makes problems meaningful
- Different groups can progress at different paces
- No AI tools allowed - students write code themselves
### Phase 4: Dataset Selection
**Default Strategy:**
- Part A (guided): Primary dataset from chapter readings
- Part B (challenges): Dataset from end-of-chapter exercises
- Always confirm with instructor and allow alternatives
### Phase 5: Quality Validation
- [ ] All code tested in Google Colab
- [ ] Chapter alignment verified
- [ ] 75-minute timing realistic
- [ ] Part A/B balance appropriate (~30 min / ~35-40 min)
- [ ] Business context realistic
- [ ] Learning objectives align with activities
- [ ] All placeholders replaced
- [ ] Colab badge updated
## TA Guidance Requirements
Each lab requires a companion `ta_guidance_wkX.ipynb` with:
**Pre-Lab Preparation:**
- Learning objectives and key concepts overview
- Connection to readings
- Setup instructions and common issues
- Classroom management tips
**Part A Teaching Guidance:**
- Section-by-section instructions with timing
- Key concepts to emphasize
- Common student questions and responses
- Teaching strategies
**Part B Facilitation Guide:**
- Complete solutions for all 6 challenges
- Common difficulties and targeted hints
- When and how to provide assistance
- Pacing strategies
**Assessment and Wrap-up:**
- Key concepts to verify mastery
- Reflection questions
- Connection to upcoming content
- Troubleshooting guide
## Business Context Standards
Every concept and exercise must have clear business relevance:
- Real-world scenarios students can relate to
- Authentic business questions and problems
- Professional applications and use cases
- Connection to career skills
**Good examples:**
- Customer segmentation analysis
- Marketing campaign performance
- Retail transaction patterns
- Product recommendation systems
- Sales forecasting
**Avoid:**
- Abstract mathematical exercises without context
- Toy problems with no real-world connection
- Examples that don't relate to business analytics
## Common Lab Types by Week
**Weeks 1-3 (Fundamentals):**
- More guided examples, slower pacing
- Simple, clear-cut problems
- Accessible business scenarios
- Building basic confidence
**Weeks 4-6 (Skill Application):**
- Less guidance, more problem-solving
- Multi-step business problems
- Realistic data analysis scenarios
- Integration of concepts
**Weeks 7+ (Advanced Integration):**
- Open-ended exploration
- Complex, multi-faceted problems
- Comprehensive case studies
- Professional-level analysis
## Remember
- Labs directly reinforce Tuesday lecture concepts
- Based on weekly assigned chapter readings
- 75 minutes exactly with strategic time allocation
- Two-part structure: guided (30 min) + independent (35-40 min)
- Business context for everything
- No AI tools in Part B challenges
- Always create companion TA guidance notebook

View File

@@ -0,0 +1,14 @@
# BANA 6043 - Course Profile
**Course:** UC BANA 6043: Statistical Computing
**Level:** Graduate
**Base Profile:** statistical-computing
## Course Overview
This is the same course as "Statistical Computing" - all content, philosophy, and standards from that profile apply.
This profile serves as a mapping to enable course-builder commands to recognize "BANA 6043" as referring to the statistical-computing course profile.
For all content creation, refer to:
- Base course profile: `statistical-computing/course-profile.md`

View File

@@ -0,0 +1,14 @@
# BANA 7075 - Course Profile
**Course:** UC BANA 7075: ML in Business
**Level:** Graduate
**Base Profile:** ml-in-business
## Course Overview
This is the same course as "ML in Business" - all content, philosophy, and standards from that profile apply.
This profile serves as a mapping to enable course-builder commands to recognize "BANA 7075" as referring to the ml-in-business course profile.
For all content creation, refer to:
- Base course profile: `ml-in-business/course-profile.md`

View File

@@ -0,0 +1,238 @@
# Intro to Data Mining - Course Profile
**Course:** UC BANA 4080: Introduction to Data Mining with Python
**Instructor:** Brad Boehmke
## Audience
**Student Level:** Undergraduate (juniors/seniors)
**Background:**
- Business students with foundation in calculus, statistics, and possibly regression
- May have Excel experience and basic VBA exposure
- Variable programming backgrounds - many are complete coding beginners
- Understand business operations, customer behavior, and quantitative thinking
- Know how to think critically but lack experience turning theory into practice with code
**Prerequisites:**
- Quantitative methods and statistical inference courses
- No prior programming experience required or expected
- Course explicitly designed for beginners
**Key Challenge:** Bridging the gap between classroom theory and real-world data analysis
## Learning Philosophy
**Core Approach:** Hands-on, immersive learning through doing
**Key Principles:**
1. **Practice over theory** - Students learn by working with real, messy datasets
2. **Build confidence through action** - Focus on getting students comfortable with tools before perfection
3. **Close the theory-practice gap** - Move from "knowing concepts" to "applying skills"
4. **AI as assistant, not autopilot** - Use GenAI tools (ChatGPT, Claude, Copilot) to help learn, but emphasize understanding
5. **Collaborative learning** - Build community; encourage students to help each other
6. **Growth mindset** - Normalize struggle; coding is a new language that takes time
**Teaching Style:**
- Conversational, relatable tone (see intro chapter example)
- Use storytelling and scenarios (e.g., "Taylor the intern")
- Address student concerns directly (e.g., "Why learn this when AI exists?")
- Set realistic expectations about difficulty
- Encourage persistence and resilience
**Unique Aspects:**
- Explicitly addresses role of GenAI in learning process
- Balances AI assistance with foundational skill building
- Uses real-world business contexts students can relate to
## Technical Stack
**Core Environment:**
- **Python** (chosen for beginner-friendliness + professional power)
- **Jupyter Lab/Notebooks** (primary development environment)
- **Google Colab** (cloud-based option for students)
- **Quarto** (for textbook and slides)
- **Virtual environment** (venv for package management)
**Primary Libraries (Weeks 1-6):**
- **pandas** - data manipulation and DataFrames
- **numpy** - numerical computation
- **matplotlib** - basic visualization
- **seaborn** - statistical visualization
**Machine Learning Libraries (Weeks 8-13):**
- **scikit-learn** - all ML models and evaluation
**Additional Tools:**
- CSV/Excel file handling
- Basic SQL concepts (joins in pandas)
- Git/GitHub for assignment submission
**File Formats:**
- Quarto markdown (.qmd) for book chapters
- Jupyter notebooks (.ipynb) for examples, labs, homework
- Real datasets (CSV, Excel) in `/data/` directory
## Content Style
**Writing Style:**
- **Conversational and approachable** - Not dry or overly academic
- **Student-focused** - Addresses "you" directly
- **Motivational** - Builds confidence, normalizes struggle
- **Practical** - Always tied to real-world application
- **Honest** - Acknowledges difficulties, doesn't sugar-coat challenges
**Explanation Approach:**
1. **Start with WHY** - Motivate the topic before diving in
2. **Use analogies and stories** - Make abstract concepts concrete
3. **Show, don't just tell** - Working code examples over theory
4. **Progressive complexity** - Start simple, build gradually
5. **Address common questions** - Anticipate student concerns
**Examples:**
- Use **relatable business scenarios** (customer data, marketing analytics, retail transactions)
- Work with **messy, real-world datasets** (not clean, perfect examples)
- Include **visual aids** heavily (plots, diagrams, screenshots)
- Provide **executable code** that students can run and modify
**Pedagogical Elements:**
- **Callout boxes** for tips, warnings, reflections, and examples
- **Student reflection prompts** to encourage metacognition
- **Exercises** that build on chapter concepts
- **Code comments** that explain what's happening
- **Error messages and debugging guidance**
**Depth:**
- Prioritize **intuition over mathematical rigor**
- Show code implementation before heavy theory
- Balance "just enough math" with practical application
- Focus on **interpretation and application** over derivations
## Key Topics
**Module 1: Python Fundamentals (Week 1)**
- Course intro + motivation
- Variables, data types, basic operators
- Why Python? Why not just use AI?
- Setting up environment
**Module 2: Jupyter & Data Structures (Week 2)**
- Jupyter notebooks and reproducible workflows
- Lists, dictionaries, tuples
- Pandas introduction
- Importing CSV data
**Module 3: Data Wrangling (Week 3)**
- DataFrame manipulation
- Filtering and subsetting
- Aggregating data
- GroupBy operations
**Module 4: Advanced Data Manipulation (Week 4)**
- Working with dates and times
- String operations
- Relational data and joins (SQL-style in pandas)
- Merging DataFrames
**Module 5: Data Visualization (Week 5)**
- Matplotlib basics
- Seaborn for statistical plots
- Exploratory data analysis with visuals
- Best practices for effective visualization
**Module 6: Writing Efficient Code (Week 6)**
- Control flow (if/else, loops)
- Functions and modularity
- List comprehensions
- Code efficiency and readability
**Week 7: Midterm Project**
- Application of Modules 1-6
- Work with messy, real datasets
- Open-ended analysis problem
**Module 7: Machine Learning Intro (Week 8)**
- What is ML and when to use it?
- Train/test split
- Features and labels
- Model building process
**Module 8: Regression (Week 9)**
- Correlation analysis
- Linear regression with scikit-learn
- Model evaluation (R², RMSE)
- Interpretation
**Module 9: Classification (Week 10)**
- Logistic regression
- Classification metrics (accuracy, precision, recall, F1)
- Confusion matrices
- When to use classification vs regression
**Module 10: Tree-Based Models (Week 11)**
- Decision trees
- Random forests
- Feature importance
- Model interpretation
**Module 11: Model Optimization (Week 12)**
- Feature engineering
- Cross-validation
- Hyperparameter tuning (GridSearchCV)
- Model selection
**Module 12: Advanced Topics (Week 13)**
- Unsupervised learning (clustering, PCA)
- Deep learning overview
- Introduction to LLMs and GenAI concepts
**Week 14: Final Project**
- Comprehensive data science project
- Full pipeline from data cleaning to modeling
## Assessment Approach
**Grading Components:**
- **Labs** - Weekly hands-on activities (Thursdays)
- **Homework** - Applied assignments (with answer keys for instructor)
- **Midterm Project** - Comprehensive application of Modules 1-6
- **Final Project** - End-to-end data science project
- **Quizzes** - Knowledge checks (materials in `/planning/quizzes/`)
**Student Support:**
- Canvas discussion boards for peer collaboration
- Office hours
- Answer keys provided for labs and homework (instructor use)
- Multiple formats (notebook, HTML, PDF) for accessibility
**GenAI Policy:**
- **Encouraged** to use ChatGPT, Claude, Copilot as learning aids
- **Required** to understand code, not just copy it
- Emphasis on using AI to learn, not to avoid learning
- Students asked to reflect on AI tool use and limitations
**Project Structure:**
- Templates provided for major assignments
- Rubrics included in `/planning/projects/`
- Real-world datasets required
- Open-ended problems that require creative problem-solving
## Content Format
**Textbook:** Quarto book with modules 1-6 + appendices
**Slides:** Weekly presentations using Quarto + Reveal.js
**Examples:** Numbered sequence of Jupyter notebooks (01-17)
**Labs:** Weekly hands-on activities with answer keys
**Homework:** Individual assignments with solutions in multiple formats
**Datasets:** Real-world data in `/data/` directory (retail, airlines, housing, etc.)
## Course Materials Repository
All materials maintained in Git repository with structure:
- `/book/` - Textbook chapters
- `/slides/` - Weekly presentations
- `/example-notebooks/` - Companion code examples
- `/labs/` - Hands-on activities
- `/homework/` - Assignments
- `/data/` - Datasets
- `/planning/` - Instructor resources (Canvas docs, rubrics, quizzes)

View File

@@ -0,0 +1,25 @@
# ML in Business - Course Profile
**Status:** 🚧 Placeholder - To be filled from syllabus
## Audience
[To be filled: student level, background, prerequisites]
## Learning Philosophy
[To be filled: teaching approach, pedagogical style]
## Technical Stack
[To be filled: libraries, tools, environment]
## Content Style
[To be filled: explanation style, depth, examples]
## Key Topics
[To be filled: weekly or unit breakdown]
## Assessment Approach
[To be filled: how students are evaluated]
---
**Next step:** Provide the course syllabus to populate this profile.

View File

@@ -0,0 +1,25 @@
# Statistical Computing - Course Profile
**Status:** 🚧 Placeholder - To be filled from syllabus
## Audience
[To be filled: student level, background, prerequisites]
## Learning Philosophy
[To be filled: teaching approach, pedagogical style]
## Technical Stack
[To be filled: libraries, tools, environment]
## Content Style
[To be filled: explanation style, depth, examples]
## Key Topics
[To be filled: weekly or unit breakdown]
## Assessment Approach
[To be filled: how students are evaluated]
---
**Next step:** Provide the course syllabus to populate this profile.

View File

@@ -0,0 +1,118 @@
# Data Science Teaching Principles
General pedagogical principles for teaching data science, machine learning, AI, and MLOps.
## Core Teaching Philosophy
### 1. Hands-On Learning
Data science is learned by doing, not just reading:
- Provide working code examples
- Encourage experimentation and iteration
- Use real or realistic datasets
- Build confidence through successful execution
- Learn from errors and debugging
### 2. Visual Learning
Leverage visualizations to build intuition:
- Plot data before analyzing
- Visualize model behavior
- Show distributions and patterns
- Use interactive plots when possible
- Make abstract concepts concrete through visuals
### 3. Incremental Complexity
Build understanding step by step:
- Start with simple, concrete examples
- Introduce one concept at a time
- Build on previously learned material
- Avoid overwhelming with too many details upfront
- Progress from intuition to theory
### 4. Theory Meets Practice
Balance conceptual understanding with application:
- Explain why, not just how
- Connect math to code implementation
- Show real-world applications
- Validate theoretical concepts through code
- Make abstract concepts tangible
### 5. Active Learning
Engage students in the learning process:
- Include practice problems
- Design checkpoints for self-assessment
- Encourage exploration and "what if" questions
- Provide opportunities for discovery
- Foster experimentation
## Content Structure Guidelines
### For Chapters
1. **Start with motivation** - Why does this topic matter?
2. **Provide intuition** - Concrete examples before formalism
3. **Introduce concepts incrementally** - One idea at a time
4. **Show, don't just tell** - Working examples with code
5. **Practice and validate** - Exercises to reinforce learning
6. **Summarize and connect** - Key takeaways and next steps
### For Assessments
1. **Test understanding, not memorization** - Focus on concepts
2. **Include application problems** - Not just recall
3. **Mix question types** - Theory, code, interpretation
4. **Provide partial credit opportunities** - Show reasoning
5. **Include real-world scenarios** - Make it relevant
### For Notebooks
1. **Clear learning objectives** - What will students learn?
2. **Executable from top to bottom** - No hidden dependencies
3. **Mix explanation and code** - Interleave markdown and code cells
4. **Include validation** - Help students check their work
5. **Encourage exploration** - Provide extension opportunities
### For Slides
1. **One main idea per slide** - Don't overwhelm
2. **Visual over text** - Use diagrams and examples
3. **Live coding when possible** - Show the process
4. **Build complexity gradually** - Layer concepts
5. **Include discussion prompts** - Engage the audience
## Level Differentiation
### Undergraduate Students
- Assume less mathematical background
- Start with concrete before abstract
- Provide more scaffolding and structure
- Focus on intuition and practical application
- Use relatable, accessible examples
- Emphasize building confidence
### Graduate Students
- Can handle more mathematical rigor
- Expect understanding of prerequisites
- Include theoretical foundations
- Balance theory with implementation
- Use research and industry examples
- Encourage independence and depth
## Tool and Library Guidance
### Choosing the Right Tool
- **Beginners**: Start with high-level libraries (pandas, sklearn)
- **Intermediate**: Introduce lower-level concepts (numpy operations)
- **Advanced**: Implement from scratch to understand internals
### Code Quality
- Write clean, readable code
- Include comments explaining non-obvious parts
- Follow conventions (PEP 8 for Python)
- Show both "quick and dirty" and "production-quality" approaches when relevant
- Emphasize reproducibility
## Common Pitfalls to Avoid
1. **Math before intuition** - Build understanding first
2. **Too much at once** - Break down complex topics
3. **Passive learning** - Always include active elements
4. **Disconnected theory** - Link concepts to practice
5. **Ignoring prerequisites** - Know your audience
6. **One-size-fits-all** - Adapt to student level
7. **No real-world context** - Show why it matters