You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/USAGE.md

361 lines
8.7 KiB

# Usage Guide
This guide provides examples and common workflows for using the Data Science for Beginners curriculum.
## Table of Contents
- [How to Use This Curriculum](#how-to-use-this-curriculum)
- [Working with Lessons](#working-with-lessons)
- [Working with Jupyter Notebooks](#working-with-jupyter-notebooks)
- [Using the Quiz Application](#using-the-quiz-application)
- [Common Workflows](#common-workflows)
- [Tips for Self-Learners](#tips-for-self-learners)
- [Tips for Teachers](#tips-for-teachers)
## How to Use This Curriculum
This curriculum is designed to be flexible and can be used in multiple ways:
- **Self-paced learning**: Work through lessons independently at your own speed
- **Classroom instruction**: Use as a structured course with guided instruction
- **Study groups**: Learn collaboratively with peers
- **Workshop format**: Intensive short-term learning sessions
## Working with Lessons
Each lesson follows a consistent structure to maximize learning:
### Lesson Structure
1. **Pre-lesson Quiz**: Test your existing knowledge
2. **Sketchnote** (Optional): Visual summary of key concepts
3. **Video** (Optional): Supplemental video content
4. **Written Lesson**: Core concepts and explanations
5. **Jupyter Notebook**: Hands-on coding exercises
6. **Assignment**: Practice what you've learned
7. **Post-lesson Quiz**: Reinforce your understanding
### Example Workflow for a Lesson
```bash
# 1. Navigate to the lesson directory
cd 1-Introduction/01-defining-data-science
# 2. Read the README.md
# Open README.md in your browser or editor
# 3. Take the pre-lesson quiz
# Click the quiz link in the README
# 4. Open the Jupyter notebook (if available)
jupyter notebook
# 5. Complete the exercises in the notebook
# 6. Work on the assignment
# 7. Take the post-lesson quiz
```
## Working with Jupyter Notebooks
### Starting Jupyter
```bash
# Activate your virtual environment
source venv/bin/activate # On macOS/Linux
# OR
venv\Scripts\activate # On Windows
# Start Jupyter from the repository root
jupyter notebook
```
### Running Notebook Cells
1. **Execute a cell**: Press `Shift + Enter` or click the "Run" button
2. **Execute all cells**: Select "Cell" → "Run All" from the menu
3. **Restart kernel**: Select "Kernel" → "Restart" if you encounter issues
### Example: Working with Data in a Notebook
```python
# Import required libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Load a dataset
df = pd.read_csv('data/sample.csv')
# Explore the data
df.head()
df.info()
df.describe()
# Create a visualization
plt.figure(figsize=(10, 6))
plt.plot(df['column_name'])
plt.title('Sample Visualization')
plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')
plt.show()
```
### Saving Your Work
- Jupyter auto-saves periodically
- Manually save: Press `Ctrl + S` (or `Cmd + S` on macOS)
- Your progress is saved in the `.ipynb` file
## Using the Quiz Application
### Running the Quiz App Locally
```bash
# Navigate to quiz app directory
cd quiz-app
# Start the development server
npm run serve
# Access at http://localhost:8080
```
### Taking Quizzes
1. Pre-lesson quizzes are linked at the top of each lesson
2. Post-lesson quizzes are linked at the bottom of each lesson
3. Each quiz has 3 questions
4. Quizzes are designed to reinforce learning, not to test exhaustively
### Quiz Numbering
- Quizzes are numbered 0-39 (40 total quizzes)
- Each lesson typically has a pre and post quiz
- Quiz URLs include the quiz number: `https://ff-quizzes.netlify.app/en/ds/quiz/0`
## Common Workflows
### Workflow 1: Complete Beginner Path
```bash
# 1. Set up your environment (see INSTALLATION.md)
# 2. Start with Lesson 1
cd 1-Introduction/01-defining-data-science
# 3. For each lesson:
# - Take pre-lesson quiz
# - Read the lesson content
# - Work through the notebook
# - Complete the assignment
# - Take post-lesson quiz
# 4. Progress through all 20 lessons sequentially
```
### Workflow 2: Topic-Specific Learning
If you're interested in a specific topic:
```bash
# Example: Focus on Data Visualization
cd 3-Data-Visualization
# Explore lessons 9-13:
# - Lesson 9: Visualizing Quantities
# - Lesson 10: Visualizing Distributions
# - Lesson 11: Visualizing Proportions
# - Lesson 12: Visualizing Relationships
# - Lesson 13: Meaningful Visualizations
```
### Workflow 3: Project-Based Learning
```bash
# 1. Review the Data Science Lifecycle lessons (14-16)
cd 4-Data-Science-Lifecycle
# 2. Work through a real-world example (Lesson 20)
cd ../6-Data-Science-In-Wild/20-Real-World-Examples
# 3. Apply concepts to your own project
```
### Workflow 4: Cloud-Based Data Science
```bash
# Learn about cloud data science (Lessons 17-19)
cd 5-Data-Science-In-Cloud
# 17: Introduction to Cloud Data Science
# 18: Low-Code ML Tools
# 19: Azure Machine Learning Studio
```
## Tips for Self-Learners
### Stay Organized
```bash
# Create a learning journal
mkdir my-learning-journal
# For each lesson, create notes
echo "# Lesson 1 Notes" > my-learning-journal/lesson-01-notes.md
```
### Practice Regularly
- Set aside dedicated time each day or week
- Complete at least one lesson per week
- Review previous lessons periodically
### Engage with the Community
- Join the [Discord community](https://aka.ms/ds4beginners/discord)
- Participate in #Data-Science-for-Beginners Channel in Discord [Discord Discussions](https://aka.ms/ds4beginners/discord)
- Share your progress and ask questions
### Build Your Own Projects
After completing lessons, apply concepts to personal projects:
```python
# Example: Analyze your own dataset
import pandas as pd
# Load your own data
my_data = pd.read_csv('my-project/data.csv')
# Apply techniques learned
# - Data cleaning (Lesson 8)
# - Exploratory data analysis (Lesson 7)
# - Visualization (Lessons 9-13)
# - Analysis (Lesson 15)
```
## Tips for Teachers
### Classroom Setup
1. Review [for-teachers.md](for-teachers.md) for detailed guidance
2. Set up a shared environment (GitHub Classroom or Codespaces)
3. Establish a communication channel (Discord, Slack, or Teams)
### Lesson Planning
**Suggested 10-Week Schedule:**
- **Week 1-2**: Introduction (Lessons 1-4)
- **Week 3-4**: Working with Data (Lessons 5-8)
- **Week 5-6**: Data Visualization (Lessons 9-13)
- **Week 7-8**: Data Science Lifecycle (Lessons 14-16)
- **Week 9**: Cloud Data Science (Lessons 17-19)
- **Week 10**: Real-World Applications & Final Projects (Lesson 20)
### Running Docsify for Offline Access
```bash
# Serve documentation locally for classroom use
docsify serve
# Students can access at localhost:3000
# No internet required after initial setup
```
### Assignment Grading
- Review student notebooks for completed exercises
- Check for understanding through quiz scores
- Evaluate final projects using data science lifecycle principles
### Creating Assignments
```python
# Example custom assignment template
"""
Assignment: [Topic]
Objective: [Learning goal]
Dataset: [Provide or have students find one]
Tasks:
1. Load and explore the dataset
2. Clean and prepare the data
3. Create at least 3 visualizations
4. Perform analysis
5. Communicate findings
Deliverables:
- Jupyter notebook with code and explanations
- Written summary of findings
"""
```
## Working Offline
### Download Resources
```bash
# Clone the entire repository
git clone https://github.com/microsoft/Data-Science-For-Beginners.git
# Download datasets in advance
# Most datasets are included in the repository
```
### Run Documentation Locally
```bash
# Serve with Docsify
docsify serve
# Access at localhost:3000
```
### Run Quiz App Locally
```bash
cd quiz-app
npm run serve
```
## Accessing Translated Content
Translations are available in 40+ languages:
```bash
# Access translated lessons
cd translations/fr # French
cd translations/es # Spanish
cd translations/de # German
# ... and many more
```
Each translation maintains the same structure as the English version.
## Additional Resources
### Continue Learning
- [Microsoft Learn](https://docs.microsoft.com/learn/) - Additional learning paths
- [Student Hub](https://docs.microsoft.com/learn/student-hub) - Resources for students
- [Azure AI Foundry](https://aka.ms/foundry/forum) - Community forum
### Related Curricula
- [AI for Beginners](https://aka.ms/ai-beginners)
- [ML for Beginners](https://aka.ms/ml-beginners)
- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
- [Generative AI for Beginners](https://aka.ms/genai-beginners)
## Getting Help
- Check [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for common issues
- Search [GitHub Issues](https://github.com/microsoft/Data-Science-For-Beginners/issues)
- Join our [Discord](https://aka.ms/ds4beginners/discord)
- Review [CONTRIBUTING.md](CONTRIBUTING.md) to report issues or contribute