{"owner":"microsoft","repo":"ML-For-Beginners","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# AGENTS.md\n\n## Project Overview\n\nThis is **Machine Learning for Beginners**, a comprehensive 12-week, 26-lesson curriculum covering classic machine learning concepts using Python (primarily with Scikit-learn) and R. The repository is designed as a self-paced learning resource with hands-on projects, quizzes, and assignments. Each lesson explores ML concepts through real-world data from various cultures and regions worldwide.\n\nKey components:\n- **Educational Content**: 26 lessons covering introduction to ML, regression, classification, clustering, NLP, time series, and reinforcement learning\n- **Quiz Application**: Vue.js-based quiz app with pre- and post-lesson assessments\n- **Multi-language Support**: Automated translations to 40+ languages via GitHub Actions\n- **Dual Language Support**: Lessons available in both Python (Jupyter notebooks) and R (R Markdown files)\n- **Project-Based Learning**: Each topic includes practical projects and assignments\n\n## Repository Structure\n\n```\nML-For-Beginners/\n├── 1-Introduction/         # ML basics, history, fairness, techniques\n├── 2-Regression/          # Regression models with Python/R\n├── 3-Web-App/            # Flask web app for ML model deployment\n├── 4-Classification/      # Classification algorithms\n├── 5-Clustering/         # Clustering techniques\n├── 6-NLP/               # Natural Language Processing\n├── 7-TimeSeries/        # Time series forecasting\n├── 8-Reinforcement/     # Reinforcement learning\n├── 9-Real-World/        # Real-world ML applications\n├── quiz-app/           # Vue.js quiz application\n├── translations/       # Auto-generated translations\n└── sketchnotes/       # Visual learning aids\n```\n\nEach lesson folder typically contains:\n- `README.md` - Main lesson content\n- `notebook.ipynb` - Python Jupyter notebook\n- `solution/` - Solution code (Python and R versions)\n- `assignment.md` - Practice exercises\n- `images/` - Visual resources\n\n## Setup Commands\n\n### For Python Lessons\n\nMost lessons use Jupyter notebooks. Install required dependencies:\n\n```bash\n# Install Python 3.8+ if not already installed\npython --version\n\n# Install Jupyter\npip install jupyter\n\n# Install common ML libraries\npip install scikit-learn pandas numpy matplotlib seaborn\n\n# For specific lessons, check lesson-specific requirements\n# Example: Web App lesson\npip install flask\n```\n\n### For R Lessons\n\nR lessons are in `solution/R/` folders as `.rmd` or `.ipynb` files:\n\n```bash\n# Install R and required packages\n# In R console:\ninstall.packages(c(\"tidyverse\", \"tidymodels\", \"caret\"))\n```\n\n### For Quiz Application\n\nThe quiz app is a Vue.js application located in the `quiz-app/` directory:\n\n```bash\ncd quiz-app\nnpm install\n```\n\n### For Documentation Site\n\nTo run the documentation locally:\n\n```bash\n# Install Docsify\nnpm install -g docsify-cli\n\n# Serve from repository root\ndocsify serve\n\n# Access at http://localhost:3000\n```\n\n## Development Workflow\n\n### Working with Lesson Notebooks\n\n1. Navigate to the lesson directory (e.g., `2-Regression/1-Tools/`)\n2. Open the Jupyter notebook:\n   ```bash\n   jupyter notebook notebook.ipynb\n   ```\n3. Work through the lesson content and exercises\n4. Check solutions in the `solution/` folder if needed\n\n### Python Development\n\n- Lessons use standard Python data science libraries\n- Jupyter notebooks for interactive learning\n- Solution code available in each lesson's `solution/` folder\n\n### R Development\n\n- R lessons are in `.rmd` format (R Markdown)\n- Solutions located in `solution/R/` subdirectories\n- Use RStudio or Jupyter with R kernel to run R notebooks\n\n### Quiz Application Development\n\n```bash\ncd quiz-app\n\n# Start development server\nnpm run serve\n# Access at http://localhost:8080\n\n# Build for production\nnpm run build\n\n# Lint and fix files\nnpm run lint\n```\n\n## Testing Instructions\n\n### Quiz Application Testing\n\n```bash\ncd quiz-app\n\n# Lint code\nnpm run lint\n\n# Build to verify no errors\nnpm run build\n```\n\n**Note**: This is primarily an educational curriculum repository. There are no automated tests for lesson content. Validation is done through:\n- Completing lesson exercises\n- Running notebook cells successfully\n- Checking output against expected results in solutions\n\n## Code Style Guidelines\n\n### Python Code\n- Follow PEP 8 style guidelines\n- Use clear, descriptive variable names\n- Include comments for complex operations\n- Jupyter notebooks should have markdown cells explaining concepts\n\n### JavaScript/Vue.js (Quiz App)\n- Follows Vue.js style guide\n- ESLint configuration in `quiz-app/package.json`\n- Run `npm run lint` to check and auto-fix issues\n\n### Documentation\n- Markdown files should be clear and well-structured\n- Include code examples in fenced code blocks\n- Use relative links for internal references\n- Follow existing formatting conventions\n\n## Build and Deployment\n\n### Quiz Application Deployment\n\nThe quiz app can be deployed to Azure Static Web Apps:\n\n1. **Prerequisites**:\n   - Azure account\n   - GitHub repository (already forked)\n\n2. **Deploy to Azure**:\n   - Create Azure Static Web App resource\n   - Connect to GitHub repository\n   - Set app location: `/quiz-app`\n   - Set output location: `dist`\n   - Azure automatically creates GitHub Actions workflow\n\n3. **GitHub Actions Workflow**:\n   - Workflow file created at `.github/workflows/azure-static-web-apps-*.yml`\n   - Automatically builds and deploys on push to main branch\n\n### Documentation PDF\n\nGenerate PDF from documentation:\n\n```bash\nnpm install\nnpm run convert\n```\n\n## Translation Workflow\n\n**Important**: Translations are automated via GitHub Actions using Co-op Translator.\n\n- Translations are auto-generated when changes are pushed to `main` branch\n- **DO NOT manually translate content** - the system handles this\n- Workflow defined in `.github/workflows/co-op-translator.yml`\n- Uses Azure AI/OpenAI services for translation\n- Supports 40+ languages\n\n## Contributing Guidelines\n\n### For Content Contributors\n\n1. **Fork the repository** and create a feature branch\n2. **Make changes to lesson content** if adding/updating lessons\n3. **Do not modify translated files** - they are auto-generated\n4. **Test your code** - ensure all notebook cells run successfully\n5. **Verify links and images** work correctly\n6. **Submit a pull request** with clear description\n\n### Pull Request Guidelines\n\n- **Title format**: `[Section] Brief description of changes`\n  - Example: `[Regression] Fix typo in lesson 5`\n  - Example: `[Quiz-App] Update dependencies`\n- **Before submitting**:\n  - Ensure all notebook cells execute without errors\n  - Run `npm run lint` if modifying quiz-app\n  - Verify markdown formatting\n  - Test any new code examples\n- **PR must include**:\n  - Description of changes\n  - Reason for changes\n  - Screenshots if UI changes\n- **Code of Conduct**: Follow the [Microsoft Open Source Code of Conduct](CODE_OF_CONDUCT.md)\n- **CLA**: You will need to sign the Contributor License Agreement\n\n## Lesson Structure\n\nEach lesson follows a consistent pattern:\n\n1. **Pre-lecture quiz** - Test baseline knowledge\n2. **Lesson content** - Written instructions and explanations\n3. **Code demonstrations** - Hands-on examples in notebooks\n4. **Knowledge checks** - Verify understanding throughout\n5. **Challenge** - Apply concepts independently\n6. **Assignment** - Extended practice\n7. **Post-lecture quiz** - Assess learning outcomes\n\n## Common Commands Reference\n\n```bash\n# Python/Jupyter\njupyter notebook                    # Start Jupyter server\njupyter notebook notebook.ipynb     # Open specific notebook\npip install -r requirements.txt     # Install dependencies (where available)\n\n# Quiz App\ncd quiz-app\nnpm install                        # Install dependencies\nnpm run serve                      # Development server\nnpm run build                      # Production build\nnpm run lint                       # Lint and fix\n\n# Documentation\ndocsify serve                      # Serve documentation locally\nnpm run convert                    # Generate PDF\n\n# Git workflow\ngit checkout -b feature/my-change  # Create feature branch\ngit add .                         # Stage changes\ngit commit -m \"Description\"       # Commit changes\ngit push origin feature/my-change # Push to remote\n```\n\n## Additional Resources\n\n- **Microsoft Learn Collection**: [ML for Beginners modules](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)\n- **Quiz App**: [Online quizzes](https://ff-quizzes.netlify.app/en/ml/)\n- **Discussion Board**: [GitHub Discussions](https://github.com/microsoft/ML-For-Beginners/discussions)\n- **Video Walkthroughs**: [YouTube Playlist](https://aka.ms/ml-beginners-videos)\n\n## Key Technologies\n\n- **Python**: Primary language for ML lessons (Scikit-learn, Pandas, NumPy, Matplotlib)\n- **R**: Alternative implementation using tidyverse, tidymodels, caret\n- **Jupyter**: Interactive notebooks for Python lessons\n- **R Markdown**: Documents for R lessons\n- **Vue.js 3**: Quiz application framework\n- **Flask**: Web application framework for ML model deployment\n- **Docsify**: Documentation site generator\n- **GitHub Actions**: CI/CD and automated translations\n\n## Security Considerations\n\n- **No secrets in code**: Never commit API keys or credentials\n- **Dependencies**: Keep npm and pip packages updated\n- **User input**: Flask web app examples include basic input validation\n- **Sensitive data**: Example datasets are public and non-sensitive\n\n## Troubleshooting\n\n### Jupyter Notebooks\n\n- **Kernel issues**: Restart kernel if cells hang: Kernel → Restart\n- **Import errors**: Ensure all required packages are installed with pip\n- **Path issues**: Run notebooks from their containing directory\n\n### Quiz Application\n\n- **npm install fails**: Clear npm cache: `npm cache clean --force`\n- **Port conflicts**: Change port with: `npm run serve -- --port 8081`\n- **Build errors**: Delete `node_modules` and reinstall: `rm -rf node_modules && npm install`\n\n### R Lessons\n\n- **Package not found**: Install with: `install.packages(\"package-name\")`\n- **RMarkdown rendering**: Ensure rmarkdown package is installed\n- **Kernel issues**: May need to install IRkernel for Jupyter\n\n## Project-Specific Notes\n\n- This is primarily a **learning curriculum**, not production code\n- Focus is on **understanding ML concepts** through hands-on practice\n- Code examples prioritize **clarity over optimization**\n- Most lessons are **self-contained** and can be completed independently\n- **Solutions provided** but learners should attempt exercises first\n- Repository uses **Docsify** for web documentation without build step\n- **Sketchnotes** provide visual summaries of concepts\n- **Multi-language support** makes content globally accessible\n"},"files":{"AGENTS.md":"# AGENTS.md\n\n## Project Overview\n\nThis is **Machine Learning for Beginners**, a comprehensive 12-week, 26-lesson curriculum covering classic machine learning concepts using Python (primarily with Scikit-learn) and R. The repository is designed as a self-paced learning resource with hands-on projects, quizzes, and assignments. Each lesson explores ML concepts through real-world data from various cultures and regions worldwide.\n\nKey components:\n- **Educational Content**: 26 lessons covering introduction to ML, regression, classification, clustering, NLP, time series, and reinforcement learning\n- **Quiz Application**: Vue.js-based quiz app with pre- and post-lesson assessments\n- **Multi-language Support**: Automated translations to 40+ languages via GitHub Actions\n- **Dual Language Support**: Lessons available in both Python (Jupyter notebooks) and R (R Markdown files)\n- **Project-Based Learning**: Each topic includes practical projects and assignments\n\n## Repository Structure\n\n```\nML-For-Beginners/\n├── 1-Introduction/         # ML basics, history, fairness, techniques\n├── 2-Regression/          # Regression models with Python/R\n├── 3-Web-App/            # Flask web app for ML model deployment\n├── 4-Classification/      # Classification algorithms\n├── 5-Clustering/         # Clustering techniques\n├── 6-NLP/               # Natural Language Processing\n├── 7-TimeSeries/        # Time series forecasting\n├── 8-Reinforcement/     # Reinforcement learning\n├── 9-Real-World/        # Real-world ML applications\n├── quiz-app/           # Vue.js quiz application\n├── translations/       # Auto-generated translations\n└── sketchnotes/       # Visual learning aids\n```\n\nEach lesson folder typically contains:\n- `README.md` - Main lesson content\n- `notebook.ipynb` - Python Jupyter notebook\n- `solution/` - Solution code (Python and R versions)\n- `assignment.md` - Practice exercises\n- `images/` - Visual resources\n\n## Setup Commands\n\n### For Python Lessons\n\nMost lessons use Jupyter notebooks. Install required dependencies:\n\n```bash\n# Install Python 3.8+ if not already installed\npython --version\n\n# Install Jupyter\npip install jupyter\n\n# Install common ML libraries\npip install scikit-learn pandas numpy matplotlib seaborn\n\n# For specific lessons, check lesson-specific requirements\n# Example: Web App lesson\npip install flask\n```\n\n### For R Lessons\n\nR lessons are in `solution/R/` folders as `.rmd` or `.ipynb` files:\n\n```bash\n# Install R and required packages\n# In R console:\ninstall.packages(c(\"tidyverse\", \"tidymodels\", \"caret\"))\n```\n\n### For Quiz Application\n\nThe quiz app is a Vue.js application located in the `quiz-app/` directory:\n\n```bash\ncd quiz-app\nnpm install\n```\n\n### For Documentation Site\n\nTo run the documentation locally:\n\n```bash\n# Install Docsify\nnpm install -g docsify-cli\n\n# Serve from repository root\ndocsify serve\n\n# Access at http://localhost:3000\n```\n\n## Development Workflow\n\n### Working with Lesson Notebooks\n\n1. Navigate to the lesson directory (e.g., `2-Regression/1-Tools/`)\n2. Open the Jupyter notebook:\n   ```bash\n   jupyter notebook notebook.ipynb\n   ```\n3. Work through the lesson content and exercises\n4. Check solutions in the `solution/` folder if needed\n\n### Python Development\n\n- Lessons use standard Python data science libraries\n- Jupyter notebooks for interactive learning\n- Solution code available in each lesson's `solution/` folder\n\n### R Development\n\n- R lessons are in `.rmd` format (R Markdown)\n- Solutions located in `solution/R/` subdirectories\n- Use RStudio or Jupyter with R kernel to run R notebooks\n\n### Quiz Application Development\n\n```bash\ncd quiz-app\n\n# Start development server\nnpm run serve\n# Access at http://localhost:8080\n\n# Build for production\nnpm run build\n\n# Lint and fix files\nnpm run lint\n```\n\n## Testing Instructions\n\n### Quiz Application Testing\n\n```bash\ncd quiz-app\n\n# Lint code\nnpm run lint\n\n# Build to verify no errors\nnpm run build\n```\n\n**Note**: This is primarily an educational curriculum repository. There are no automated tests for lesson content. Validation is done through:\n- Completing lesson exercises\n- Running notebook cells successfully\n- Checking output against expected results in solutions\n\n## Code Style Guidelines\n\n### Python Code\n- Follow PEP 8 style guidelines\n- Use clear, descriptive variable names\n- Include comments for complex operations\n- Jupyter notebooks should have markdown cells explaining concepts\n\n### JavaScript/Vue.js (Quiz App)\n- Follows Vue.js style guide\n- ESLint configuration in `quiz-app/package.json`\n- Run `npm run lint` to check and auto-fix issues\n\n### Documentation\n- Markdown files should be clear and well-structured\n- Include code examples in fenced code blocks\n- Use relative links for internal references\n- Follow existing formatting conventions\n\n## Build and Deployment\n\n### Quiz Application Deployment\n\nThe quiz app can be deployed to Azure Static Web Apps:\n\n1. **Prerequisites**:\n   - Azure account\n   - GitHub repository (already forked)\n\n2. **Deploy to Azure**:\n   - Create Azure Static Web App resource\n   - Connect to GitHub repository\n   - Set app location: `/quiz-app`\n   - Set output location: `dist`\n   - Azure automatically creates GitHub Actions workflow\n\n3. **GitHub Actions Workflow**:\n   - Workflow file created at `.github/workflows/azure-static-web-apps-*.yml`\n   - Automatically builds and deploys on push to main branch\n\n### Documentation PDF\n\nGenerate PDF from documentation:\n\n```bash\nnpm install\nnpm run convert\n```\n\n## Translation Workflow\n\n**Important**: Translations are automated via GitHub Actions using Co-op Translator.\n\n- Translations are auto-generated when changes are pushed to `main` branch\n- **DO NOT manually translate content** - the system handles this\n- Workflow defined in `.github/workflows/co-op-translator.yml`\n- Uses Azure AI/OpenAI services for translation\n- Supports 40+ languages\n\n## Contributing Guidelines\n\n### For Content Contributors\n\n1. **Fork the repository** and create a feature branch\n2. **Make changes to lesson content** if adding/updating lessons\n3. **Do not modify translated files** - they are auto-generated\n4. **Test your code** - ensure all notebook cells run successfully\n5. **Verify links and images** work correctly\n6. **Submit a pull request** with clear description\n\n### Pull Request Guidelines\n\n- **Title format**: `[Section] Brief description of changes`\n  - Example: `[Regression] Fix typo in lesson 5`\n  - Example: `[Quiz-App] Update dependencies`\n- **Before submitting**:\n  - Ensure all notebook cells execute without errors\n  - Run `npm run lint` if modifying quiz-app\n  - Verify markdown formatting\n  - Test any new code examples\n- **PR must include**:\n  - Description of changes\n  - Reason for changes\n  - Screenshots if UI changes\n- **Code of Conduct**: Follow the [Microsoft Open Source Code of Conduct](CODE_OF_CONDUCT.md)\n- **CLA**: You will need to sign the Contributor License Agreement\n\n## Lesson Structure\n\nEach lesson follows a consistent pattern:\n\n1. **Pre-lecture quiz** - Test baseline knowledge\n2. **Lesson content** - Written instructions and explanations\n3. **Code demonstrations** - Hands-on examples in notebooks\n4. **Knowledge checks** - Verify understanding throughout\n5. **Challenge** - Apply concepts independently\n6. **Assignment** - Extended practice\n7. **Post-lecture quiz** - Assess learning outcomes\n\n## Common Commands Reference\n\n```bash\n# Python/Jupyter\njupyter notebook                    # Start Jupyter server\njupyter notebook notebook.ipynb     # Open specific notebook\npip install -r requirements.txt     # Install dependencies (where available)\n\n# Quiz App\ncd quiz-app\nnpm install                        # Install dependencies\nnpm run serve                      # Development server\nnpm run build                      # Production build\nnpm run lint                       # Lint and fix\n\n# Documentation\ndocsify serve                      # Serve documentation locally\nnpm run convert                    # Generate PDF\n\n# Git workflow\ngit checkout -b feature/my-change  # Create feature branch\ngit add .                         # Stage changes\ngit commit -m \"Description\"       # Commit changes\ngit push origin feature/my-change # Push to remote\n```\n\n## Additional Resources\n\n- **Microsoft Learn Collection**: [ML for Beginners modules](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)\n- **Quiz App**: [Online quizzes](https://ff-quizzes.netlify.app/en/ml/)\n- **Discussion Board**: [GitHub Discussions](https://github.com/microsoft/ML-For-Beginners/discussions)\n- **Video Walkthroughs**: [YouTube Playlist](https://aka.ms/ml-beginners-videos)\n\n## Key Technologies\n\n- **Python**: Primary language for ML lessons (Scikit-learn, Pandas, NumPy, Matplotlib)\n- **R**: Alternative implementation using tidyverse, tidymodels, caret\n- **Jupyter**: Interactive notebooks for Python lessons\n- **R Markdown**: Documents for R lessons\n- **Vue.js 3**: Quiz application framework\n- **Flask**: Web application framework for ML model deployment\n- **Docsify**: Documentation site generator\n- **GitHub Actions**: CI/CD and automated translations\n\n## Security Considerations\n\n- **No secrets in code**: Never commit API keys or credentials\n- **Dependencies**: Keep npm and pip packages updated\n- **User input**: Flask web app examples include basic input validation\n- **Sensitive data**: Example datasets are public and non-sensitive\n\n## Troubleshooting\n\n### Jupyter Notebooks\n\n- **Kernel issues**: Restart kernel if cells hang: Kernel → Restart\n- **Import errors**: Ensure all required packages are installed with pip\n- **Path issues**: Run notebooks from their containing directory\n\n### Quiz Application\n\n- **npm install fails**: Clear npm cache: `npm cache clean --force`\n- **Port conflicts**: Change port with: `npm run serve -- --port 8081`\n- **Build errors**: Delete `node_modules` and reinstall: `rm -rf node_modules && npm install`\n\n### R Lessons\n\n- **Package not found**: Install with: `install.packages(\"package-name\")`\n- **RMarkdown rendering**: Ensure rmarkdown package is installed\n- **Kernel issues**: May need to install IRkernel for Jupyter\n\n## Project-Specific Notes\n\n- This is primarily a **learning curriculum**, not production code\n- Focus is on **understanding ML concepts** through hands-on practice\n- Code examples prioritize **clarity over optimization**\n- Most lessons are **self-contained** and can be completed independently\n- **Solutions provided** but learners should attempt exercises first\n- Repository uses **Docsify** for web documentation without build step\n- **Sketchnotes** provide visual summaries of concepts\n- **Multi-language support** makes content globally accessible\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# AGENTS.md\n\n## Project Overview\n\nThis is **Machine Learning for Beginners**, a comprehensive 12-week, 26-lesson curriculum covering classic machine learning concepts using Python (primarily with Scikit-learn) and R. The repository is designed as a self-paced learning resource with hands-on projects, quizzes, and assignments. Each lesson explores ML concepts through real-world data from various cultures and regions worldwide.\n\nKey components:\n- **Educational Content**: 26 lessons covering introduction to ML, regression, classification, clustering, NLP, time series, and reinforcement learning\n- **Quiz Application**: Vue.js-based quiz app with pre- and post-lesson assessments\n- **Multi-language Support**: Automated translations to 40+ languages via GitHub Actions\n- **Dual Language Support**: Lessons available in both Python (Jupyter notebooks) and R (R Markdown files)\n- **Project-Based Learning**: Each topic includes practical projects and assignments\n\n## Repository Structure\n\n```\nML-For-Beginners/\n├── 1-Introduction/         # ML basics, history, fairness, techniques\n├── 2-Regression/          # Regression models with Python/R\n├── 3-Web-App/            # Flask web app for ML model deployment\n├── 4-Classification/      # Classification algorithms\n├── 5-Clustering/         # Clustering techniques\n├── 6-NLP/               # Natural Language Processing\n├── 7-TimeSeries/        # Time series forecasting\n├── 8-Reinforcement/     # Reinforcement learning\n├── 9-Real-World/        # Real-world ML applications\n├── quiz-app/           # Vue.js quiz application\n├── translations/       # Auto-generated translations\n└── sketchnotes/       # Visual learning aids\n```\n\nEach lesson folder typically contains:\n- `README.md` - Main lesson content\n- `notebook.ipynb` - Python Jupyter notebook\n- `solution/` - Solution code (Python and R versions)\n- `assignment.md` - Practice exercises\n- `images/` - Visual resources\n\n## Setup Commands\n\n### For Python Lessons\n\nMost lessons use Jupyter notebooks. Install required dependencies:\n\n```bash\n# Install Python 3.8+ if not already installed\npython --version\n\n# Install Jupyter\npip install jupyter\n\n# Install common ML libraries\npip install scikit-learn pandas numpy matplotlib seaborn\n\n# For specific lessons, check lesson-specific requirements\n# Example: Web App lesson\npip install flask\n```\n\n### For R Lessons\n\nR lessons are in `solution/R/` folders as `.rmd` or `.ipynb` files:\n\n```bash\n# Install R and required packages\n# In R console:\ninstall.packages(c(\"tidyverse\", \"tidymodels\", \"caret\"))\n```\n\n### For Quiz Application\n\nThe quiz app is a Vue.js application located in the `quiz-app/` directory:\n\n```bash\ncd quiz-app\nnpm install\n```\n\n### For Documentation Site\n\nTo run the documentation locally:\n\n```bash\n# Install Docsify\nnpm install -g docsify-cli\n\n# Serve from repository root\ndocsify serve\n\n# Access at http://localhost:3000\n```\n\n## Development Workflow\n\n### Working with Lesson Notebooks\n\n1. Navigate to the lesson directory (e.g., `2-Regression/1-Tools/`)\n2. Open the Jupyter notebook:\n   ```bash\n   jupyter notebook notebook.ipynb\n   ```\n3. Work through the lesson content and exercises\n4. Check solutions in the `solution/` folder if needed\n\n### Python Development\n\n- Lessons use standard Python data science libraries\n- Jupyter notebooks for interactive learning\n- Solution code available in each lesson's `solution/` folder\n\n### R Development\n\n- R lessons are in `.rmd` format (R Markdown)\n- Solutions located in `solution/R/` subdirectories\n- Use RStudio or Jupyter with R kernel to run R notebooks\n\n### Quiz Application Development\n\n```bash\ncd quiz-app\n\n# Start development server\nnpm run serve\n# Access at http://localhost:8080\n\n# Build for production\nnpm run build\n\n# Lint and fix files\nnpm run lint\n```\n\n## Testing Instructions\n\n### Quiz Application Testing\n\n```bash\ncd quiz-app\n\n# Lint code\nnpm run lint\n\n# Build to verify no errors\nnpm run build\n```\n\n**Note**: This is primarily an educational curriculum repository. There are no automated tests for lesson content. Validation is done through:\n- Completing lesson exercises\n- Running notebook cells successfully\n- Checking output against expected results in solutions\n\n## Code Style Guidelines\n\n### Python Code\n- Follow PEP 8 style guidelines\n- Use clear, descriptive variable names\n- Include comments for complex operations\n- Jupyter notebooks should have markdown cells explaining concepts\n\n### JavaScript/Vue.js (Quiz App)\n- Follows Vue.js style guide\n- ESLint configuration in `quiz-app/package.json`\n- Run `npm run lint` to check and auto-fix issues\n\n### Documentation\n- Markdown files should be clear and well-structured\n- Include code examples in fenced code blocks\n- Use relative links for internal references\n- Follow existing formatting conventions\n\n## Build and Deployment\n\n### Quiz Application Deployment\n\nThe quiz app can be deployed to Azure Static Web Apps:\n\n1. **Prerequisites**:\n   - Azure account\n   - GitHub repository (already forked)\n\n2. **Deploy to Azure**:\n   - Create Azure Static Web App resource\n   - Connect to GitHub repository\n   - Set app location: `/quiz-app`\n   - Set output location: `dist`\n   - Azure automatically creates GitHub Actions workflow\n\n3. **GitHub Actions Workflow**:\n   - Workflow file created at `.github/workflows/azure-static-web-apps-*.yml`\n   - Automatically builds and deploys on push to main branch\n\n### Documentation PDF\n\nGenerate PDF from documentation:\n\n```bash\nnpm install\nnpm run convert\n```\n\n## Translation Workflow\n\n**Important**: Translations are automated via GitHub Actions using Co-op Translator.\n\n- Translations are auto-generated when changes are pushed to `main` branch\n- **DO NOT manually translate content** - the system handles this\n- Workflow defined in `.github/workflows/co-op-translator.yml`\n- Uses Azure AI/OpenAI services for translation\n- Supports 40+ languages\n\n## Contributing Guidelines\n\n### For Content Contributors\n\n1. **Fork the repository** and create a feature branch\n2. **Make changes to lesson content** if adding/updating lessons\n3. **Do not modify translated files** - they are auto-generated\n4. **Test your code** - ensure all notebook cells run successfully\n5. **Verify links and images** work correctly\n6. **Submit a pull request** with clear description\n\n### Pull Request Guidelines\n\n- **Title format**: `[Section] Brief description of changes`\n  - Example: `[Regression] Fix typo in lesson 5`\n  - Example: `[Quiz-App] Update dependencies`\n- **Before submitting**:\n  - Ensure all notebook cells execute without errors\n  - Run `npm run lint` if modifying quiz-app\n  - Verify markdown formatting\n  - Test any new code examples\n- **PR must include**:\n  - Description of changes\n  - Reason for changes\n  - Screenshots if UI changes\n- **Code of Conduct**: Follow the [Microsoft Open Source Code of Conduct](CODE_OF_CONDUCT.md)\n- **CLA**: You will need to sign the Contributor License Agreement\n\n## Lesson Structure\n\nEach lesson follows a consistent pattern:\n\n1. **Pre-lecture quiz** - Test baseline knowledge\n2. **Lesson content** - Written instructions and explanations\n3. **Code demonstrations** - Hands-on examples in notebooks\n4. **Knowledge checks** - Verify understanding throughout\n5. **Challenge** - Apply concepts independently\n6. **Assignment** - Extended practice\n7. **Post-lecture quiz** - Assess learning outcomes\n\n## Common Commands Reference\n\n```bash\n# Python/Jupyter\njupyter notebook                    # Start Jupyter server\njupyter notebook notebook.ipynb     # Open specific notebook\npip install -r requirements.txt     # Install dependencies (where available)\n\n# Quiz App\ncd quiz-app\nnpm install                        # Install dependencies\nnpm run serve                      # Development server\nnpm run build                      # Production build\nnpm run lint                       # Lint and fix\n\n# Documentation\ndocsify serve                      # Serve documentation locally\nnpm run convert                    # Generate PDF\n\n# Git workflow\ngit checkout -b feature/my-change  # Create feature branch\ngit add .                         # Stage changes\ngit commit -m \"Description\"       # Commit changes\ngit push origin feature/my-change # Push to remote\n```\n\n## Additional Resources\n\n- **Microsoft Learn Collection**: [ML for Beginners modules](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)\n- **Quiz App**: [Online quizzes](https://ff-quizzes.netlify.app/en/ml/)\n- **Discussion Board**: [GitHub Discussions](https://github.com/microsoft/ML-For-Beginners/discussions)\n- **Video Walkthroughs**: [YouTube Playlist](https://aka.ms/ml-beginners-videos)\n\n## Key Technologies\n\n- **Python**: Primary language for ML lessons (Scikit-learn, Pandas, NumPy, Matplotlib)\n- **R**: Alternative implementation using tidyverse, tidymodels, caret\n- **Jupyter**: Interactive notebooks for Python lessons\n- **R Markdown**: Documents for R lessons\n- **Vue.js 3**: Quiz application framework\n- **Flask**: Web application framework for ML model deployment\n- **Docsify**: Documentation site generator\n- **GitHub Actions**: CI/CD and automated translations\n\n## Security Considerations\n\n- **No secrets in code**: Never commit API keys or credentials\n- **Dependencies**: Keep npm and pip packages updated\n- **User input**: Flask web app examples include basic input validation\n- **Sensitive data**: Example datasets are public and non-sensitive\n\n## Troubleshooting\n\n### Jupyter Notebooks\n\n- **Kernel issues**: Restart kernel if cells hang: Kernel → Restart\n- **Import errors**: Ensure all required packages are installed with pip\n- **Path issues**: Run notebooks from their containing directory\n\n### Quiz Application\n\n- **npm install fails**: Clear npm cache: `npm cache clean --force`\n- **Port conflicts**: Change port with: `npm run serve -- --port 8081`\n- **Build errors**: Delete `node_modules` and reinstall: `rm -rf node_modules && npm install`\n\n### R Lessons\n\n- **Package not found**: Install with: `install.packages(\"package-name\")`\n- **RMarkdown rendering**: Ensure rmarkdown package is installed\n- **Kernel issues**: May need to install IRkernel for Jupyter\n\n## Project-Specific Notes\n\n- This is primarily a **learning curriculum**, not production code\n- Focus is on **understanding ML concepts** through hands-on practice\n- Code examples prioritize **clarity over optimization**\n- Most lessons are **self-contained** and can be completed independently\n- **Solutions provided** but learners should attempt exercises first\n- Repository uses **Docsify** for web documentation without build step\n- **Sketchnotes** provide visual summaries of concepts\n- **Multi-language support** makes content globally accessible\n","category":"root","tokens":2672}]}