|
1 | | -# Week 4: Organizing Projects with GitHub + First Encounter with AI Helpers |
| 1 | +# Week 4: Data Visualization I – Telling Stories with Plotly |
2 | 2 |
|
3 | 3 | ## 📚 Overview |
4 | 4 |
|
5 | | -This week you'll learn how to organize your data science projects using GitHub and discover how AI coding assistants (like Copilot and ChatGPT) can help you debug, explain, and improve your code. You'll set up your first project repository and practice using AI tools for code understanding. |
| 5 | +This week you'll learn how to visualize data and communicate insights using Plotly, a powerful Python library for interactive charts. You'll explore how to turn raw data into compelling visual stories that highlight trends, patterns, and relationships. |
6 | 6 |
|
7 | 7 | ## 🎯 Learning Objectives |
8 | 8 |
|
9 | 9 | By the end of this week, you will be able to: |
10 | | -- Create and organize a GitHub repository for your project |
11 | | -- Commit and track changes to notebooks and datasets |
12 | | -- Write and update README files to document your work |
13 | | -- Use AI coding assistants to explain code and suggest improvements |
14 | | -- Collaborate and share your work with others |
15 | 10 |
|
16 | | -## 🎓 Session Structure (80 minutes) |
| 11 | +- Create basic and advanced plots with Plotly (scatter, bar, line, etc.) |
| 12 | +- Customize visualizations (colors, labels, legends, layouts) |
| 13 | +- Build interactive charts for data exploration |
| 14 | +- Use Plotly to tell a story with data |
| 15 | +- Apply visualization best practices for clarity and impact |
17 | 16 |
|
18 | | -### Lecture (40 minutes): GitHub for Data Science & AI Helpers |
19 | | -- Why version control matters for reproducible science and social impact |
20 | | -- GitHub basics: repositories, commits, branches, README files |
21 | | -- How to upload notebooks and datasets |
22 | | -- Introduction to AI coding assistants: Copilot, ChatGPT, Bard |
23 | | -- How AI can help with debugging, code explanation, and refactoring |
| 17 | +## 🎓 Session Resources |
24 | 18 |
|
25 | | -### Tutorial (40 minutes): Setting Up Your Project & Using AI |
26 | | -- Create a new GitHub repository for your project |
27 | | -- Upload a cleaned dataset and your notebook |
28 | | -- Write a README file describing your project and its social impact goal |
29 | | -- Use an AI assistant to explain a code snippet in plain English |
30 | | -- Practice making commits and tracking changes |
| 19 | +- Lecture: Data Visualization I: Telling Stories with Plotly |
| 20 | +- Tutorial: [Data Visualization I: Plotly Basics](notebooks/tutorial_plotly_basics.ipynb) |
31 | 21 |
|
32 | 22 | ## 🏗️ Mini-Deliverable |
33 | 23 |
|
34 | | -**Assignment:** A GitHub repo with your first project files and a README draft. |
| 24 | +**Assignment:** Create a notebook that visualizes a real-world dataset using at least three different Plotly chart types. Your notebook should tell a clear story about the data, using interactive features and thoughtful design. |
35 | 25 |
|
36 | 26 | **Requirements:** |
37 | | -1. Create a new repository on GitHub |
38 | | -2. Upload your cleaned dataset and Week 1/2 notebook |
39 | | -3. Write a README file describing your project and its social impact focus |
40 | | -4. Use an AI assistant to explain a code snippet and include the explanation in your repo |
41 | | -5. Make at least 2 commits and document what changed |
42 | | - |
43 | | -## 📁 Files Structure |
44 | | -``` |
45 | | -week4/ |
46 | | -├── README.md |
47 | | -├── notebooks/ |
48 | | -│ ├── tutorial_github_setup.ipynb |
49 | | -│ ├── ai_helper_examples.ipynb |
50 | | -│ └── assignment_project_repo.ipynb |
51 | | -├── data/ |
52 | | -│ └── cleaned_dataset.csv |
53 | | -├── examples/ |
54 | | -│ └── sample_readme.md |
55 | | -└── resources/ |
56 | | - ├── github_quickstart.md |
57 | | - ├── ai_assistant_guide.md |
58 | | - └── version_control_basics.md |
59 | | -``` |
60 | | - |
61 | | -## 📖 Key Concepts Introduced |
62 | | -- **Version control**: Track changes, collaborate, and ensure reproducibility |
63 | | -- **GitHub repositories**: Organize code, data, and documentation |
64 | | -- **README files**: Communicate project goals and instructions |
65 | | -- **AI coding assistants**: Debug, explain, and refactor code |
66 | | -- **Commit history**: Document your progress and changes |
67 | | - |
68 | | -## 🎥 Video Resources |
69 | | -1. GitHub for Data Science Projects (15 min) |
70 | | -2. Writing Effective README Files (10 min) |
71 | | -3. Using Copilot/ChatGPT for Code Explanation (15 min) |
72 | | -4. Best Practices for Project Organization (10 min) |
73 | | - |
74 | | -## 🔗 Additional Resources |
75 | | -- [GitHub Guides](https://guides.github.com/) |
76 | | -- [GitHub Education](https://education.github.com/) |
77 | | -- [Copilot Documentation](https://docs.github.com/en/copilot) |
78 | | -- [ChatGPT for Coding](https://openai.com/blog/chatgpt-plugins) |
79 | | -- [Best README Examples](https://github.com/matiassingers/awesome-readme) |
80 | | - |
81 | | -## ❓ Common Questions |
82 | | -**Q: Do I need to know git commands?** |
83 | | -A: No! You can use GitHub's web interface for all basic tasks. |
84 | | - |
85 | | -**Q: What should go in my README?** |
86 | | -A: Project purpose, data sources, instructions, and a brief impact statement. |
87 | | - |
88 | | -**Q: How do I use Copilot or ChatGPT?** |
89 | | -A: Paste your code and ask for an explanation or suggestions. Include the AI's response in your repo for documentation. |
90 | | - |
91 | | -**Q: Can I collaborate with classmates?** |
92 | | -A: Yes! You can add collaborators to your repo or fork each other's projects. |
93 | | - |
94 | | -## 🆘 Getting Help |
95 | | -- Discussion Forum: Share your repo for feedback |
96 | | -- Office Hours: Tuesdays 6-7 PM |
97 | | -- AI Assistants: Ask for help with git, code, or documentation |
98 | | -- Peer Support: Review each other's READMEs and commit history |
99 | | - |
100 | | -## 📈 Assessment Criteria |
101 | | -- Repository is created and organized |
102 | | -- README file is clear and complete |
103 | | -- AI assistant explanation is included |
104 | | -- Commit history shows progress |
105 | | -- Data and notebooks are uploaded |
| 27 | +1. **Load a dataset** relevant to social impact or public policy |
| 28 | +2. **Create at least three Plotly visualizations** (scatter, bar, line, etc.) |
| 29 | +3. **Customize your charts** for clarity and engagement |
| 30 | +4. **Add interactivity** (hover, zoom, filter) |
| 31 | +5. **Explain your visualizations** and the story they tell |
106 | 32 |
|
107 | 33 | --- |
108 | | -**Next Week**: [Week 5: Working with External Data & APIs](../week5/README.md) |
109 | | -**Previous Week**: [Week 3: Data Visualization with Plotly](../week3/README.md) |
| 34 | +**Next Week**: [Week 5: Organizing Projects with GitHub + AI Helpers](../week5/README.md) |
| 35 | +**Previous Week**: [Week 3: Working with DataFrames II – Cleaning & Transforming Data](../week3/README.md) |
0 commit comments