{"owner":"microsoft","repo":"Data-Science-For-Beginners","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# AGENTS.md\n\n## Project Overview\n\nData Science for Beginners is a comprehensive 10-week, 20-lesson curriculum created by Microsoft Azure Cloud Advocates. The repository is a learning resource that teaches foundational data science concepts through project-based lessons, including Jupyter notebooks, interactive quizzes, and hands-on assignments.\n\n**Key Technologies:**\n- **Jupyter Notebooks**: Primary learning medium using Python 3\n- **Python Libraries**: pandas, numpy, matplotlib for data analysis and visualization\n- **Vue.js 2**: Quiz application (quiz-app folder)\n- **Docsify**: Documentation site generator for offline access\n- **Node.js/npm**: Package management for JavaScript components\n- **Markdown**: All lesson content and documentation\n\n**Architecture:**\n- Multi-language educational repository with extensive translations\n- Structured into lesson modules (1-Introduction through 6-Data-Science-In-Wild)\n- Each lesson includes README, notebooks, assignments, and quizzes\n- Standalone Vue.js quiz application for pre/post-lesson assessments\n- GitHub Codespaces and VS Code dev containers support\n\n## Setup Commands\n\n### Repository Setup\n```bash\n# Clone the repository (if not already cloned)\ngit clone https://github.com/microsoft/Data-Science-For-Beginners.git\ncd Data-Science-For-Beginners\n```\n\n### Python Environment Setup\n```bash\n# Create a virtual environment (recommended)\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install common data science libraries (no requirements.txt exists)\npip install jupyter pandas numpy matplotlib seaborn scikit-learn\n```\n\n### Quiz Application Setup\n```bash\n# Navigate to quiz app\ncd quiz-app\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run serve\n\n# Build for production\nnpm run build\n\n# Lint and fix files\nnpm run lint\n```\n\n### Docsify Documentation Server\n```bash\n# Install Docsify globally\nnpm install -g docsify-cli\n\n# Serve documentation locally\ndocsify serve\n\n# Documentation will be available at localhost:3000\n```\n\n### Visualization Projects Setup\nFor visualization projects like meaningful-visualizations (lesson 13):\n```bash\n# Navigate to starter or solution folder\ncd 3-Data-Visualization/13-meaningful-visualizations/starter\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run serve\n\n# Build for production\nnpm run build\n\n# Lint files\nnpm run lint\n```\n\n## Development Workflow\n\n### Working with Jupyter Notebooks\n1. Start Jupyter in the repository root: `jupyter notebook`\n2. Navigate to the desired lesson folder\n3. Open `.ipynb` files to work through exercises\n4. Notebooks are self-contained with explanations and code cells\n5. Most notebooks use pandas, numpy, and matplotlib - ensure these are installed\n\n### Lesson Structure\nEach lesson typically contains:\n- `README.md` - Main lesson content with theory and examples\n- `notebook.ipynb` - Hands-on Jupyter notebook exercises\n- `assignment.ipynb` or `assignment.md` - Practice assignments\n- `solution/` folder - Solution notebooks and code\n- `images/` folder - Supporting visual materials\n\n### Quiz Application Development\n- Vue.js 2 application with hot-reload during development\n- Quizzes stored in `quiz-app/src/assets/translations/`\n- Each language has its own translation folder (en, fr, es, etc.)\n- Quiz numbering starts at 0 and goes up to 39 (40 quizzes total)\n\n### Adding Translations\n- Translations go in `translations/` folder at repository root\n- Each language has complete lesson structure mirrored from English\n- Automated translation via GitHub Actions (co-op-translator.yml)\n\n## Testing Instructions\n\n### Quiz Application Testing\n```bash\ncd quiz-app\n\n# Run lint checks\nnpm run lint\n\n# Test build process\nnpm run build\n\n# Manual testing: Start dev server and verify quiz functionality\nnpm run serve\n```\n\n### Notebook Testing\n- No automated test framework exists for notebooks\n- Manual validation: Run all cells in sequence to ensure no errors\n- Verify data files are accessible and outputs are generated correctly\n- Check that visualizations render properly\n\n### Documentation Testing\n```bash\n# Verify Docsify renders correctly\ndocsify serve\n\n# Check for broken links manually by navigating through content\n# Verify all lesson links work in the rendered documentation\n```\n\n### Code Quality Checks\n```bash\n# Vue.js projects (quiz-app and visualization projects)\ncd quiz-app  # or visualization project folder\nnpm run lint\n\n# Python notebooks - manual verification recommended\n# Ensure imports work and cells execute without errors\n```\n\n## Code Style Guidelines\n\n### Python (Jupyter Notebooks)\n- Follow PEP 8 style guidelines for Python code\n- Use clear variable names that explain the data being analyzed\n- Include markdown cells with explanations before code cells\n- Keep code cells focused on single concepts or operations\n- Use pandas for data manipulation, matplotlib for visualization\n- Common import pattern:\n  ```python\n  import pandas as pd\n  import numpy as np\n  import matplotlib.pyplot as plt\n  ```\n\n### JavaScript/Vue.js\n- Follow Vue.js 2 style guide and best practices\n- ESLint configuration in `quiz-app/package.json`\n- Use Vue single-file components (.vue files)\n- Maintain component-based architecture\n- Run `npm run lint` before committing changes\n\n### Markdown Documentation\n- Use clear headings hierarchy (# ## ### etc.)\n- Include code blocks with language specifiers\n- Add alt text for images\n- Link to related lessons and resources\n- Keep line lengths reasonable for readability\n\n### File Organization\n- Lesson content in numbered folders (01-defining-data-science, etc.)\n- Solutions in dedicated `solution/` subfolders\n- Translations mirror English structure in `translations/` folder\n- Keep data files in `data/` or lesson-specific folders\n\n## Build and Deployment\n\n### Quiz Application Deployment\n```bash\ncd quiz-app\n\n# Build production version\nnpm run build\n\n# Output is in dist/ folder\n# Deploy dist/ folder to static hosting (Azure Static Web Apps, Netlify, etc.)\n```\n\n### Azure Static Web Apps Deployment\nThe quiz-app can be deployed to Azure Static Web Apps:\n1. Create Azure Static Web App resource\n2. Connect to GitHub repository\n3. Configure build settings:\n   - App location: `quiz-app`\n   - Output location: `dist`\n4. GitHub Actions workflow will auto-deploy on push\n\n### Documentation Site\n```bash\n# Build PDF from Docsify (optional)\nnpm run convert\n\n# Docsify documentation is served directly from markdown files\n# No build step required for deployment\n# Deploy repository to static hosting with Docsify\n```\n\n### GitHub Codespaces\n- Repository includes dev container configuration\n- Codespaces automatically sets up Python and Node.js environment\n- Open repository in Codespace via GitHub UI\n- All dependencies install automatically\n\n## Pull Request Guidelines\n\n### Before Submitting\n```bash\n# For Vue.js changes in quiz-app\ncd quiz-app\nnpm run lint\nnpm run build\n\n# Test changes locally\nnpm run serve\n```\n\n### PR Title Format\n- Use clear, descriptive titles\n- Format: `[Component] Brief description`\n- Examples:\n  - `[Lesson 7] Fix Python notebook import error`\n  - `[Quiz App] Add German translation`\n  - `[Docs] Update README with new prerequisites`\n\n### Required Checks\n- Ensure all code runs without errors\n- Verify notebooks execute completely\n- Confirm Vue.js apps build successfully\n- Check that documentation links work\n- Test quiz application if modified\n- Verify translations maintain consistent structure\n\n### Contribution Guidelines\n- Follow existing code style and patterns\n- Add explanatory comments for complex logic\n- Update relevant documentation\n- Test changes across different lesson modules if applicable\n- Review the CONTRIBUTING.md file\n\n## Additional Notes\n\n### Common Libraries Used\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computing\n- **matplotlib**: Data visualization and plotting\n- **seaborn**: Statistical data visualization (some lessons)\n- **scikit-learn**: Machine learning (advanced lessons)\n\n### Working with Data Files\n- Data files located in `data/` folder or lesson-specific directories\n- Most notebooks expect data files in relative paths\n- CSV files are primary data format\n- Some lessons use JSON for non-relational data examples\n\n### Multilingual Support\n- 40+ language translations via automated GitHub Actions\n- Translation workflow in `.github/workflows/co-op-translator.yml`\n- Translations in `translations/` folder with language codes\n- Quiz translations in `quiz-app/src/assets/translations/`\n\n### Development Environment Options\n1. **Local Development**: Install Python, Jupyter, Node.js locally\n2. **GitHub Codespaces**: Cloud-based instant development environment\n3. **VS Code Dev Containers**: Local container-based development\n4. **Binder**: Launch notebooks in cloud (if configured)\n\n### Lesson Content Guidelines\n- Each lesson is standalone but builds on previous concepts\n- Pre-lesson quizzes test prior knowledge\n- Post-lesson quizzes reinforce learning\n- Assignments provide hands-on practice\n- Sketchnotes provide visual summaries\n\n### Troubleshooting Common Issues\n\n**Jupyter Kernel Issues:**\n```bash\n# Ensure correct kernel is installed\npython -m ipykernel install --user --name=datascience\n```\n\n**npm Install Failures:**\n```bash\n# Clear npm cache and retry\nnpm cache clean --force\nrm -rf node_modules package-lock.json\nnpm install\n```\n\n**Import Errors in Notebooks:**\n- Verify all required libraries are installed\n- Check Python version compatibility (Python 3.7+ recommended)\n- Ensure virtual environment is activated\n\n**Docsify Not Loading:**\n- Verify you're serving from repository root\n- Check that `index.html` exists\n- Ensure proper network access (port 3000)\n\n### Performance Considerations\n- Large datasets may take time to load in notebooks\n- Visualization rendering can be slow for complex plots\n- Vue.js dev server enables hot-reload for quick iteration\n- Production builds are optimized and minified\n\n### Security Notes\n- No sensitive data or credentials should be committed\n- Use environment variables for any API keys in cloud lessons\n- Azure-related lessons may require Azure account credentials\n- Keep dependencies updated for security patches\n\n## Contributing to Translations\n- Automated translations managed via GitHub Actions\n- Manual corrections welcomed for translation accuracy\n- Follow existing translation folder structure\n- Update quiz links to include language parameter: `?loc=fr`\n- Test translated lessons for proper rendering\n\n## Related Resources\n- Main curriculum: https://aka.ms/datascience-beginners\n- Microsoft Learn: https://docs.microsoft.com/learn/\n- Student Hub: https://docs.microsoft.com/learn/student-hub\n- Discussion Forum: https://github.com/microsoft/Data-Science-For-Beginners/discussions\n- Other Microsoft curricula: ML for Beginners, AI for Beginners, Web Dev for Beginners\n\n## Project Maintenance\n- Regular updates to keep content current\n- Community contributions welcome\n- Issues tracked on GitHub\n- PRs reviewed by curriculum maintainers\n- Monthly content reviews and updates\n"},"files":{"AGENTS.md":"# AGENTS.md\n\n## Project Overview\n\nData Science for Beginners is a comprehensive 10-week, 20-lesson curriculum created by Microsoft Azure Cloud Advocates. The repository is a learning resource that teaches foundational data science concepts through project-based lessons, including Jupyter notebooks, interactive quizzes, and hands-on assignments.\n\n**Key Technologies:**\n- **Jupyter Notebooks**: Primary learning medium using Python 3\n- **Python Libraries**: pandas, numpy, matplotlib for data analysis and visualization\n- **Vue.js 2**: Quiz application (quiz-app folder)\n- **Docsify**: Documentation site generator for offline access\n- **Node.js/npm**: Package management for JavaScript components\n- **Markdown**: All lesson content and documentation\n\n**Architecture:**\n- Multi-language educational repository with extensive translations\n- Structured into lesson modules (1-Introduction through 6-Data-Science-In-Wild)\n- Each lesson includes README, notebooks, assignments, and quizzes\n- Standalone Vue.js quiz application for pre/post-lesson assessments\n- GitHub Codespaces and VS Code dev containers support\n\n## Setup Commands\n\n### Repository Setup\n```bash\n# Clone the repository (if not already cloned)\ngit clone https://github.com/microsoft/Data-Science-For-Beginners.git\ncd Data-Science-For-Beginners\n```\n\n### Python Environment Setup\n```bash\n# Create a virtual environment (recommended)\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install common data science libraries (no requirements.txt exists)\npip install jupyter pandas numpy matplotlib seaborn scikit-learn\n```\n\n### Quiz Application Setup\n```bash\n# Navigate to quiz app\ncd quiz-app\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run serve\n\n# Build for production\nnpm run build\n\n# Lint and fix files\nnpm run lint\n```\n\n### Docsify Documentation Server\n```bash\n# Install Docsify globally\nnpm install -g docsify-cli\n\n# Serve documentation locally\ndocsify serve\n\n# Documentation will be available at localhost:3000\n```\n\n### Visualization Projects Setup\nFor visualization projects like meaningful-visualizations (lesson 13):\n```bash\n# Navigate to starter or solution folder\ncd 3-Data-Visualization/13-meaningful-visualizations/starter\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run serve\n\n# Build for production\nnpm run build\n\n# Lint files\nnpm run lint\n```\n\n## Development Workflow\n\n### Working with Jupyter Notebooks\n1. Start Jupyter in the repository root: `jupyter notebook`\n2. Navigate to the desired lesson folder\n3. Open `.ipynb` files to work through exercises\n4. Notebooks are self-contained with explanations and code cells\n5. Most notebooks use pandas, numpy, and matplotlib - ensure these are installed\n\n### Lesson Structure\nEach lesson typically contains:\n- `README.md` - Main lesson content with theory and examples\n- `notebook.ipynb` - Hands-on Jupyter notebook exercises\n- `assignment.ipynb` or `assignment.md` - Practice assignments\n- `solution/` folder - Solution notebooks and code\n- `images/` folder - Supporting visual materials\n\n### Quiz Application Development\n- Vue.js 2 application with hot-reload during development\n- Quizzes stored in `quiz-app/src/assets/translations/`\n- Each language has its own translation folder (en, fr, es, etc.)\n- Quiz numbering starts at 0 and goes up to 39 (40 quizzes total)\n\n### Adding Translations\n- Translations go in `translations/` folder at repository root\n- Each language has complete lesson structure mirrored from English\n- Automated translation via GitHub Actions (co-op-translator.yml)\n\n## Testing Instructions\n\n### Quiz Application Testing\n```bash\ncd quiz-app\n\n# Run lint checks\nnpm run lint\n\n# Test build process\nnpm run build\n\n# Manual testing: Start dev server and verify quiz functionality\nnpm run serve\n```\n\n### Notebook Testing\n- No automated test framework exists for notebooks\n- Manual validation: Run all cells in sequence to ensure no errors\n- Verify data files are accessible and outputs are generated correctly\n- Check that visualizations render properly\n\n### Documentation Testing\n```bash\n# Verify Docsify renders correctly\ndocsify serve\n\n# Check for broken links manually by navigating through content\n# Verify all lesson links work in the rendered documentation\n```\n\n### Code Quality Checks\n```bash\n# Vue.js projects (quiz-app and visualization projects)\ncd quiz-app  # or visualization project folder\nnpm run lint\n\n# Python notebooks - manual verification recommended\n# Ensure imports work and cells execute without errors\n```\n\n## Code Style Guidelines\n\n### Python (Jupyter Notebooks)\n- Follow PEP 8 style guidelines for Python code\n- Use clear variable names that explain the data being analyzed\n- Include markdown cells with explanations before code cells\n- Keep code cells focused on single concepts or operations\n- Use pandas for data manipulation, matplotlib for visualization\n- Common import pattern:\n  ```python\n  import pandas as pd\n  import numpy as np\n  import matplotlib.pyplot as plt\n  ```\n\n### JavaScript/Vue.js\n- Follow Vue.js 2 style guide and best practices\n- ESLint configuration in `quiz-app/package.json`\n- Use Vue single-file components (.vue files)\n- Maintain component-based architecture\n- Run `npm run lint` before committing changes\n\n### Markdown Documentation\n- Use clear headings hierarchy (# ## ### etc.)\n- Include code blocks with language specifiers\n- Add alt text for images\n- Link to related lessons and resources\n- Keep line lengths reasonable for readability\n\n### File Organization\n- Lesson content in numbered folders (01-defining-data-science, etc.)\n- Solutions in dedicated `solution/` subfolders\n- Translations mirror English structure in `translations/` folder\n- Keep data files in `data/` or lesson-specific folders\n\n## Build and Deployment\n\n### Quiz Application Deployment\n```bash\ncd quiz-app\n\n# Build production version\nnpm run build\n\n# Output is in dist/ folder\n# Deploy dist/ folder to static hosting (Azure Static Web Apps, Netlify, etc.)\n```\n\n### Azure Static Web Apps Deployment\nThe quiz-app can be deployed to Azure Static Web Apps:\n1. Create Azure Static Web App resource\n2. Connect to GitHub repository\n3. Configure build settings:\n   - App location: `quiz-app`\n   - Output location: `dist`\n4. GitHub Actions workflow will auto-deploy on push\n\n### Documentation Site\n```bash\n# Build PDF from Docsify (optional)\nnpm run convert\n\n# Docsify documentation is served directly from markdown files\n# No build step required for deployment\n# Deploy repository to static hosting with Docsify\n```\n\n### GitHub Codespaces\n- Repository includes dev container configuration\n- Codespaces automatically sets up Python and Node.js environment\n- Open repository in Codespace via GitHub UI\n- All dependencies install automatically\n\n## Pull Request Guidelines\n\n### Before Submitting\n```bash\n# For Vue.js changes in quiz-app\ncd quiz-app\nnpm run lint\nnpm run build\n\n# Test changes locally\nnpm run serve\n```\n\n### PR Title Format\n- Use clear, descriptive titles\n- Format: `[Component] Brief description`\n- Examples:\n  - `[Lesson 7] Fix Python notebook import error`\n  - `[Quiz App] Add German translation`\n  - `[Docs] Update README with new prerequisites`\n\n### Required Checks\n- Ensure all code runs without errors\n- Verify notebooks execute completely\n- Confirm Vue.js apps build successfully\n- Check that documentation links work\n- Test quiz application if modified\n- Verify translations maintain consistent structure\n\n### Contribution Guidelines\n- Follow existing code style and patterns\n- Add explanatory comments for complex logic\n- Update relevant documentation\n- Test changes across different lesson modules if applicable\n- Review the CONTRIBUTING.md file\n\n## Additional Notes\n\n### Common Libraries Used\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computing\n- **matplotlib**: Data visualization and plotting\n- **seaborn**: Statistical data visualization (some lessons)\n- **scikit-learn**: Machine learning (advanced lessons)\n\n### Working with Data Files\n- Data files located in `data/` folder or lesson-specific directories\n- Most notebooks expect data files in relative paths\n- CSV files are primary data format\n- Some lessons use JSON for non-relational data examples\n\n### Multilingual Support\n- 40+ language translations via automated GitHub Actions\n- Translation workflow in `.github/workflows/co-op-translator.yml`\n- Translations in `translations/` folder with language codes\n- Quiz translations in `quiz-app/src/assets/translations/`\n\n### Development Environment Options\n1. **Local Development**: Install Python, Jupyter, Node.js locally\n2. **GitHub Codespaces**: Cloud-based instant development environment\n3. **VS Code Dev Containers**: Local container-based development\n4. **Binder**: Launch notebooks in cloud (if configured)\n\n### Lesson Content Guidelines\n- Each lesson is standalone but builds on previous concepts\n- Pre-lesson quizzes test prior knowledge\n- Post-lesson quizzes reinforce learning\n- Assignments provide hands-on practice\n- Sketchnotes provide visual summaries\n\n### Troubleshooting Common Issues\n\n**Jupyter Kernel Issues:**\n```bash\n# Ensure correct kernel is installed\npython -m ipykernel install --user --name=datascience\n```\n\n**npm Install Failures:**\n```bash\n# Clear npm cache and retry\nnpm cache clean --force\nrm -rf node_modules package-lock.json\nnpm install\n```\n\n**Import Errors in Notebooks:**\n- Verify all required libraries are installed\n- Check Python version compatibility (Python 3.7+ recommended)\n- Ensure virtual environment is activated\n\n**Docsify Not Loading:**\n- Verify you're serving from repository root\n- Check that `index.html` exists\n- Ensure proper network access (port 3000)\n\n### Performance Considerations\n- Large datasets may take time to load in notebooks\n- Visualization rendering can be slow for complex plots\n- Vue.js dev server enables hot-reload for quick iteration\n- Production builds are optimized and minified\n\n### Security Notes\n- No sensitive data or credentials should be committed\n- Use environment variables for any API keys in cloud lessons\n- Azure-related lessons may require Azure account credentials\n- Keep dependencies updated for security patches\n\n## Contributing to Translations\n- Automated translations managed via GitHub Actions\n- Manual corrections welcomed for translation accuracy\n- Follow existing translation folder structure\n- Update quiz links to include language parameter: `?loc=fr`\n- Test translated lessons for proper rendering\n\n## Related Resources\n- Main curriculum: https://aka.ms/datascience-beginners\n- Microsoft Learn: https://docs.microsoft.com/learn/\n- Student Hub: https://docs.microsoft.com/learn/student-hub\n- Discussion Forum: https://github.com/microsoft/Data-Science-For-Beginners/discussions\n- Other Microsoft curricula: ML for Beginners, AI for Beginners, Web Dev for Beginners\n\n## Project Maintenance\n- Regular updates to keep content current\n- Community contributions welcome\n- Issues tracked on GitHub\n- PRs reviewed by curriculum maintainers\n- Monthly content reviews and updates\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# AGENTS.md\n\n## Project Overview\n\nData Science for Beginners is a comprehensive 10-week, 20-lesson curriculum created by Microsoft Azure Cloud Advocates. The repository is a learning resource that teaches foundational data science concepts through project-based lessons, including Jupyter notebooks, interactive quizzes, and hands-on assignments.\n\n**Key Technologies:**\n- **Jupyter Notebooks**: Primary learning medium using Python 3\n- **Python Libraries**: pandas, numpy, matplotlib for data analysis and visualization\n- **Vue.js 2**: Quiz application (quiz-app folder)\n- **Docsify**: Documentation site generator for offline access\n- **Node.js/npm**: Package management for JavaScript components\n- **Markdown**: All lesson content and documentation\n\n**Architecture:**\n- Multi-language educational repository with extensive translations\n- Structured into lesson modules (1-Introduction through 6-Data-Science-In-Wild)\n- Each lesson includes README, notebooks, assignments, and quizzes\n- Standalone Vue.js quiz application for pre/post-lesson assessments\n- GitHub Codespaces and VS Code dev containers support\n\n## Setup Commands\n\n### Repository Setup\n```bash\n# Clone the repository (if not already cloned)\ngit clone https://github.com/microsoft/Data-Science-For-Beginners.git\ncd Data-Science-For-Beginners\n```\n\n### Python Environment Setup\n```bash\n# Create a virtual environment (recommended)\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install common data science libraries (no requirements.txt exists)\npip install jupyter pandas numpy matplotlib seaborn scikit-learn\n```\n\n### Quiz Application Setup\n```bash\n# Navigate to quiz app\ncd quiz-app\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run serve\n\n# Build for production\nnpm run build\n\n# Lint and fix files\nnpm run lint\n```\n\n### Docsify Documentation Server\n```bash\n# Install Docsify globally\nnpm install -g docsify-cli\n\n# Serve documentation locally\ndocsify serve\n\n# Documentation will be available at localhost:3000\n```\n\n### Visualization Projects Setup\nFor visualization projects like meaningful-visualizations (lesson 13):\n```bash\n# Navigate to starter or solution folder\ncd 3-Data-Visualization/13-meaningful-visualizations/starter\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run serve\n\n# Build for production\nnpm run build\n\n# Lint files\nnpm run lint\n```\n\n## Development Workflow\n\n### Working with Jupyter Notebooks\n1. Start Jupyter in the repository root: `jupyter notebook`\n2. Navigate to the desired lesson folder\n3. Open `.ipynb` files to work through exercises\n4. Notebooks are self-contained with explanations and code cells\n5. Most notebooks use pandas, numpy, and matplotlib - ensure these are installed\n\n### Lesson Structure\nEach lesson typically contains:\n- `README.md` - Main lesson content with theory and examples\n- `notebook.ipynb` - Hands-on Jupyter notebook exercises\n- `assignment.ipynb` or `assignment.md` - Practice assignments\n- `solution/` folder - Solution notebooks and code\n- `images/` folder - Supporting visual materials\n\n### Quiz Application Development\n- Vue.js 2 application with hot-reload during development\n- Quizzes stored in `quiz-app/src/assets/translations/`\n- Each language has its own translation folder (en, fr, es, etc.)\n- Quiz numbering starts at 0 and goes up to 39 (40 quizzes total)\n\n### Adding Translations\n- Translations go in `translations/` folder at repository root\n- Each language has complete lesson structure mirrored from English\n- Automated translation via GitHub Actions (co-op-translator.yml)\n\n## Testing Instructions\n\n### Quiz Application Testing\n```bash\ncd quiz-app\n\n# Run lint checks\nnpm run lint\n\n# Test build process\nnpm run build\n\n# Manual testing: Start dev server and verify quiz functionality\nnpm run serve\n```\n\n### Notebook Testing\n- No automated test framework exists for notebooks\n- Manual validation: Run all cells in sequence to ensure no errors\n- Verify data files are accessible and outputs are generated correctly\n- Check that visualizations render properly\n\n### Documentation Testing\n```bash\n# Verify Docsify renders correctly\ndocsify serve\n\n# Check for broken links manually by navigating through content\n# Verify all lesson links work in the rendered documentation\n```\n\n### Code Quality Checks\n```bash\n# Vue.js projects (quiz-app and visualization projects)\ncd quiz-app  # or visualization project folder\nnpm run lint\n\n# Python notebooks - manual verification recommended\n# Ensure imports work and cells execute without errors\n```\n\n## Code Style Guidelines\n\n### Python (Jupyter Notebooks)\n- Follow PEP 8 style guidelines for Python code\n- Use clear variable names that explain the data being analyzed\n- Include markdown cells with explanations before code cells\n- Keep code cells focused on single concepts or operations\n- Use pandas for data manipulation, matplotlib for visualization\n- Common import pattern:\n  ```python\n  import pandas as pd\n  import numpy as np\n  import matplotlib.pyplot as plt\n  ```\n\n### JavaScript/Vue.js\n- Follow Vue.js 2 style guide and best practices\n- ESLint configuration in `quiz-app/package.json`\n- Use Vue single-file components (.vue files)\n- Maintain component-based architecture\n- Run `npm run lint` before committing changes\n\n### Markdown Documentation\n- Use clear headings hierarchy (# ## ### etc.)\n- Include code blocks with language specifiers\n- Add alt text for images\n- Link to related lessons and resources\n- Keep line lengths reasonable for readability\n\n### File Organization\n- Lesson content in numbered folders (01-defining-data-science, etc.)\n- Solutions in dedicated `solution/` subfolders\n- Translations mirror English structure in `translations/` folder\n- Keep data files in `data/` or lesson-specific folders\n\n## Build and Deployment\n\n### Quiz Application Deployment\n```bash\ncd quiz-app\n\n# Build production version\nnpm run build\n\n# Output is in dist/ folder\n# Deploy dist/ folder to static hosting (Azure Static Web Apps, Netlify, etc.)\n```\n\n### Azure Static Web Apps Deployment\nThe quiz-app can be deployed to Azure Static Web Apps:\n1. Create Azure Static Web App resource\n2. Connect to GitHub repository\n3. Configure build settings:\n   - App location: `quiz-app`\n   - Output location: `dist`\n4. GitHub Actions workflow will auto-deploy on push\n\n### Documentation Site\n```bash\n# Build PDF from Docsify (optional)\nnpm run convert\n\n# Docsify documentation is served directly from markdown files\n# No build step required for deployment\n# Deploy repository to static hosting with Docsify\n```\n\n### GitHub Codespaces\n- Repository includes dev container configuration\n- Codespaces automatically sets up Python and Node.js environment\n- Open repository in Codespace via GitHub UI\n- All dependencies install automatically\n\n## Pull Request Guidelines\n\n### Before Submitting\n```bash\n# For Vue.js changes in quiz-app\ncd quiz-app\nnpm run lint\nnpm run build\n\n# Test changes locally\nnpm run serve\n```\n\n### PR Title Format\n- Use clear, descriptive titles\n- Format: `[Component] Brief description`\n- Examples:\n  - `[Lesson 7] Fix Python notebook import error`\n  - `[Quiz App] Add German translation`\n  - `[Docs] Update README with new prerequisites`\n\n### Required Checks\n- Ensure all code runs without errors\n- Verify notebooks execute completely\n- Confirm Vue.js apps build successfully\n- Check that documentation links work\n- Test quiz application if modified\n- Verify translations maintain consistent structure\n\n### Contribution Guidelines\n- Follow existing code style and patterns\n- Add explanatory comments for complex logic\n- Update relevant documentation\n- Test changes across different lesson modules if applicable\n- Review the CONTRIBUTING.md file\n\n## Additional Notes\n\n### Common Libraries Used\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computing\n- **matplotlib**: Data visualization and plotting\n- **seaborn**: Statistical data visualization (some lessons)\n- **scikit-learn**: Machine learning (advanced lessons)\n\n### Working with Data Files\n- Data files located in `data/` folder or lesson-specific directories\n- Most notebooks expect data files in relative paths\n- CSV files are primary data format\n- Some lessons use JSON for non-relational data examples\n\n### Multilingual Support\n- 40+ language translations via automated GitHub Actions\n- Translation workflow in `.github/workflows/co-op-translator.yml`\n- Translations in `translations/` folder with language codes\n- Quiz translations in `quiz-app/src/assets/translations/`\n\n### Development Environment Options\n1. **Local Development**: Install Python, Jupyter, Node.js locally\n2. **GitHub Codespaces**: Cloud-based instant development environment\n3. **VS Code Dev Containers**: Local container-based development\n4. **Binder**: Launch notebooks in cloud (if configured)\n\n### Lesson Content Guidelines\n- Each lesson is standalone but builds on previous concepts\n- Pre-lesson quizzes test prior knowledge\n- Post-lesson quizzes reinforce learning\n- Assignments provide hands-on practice\n- Sketchnotes provide visual summaries\n\n### Troubleshooting Common Issues\n\n**Jupyter Kernel Issues:**\n```bash\n# Ensure correct kernel is installed\npython -m ipykernel install --user --name=datascience\n```\n\n**npm Install Failures:**\n```bash\n# Clear npm cache and retry\nnpm cache clean --force\nrm -rf node_modules package-lock.json\nnpm install\n```\n\n**Import Errors in Notebooks:**\n- Verify all required libraries are installed\n- Check Python version compatibility (Python 3.7+ recommended)\n- Ensure virtual environment is activated\n\n**Docsify Not Loading:**\n- Verify you're serving from repository root\n- Check that `index.html` exists\n- Ensure proper network access (port 3000)\n\n### Performance Considerations\n- Large datasets may take time to load in notebooks\n- Visualization rendering can be slow for complex plots\n- Vue.js dev server enables hot-reload for quick iteration\n- Production builds are optimized and minified\n\n### Security Notes\n- No sensitive data or credentials should be committed\n- Use environment variables for any API keys in cloud lessons\n- Azure-related lessons may require Azure account credentials\n- Keep dependencies updated for security patches\n\n## Contributing to Translations\n- Automated translations managed via GitHub Actions\n- Manual corrections welcomed for translation accuracy\n- Follow existing translation folder structure\n- Update quiz links to include language parameter: `?loc=fr`\n- Test translated lessons for proper rendering\n\n## Related Resources\n- Main curriculum: https://aka.ms/datascience-beginners\n- Microsoft Learn: https://docs.microsoft.com/learn/\n- Student Hub: https://docs.microsoft.com/learn/student-hub\n- Discussion Forum: https://github.com/microsoft/Data-Science-For-Beginners/discussions\n- Other Microsoft curricula: ML for Beginners, AI for Beginners, Web Dev for Beginners\n\n## Project Maintenance\n- Regular updates to keep content current\n- Community contributions welcome\n- Issues tracked on GitHub\n- PRs reviewed by curriculum maintainers\n- Monthly content reviews and updates\n","category":"root","tokens":2767}]}