Appearance
🛠 Workshop — Final Presentation & Portfolio Submission
Buổi cuối cùng. 10 phút pitch capstone → Q&A → Polish portfolio theo feedback → Submit tất cả deliverables. Output: Slide deck + GitHub repo + Dashboard link + Recording. Đây là lúc mọi thứ từ 20 buổi hội tụ — SHOW, DON'T TELL!
🎯 Mục tiêu workshop
Sau khi hoàn thành workshop này, bạn sẽ:
- Thuyết trình 10 phút — capstone project: problem → method → findings → recommendations
- Handle Q&A — trả lời câu hỏi từ mentor & peers
- Polish portfolio — iterate theo feedback nhận được
- Submit deliverables — slide deck, GitHub repo, dashboard, recording
🧰 Yêu cầu
| Yêu cầu | Chi tiết |
|---|---|
| Chuẩn bị trước | Capstone project HOÀN THÀNH (Buổi 18-19), slides DONE, notebook CLEAN |
| Slide deck | 10 slides, Google Slides / PowerPoint / Canva |
| GitHub repo | Public, README complete, notebooks clean |
| Dashboard | Published (Tableau Public / Power BI Service / Streamlit) |
| Thời gian | 120–150 phút |
| Output | Slide deck PDF + Git repo link + Dashboard link + Recording |
💡 Naming convention
File đặt tên: HoTen_Buoi20_FinalCapstone.pdf (slides) Repo: github.com/username/capstone-project-name
📋 Workshop Flow
┌─────────────────────────────────────────────────────────┐
│ PHASE 1: Pre-Flight Check (15 min) │
│ → Kiểm tra tất cả deliverables ready │
├─────────────────────────────────────────────────────────┤
│ PHASE 2: Presentations (60-75 min) │
│ → Mỗi người: 10 min pitch + 5 min Q&A │
├─────────────────────────────────────────────────────────┤
│ PHASE 3: Feedback & Polish (25 min) │
│ → Collect feedback → iterate portfolio │
├─────────────────────────────────────────────────────────┤
│ PHASE 4: Final Submission (15-20 min) │
│ → Submit tất cả deliverables → celebrate! 🎉 │
└─────────────────────────────────────────────────────────┘Phase 1: Pre-Flight Check (15 phút)
Bước 1.1: Deliverables Checklist
Trước khi pitch, đảm bảo TẤT CẢ đã ready:
PRE-FLIGHT CHECKLIST:
─────────────────────
SLIDES:
☐ 10 slides completed
☐ Title slide: project name, tên, ngày, GitHub link
☐ Problem slide: business context + numbers
☐ Data slide: source, size, key features
☐ Methodology slide: approach summary
☐ Findings slides (2-3): visualization + insight + "so what?"
☐ Recommendations slide: 3-5 actionable items + expected impact
☐ Limitations & Next Steps slide
☐ Q&A slide: contact info + portfolio links
☐ No typos, consistent formatting
☐ Exported as PDF backup
GITHUB REPO:
☐ Repository is PUBLIC
☐ README.md complete (problem, method, findings, how-to-run)
☐ Notebook: Restart → Run All → NO ERRORS
☐ Folder structure organized (data/, notebooks/, dashboard/)
☐ requirements.txt present
☐ .gitignore configured (no .pyc, no large data files)
☐ Meaningful commit messages (last 5 commits)
☐ Screenshots in dashboard/screenshots/
DASHBOARD:
☐ Published and accessible (public link works)
☐ Link tested in incognito browser
☐ Screenshots saved as backup
☐ Filters working correctly
☐ Mobile-responsive (if applicable)
NOTEBOOK:
☐ Clear section headers (H1 → H2 → H3)
☐ Markdown context before each analysis section
☐ Visualizations: title, labels, legend
☐ No debug/test cells remaining
☐ Variable names descriptive
☐ Final summary cell presentBước 1.2: Technical Dry Run
Chạy qua technical setup:
python
# ============================================
# PRE-FLIGHT: Kiểm tra tất cả links và files
# ============================================
# 1. Verify notebook runs clean
# Trong Jupyter: Kernel → Restart & Run All → Confirm no errors
# 2. Verify GitHub repo is public
# Mở incognito browser → paste repo URL → check accessible
# 3. Verify dashboard link works
# Mở incognito browser → paste dashboard URL → check loads
# 4. Verify slides
# Mở slides → check tất cả charts/images load → export PDF
print("Pre-flight checklist:")
print("☐ Notebook: Restart & Run All — no errors")
print("☐ GitHub: Public repo accessible in incognito")
print("☐ Dashboard: Link works in incognito")
print("☐ Slides: PDF exported, all visuals load")
print("☐ Timer: iPhone/phone timer set to 10:00")Bước 1.3: Presentation Setup
PRESENTATION SETUP:
───────────────────
☐ Laptop charged + charger nearby
☐ Slides open in presentation mode
☐ Backup: slides PDF trên USB/Google Drive
☐ Dashboard tab open (for live demo nếu cần)
☐ Notebook tab open (for code demo nếu được hỏi)
☐ Phone on silent
☐ Water bottle ready
☐ Timer visible (phone hoặc watch)
☐ Deep breath 🫁Phase 2: Presentations (60-75 phút)
Bước 2.1: Presentation Format
Mỗi presenter:
| Phần | Thời gian | Mô tả |
|---|---|---|
| Setup | 1 min | Kết nối, mở slides, ready |
| Presentation | 10 min | 10 slides, structured pitch |
| Q&A | 5 min | Câu hỏi từ mentor + peers |
| Transition | 1-2 min | Feedback nhanh, next presenter prep |
Bước 2.2: Presentation Structure — 10 Slides in 10 Minutes
Mỗi slide ≈ 1 phút. Cấu trúc:
Slide 1: Title (30 giây)
📌 Nói: "Xin chào, em là [Tên]. Hôm nay em trình bày project [Tên Project]
— [1 câu mô tả business impact]."
📌 Show: Project name, tên, GitHub link
📌 Tip: Tự tin, eye contact, smileSlide 2: Problem Statement (1 phút)
📌 Nói: "[Company/Industry] đang gặp vấn đề [cụ thể].
Impact: [số tiền/users/time]. Nếu giải quyết: [expected benefit]."
📌 Show: Problem statement with NUMBERS
📌 Tip: Make audience CARE — nêu impact bằng số thậtSlide 3: Data Overview (1 phút)
📌 Nói: "Dataset gồm [X rows × Y columns], từ [source],
covering [timeframe]. Key features: [liệt kê 4-5]."
📌 Show: Data summary table or infographic
📌 Tip: DON'T show raw data — show metadata summarySlide 4: Methodology (1 phút)
📌 Nói: "Approach: [1] Data cleaning → [2] EDA → [3] Analysis/Model → [4] Evaluate."
📌 Show: Simple flow diagram hoặc bullet list
📌 Tip: Keep high-level — details nếu Q&A hỏiSlide 5-6-7: Key Findings (3.5 phút total)
📌 Mỗi finding: "[Insight] — [Evidence/Chart] — [So What?]"
📌 Show: 1 visualization per slide, annotated
📌 Tip: KHÔNG show chart rồi im lặng.
PHẢI nói: "Chart này cho thấy [X], điều này có nghĩa [Y]"Slide 8: Recommendations (1 phút)
📌 Nói: "Dựa trên phân tích, em đề xuất: [1], [2], [3].
Expected impact: [quantified]."
📌 Show: 3-5 bullet recommendations with expected impact
📌 Tip: ACTIONABLE — stakeholder nghe xong biết LÀM GÌSlide 9: Limitations & Next Steps (30 giây)
📌 Nói: "Limitations: [1-2]. Nếu có thêm data/time: [1-2 improvements]."
📌 Show: Honest assessment
📌 Tip: Acknowledge limitations TRƯỚC KHI Q&A hỏi → shows maturitySlide 10: Q&A + Links (30 giây)
📌 Nói: "Cảm ơn mọi người. Links: GitHub [URL], Dashboard [URL].
Mời mọi người đặt câu hỏi."
📌 Show: QR code hoặc links to repo, dashboard, LinkedIn
📌 Tip: Smile, open posture, ready for questionsBước 2.3: Q&A Handling — Framework
Khi nhận câu hỏi:
Q&A RESPONSE FRAMEWORK:
───────────────────────
1. LISTEN — Nghe HẾT câu hỏi. Đừng ngắt lời.
2. PAUSE — 2-3 giây suy nghĩ. Silence is OK.
3. CLARIFY — Nếu chưa rõ: "Anh/chị có thể clarify...?"
4. ANSWER — Direct → Evidence → Impact
5. CHECK — "Em trả lời đúng ý anh/chị chưa ạ?"
COMMON Q&A SITUATIONS:
Situation 1: Biết câu trả lời
→ Trả lời trực tiếp + supporting data
Situation 2: Không chắc chắn
→ "Based on current analysis, em nghĩ [X].
Tuy nhiên, em cần check thêm [Y] để confirm."
Situation 3: Không biết
→ "Câu hỏi hay. Em chưa explore aspect này —
nhưng em sẽ approach bằng [method].
Em note lại và sẽ follow up."
❌ KHÔNG: "Em không biết." (rồi im)
✅ CÓ: "Em chưa biết, nhưng em sẽ..." (proactive)
Situation 4: Câu hỏi challenge/criticism
→ "Anh/chị raise valid point. [Acknowledge].
[Current approach reason].
[How would improve with more time/data]."Bước 2.4: Peer Feedback Form
Mỗi người nghe điền feedback cho presenter:
PEER FEEDBACK FORM:
───────────────────
Presenter: _____________
Project: _____________
CONTENT (1-5):
☐ Problem clearly stated: ___
☐ Findings supported by data: ___
☐ Recommendations actionable: ___
DELIVERY (1-5):
☐ Pacing (not too fast/slow): ___
☐ Eye contact & confidence: ___
☐ Slides readable & clean: ___
BEST PART:
___________________________________
ONE IMPROVEMENT:
___________________________________
QUESTIONS / COMMENTS:
___________________________________Phase 3: Feedback & Polish (25 phút)
Bước 3.1: Collect & Prioritize Feedback
Sau khi tất cả presentations xong:
python
# ============================================
# FEEDBACK COLLECTION TEMPLATE
# ============================================
# Ghi lại tất cả feedback nhận được:
feedback_log = {
"from_mentor": [
# Ví dụ:
# "Cần thêm confidence interval cho finding #2",
# "Slide 5 text quá nhỏ — tăng font",
# "Good job on Q&A handling — honest about limitations"
],
"from_peers": [
# "Chart color scheme khó đọc — thử colorblind-friendly",
# "Recommendation #3 cần thêm expected ROI",
# "Great storytelling — opening hook rất good"
],
"self_reflection": [
# "Nói quá nhanh slide 3-4 — cần slow down",
# "Q&A câu 2: trả lời chưa đủ specific",
# "Slide 7 chart không load — cần fix"
]
}
# Prioritize: High impact + Easy to fix → DO FIRST
priority_fixes = [
# "1. Fix chart slide 7 — broken image",
# "2. Add CI to finding #2",
# "3. Increase font size slide 5",
]
print("📝 Total feedback items:",
sum(len(v) for v in feedback_log.values()))
print("🔧 Priority fixes:", len(priority_fixes))Bước 3.2: Polish Portfolio (20 phút)
Dùng 20 phút này để fix top priority items:
POLISH CHECKLIST (20 min):
──────────────────────────
IMMEDIATE FIXES (10 min):
☐ Fix any broken charts/images in slides
☐ Fix any notebook errors found
☐ Update README nếu có thay đổi
☐ Fix typos caught by peers
ENHANCEMENT (10 min):
☐ Add confidence intervals nếu feedback yêu cầu
☐ Improve chart readability (font, colors, labels)
☐ Add 1-2 sentences responding to Q&A insights
☐ Push final changes to GitHub
GIT COMMANDS:
$ git add .
$ git commit -m "Polish portfolio after presentation feedback"
$ git push origin mainBước 3.3: Final Notebook Review
python
# ============================================
# FINAL NOTEBOOK REVIEW CHECKLIST
# ============================================
notebook_checklist = {
"Structure": [
"H1 title with project name",
"H2 for each major section",
"Markdown context before analysis",
"Summary cell at the end"
],
"Code Quality": [
"No debug/print statements",
"Variable names descriptive",
"Comments on complex logic",
"Consistent style throughout"
],
"Outputs": [
"All cells have clean outputs",
"Charts have title, labels, legend",
"No warning messages showing",
"Restart → Run All passes"
],
"Data": [
"Data source documented",
"Shape and dtypes shown",
"Missing values handled",
"No data leaks in repo"
]
}
for category, items in notebook_checklist.items():
print(f"\n{'='*40}")
print(f"📋 {category}")
print(f"{'='*40}")
for item in items:
print(f" ☐ {item}")Phase 4: Final Submission (15-20 phút)
Bước 4.1: Submission Package
Assemble tất cả deliverables:
FINAL SUBMISSION PACKAGE:
─────────────────────────
1. SLIDE DECK
☐ Format: PDF
☐ Filename: HoTen_Buoi20_Capstone_Slides.pdf
☐ Location: Upload to Google Drive/repo
2. GITHUB REPOSITORY
☐ URL: github.com/username/project-name
☐ Status: Public, all changes pushed
☐ README: Complete
☐ Final commit message: "Final submission — Buoi 20"
3. DASHBOARD
☐ URL: [Tableau Public / Power BI / Streamlit link]
☐ Status: Accessible (tested in incognito)
☐ Screenshots: Saved in repo/dashboard/screenshots/
4. RECORDING (bonus)
☐ 10-minute presentation recorded
☐ Upload: YouTube (unlisted) hoặc Google Drive
☐ Purpose: Portfolio showcase + interview prep
5. SUBMISSION FORM
☐ Fill out submission form với tất cả links
☐ Double-check mọi link hoạt độngBước 4.2: Submission Checklist — Final Verification
python
# ============================================
# FINAL VERIFICATION SCRIPT
# ============================================
submission = {
"name": "___________",
"slides_pdf": "___________", # Google Drive / repo link
"github_repo": "___________", # github.com/username/project
"dashboard_url": "___________", # Tableau / Power BI / Streamlit
"recording_url": "___________", # YouTube unlisted / Google Drive
"linkedin_profile": "___________", # linkedin.com/in/username
}
print("=" * 50)
print("📦 FINAL SUBMISSION — VERIFICATION")
print("=" * 50)
for key, value in submission.items():
status = "✅" if value != "___________" else "❌ MISSING"
print(f" {status} {key}: {value}")
print("\n" + "=" * 50)
missing = sum(1 for v in submission.values() if v == "___________")
if missing == 0:
print("🎉 ALL DELIVERABLES READY — SUBMIT!")
else:
print(f"⚠️ {missing} item(s) missing — complete before submitting")Bước 4.3: Post-Submission Actions
AFTER SUBMISSION:
─────────────────
TODAY:
☐ Take a screenshot of submission confirmation
☐ Save all links in a personal doc (backup)
☐ Post on LinkedIn about completing the course
☐ Thank mentor & classmates
THIS WEEK:
☐ Record presentation nếu chưa record
☐ Polish any remaining feedback items
☐ Start applying to DA jobs
☐ Update CV with course + capstone
THIS MONTH:
☐ Apply to 10+ DA positions
☐ Practice SQL daily (StrataScratch / LeetCode)
☐ Start 1 new side project
☐ Get Google DA Certificate (if not already)
☐ Join DA community: Vietnam Data Science, DSAI🎉 Congratulations — Workshop & Course Complete!
Deliverable Summary
| Deliverable | Format | Status |
|---|---|---|
| Slide Deck | PDF, 10 slides | ☐ Submitted |
| GitHub Repo | Public repository | ☐ Submitted |
| Dashboard | Published link | ☐ Submitted |
| Recording | Video (bonus) | ☐ Submitted |
| Notebook | .ipynb, clean | ☐ In repo |
| README | .md, complete | ☐ In repo |
Rubric tự đánh giá
| Criteria | Bronze (1-2) | Silver (3-4) | Gold (5) |
|---|---|---|---|
| Problem Statement | Vague, no numbers | Clear but generic | Specific, quantified, compelling |
| Analysis Quality | Basic EDA only | EDA + some analysis | EDA + deep analysis + model/stats |
| Findings | List without insight | Insights with some "so what?" | Insights + "so what?" + business impact |
| Recommendations | Generic suggestions | Specific actions | Actionable + quantified expected impact |
| Presentation | Read from slides, overtime | Good pacing, some engagement | Confident, engaging, within time |
| Q&A | Couldn't answer questions | Answered some, dodged others | Answered well, acknowledged unknowns |
| Portfolio | Messy repo, broken links | Clean but incomplete README | Professional: README, notebook, dashboard, all working |
| Code Quality | Errors, no comments | Runs but messy | Clean, documented, Restart→Run All passes |
Scoring:
- 40/40 = Gold 🥇 — Portfolio-ready. Apply with confidence!
- 30-39 = Silver 🥈 — Solid. Polish 1-2 areas before applying.
- 20-29 = Bronze 🥉 — Good start. Dedicate 1 week to polish.
- < 20 = Needs Work — Revisit course materials, improve projects.
📝 Final Reflection
Trước khi đóng laptop, viết 3 câu:
1. Điều tự hào nhất sau 20 buổi: ___________
2. Kỹ năng muốn improve nhất: ___________
3. Mục tiêu 30 ngày tới: ___________🎓 Lời nhắn cuối từ Workshop
20 buổi, hàng trăm giờ học, hàng ngàn dòng code. Bạn đã:
- Viết SQL query tìm insight từ hàng chục ngàn rows
- Xây dashboard cho người khác dùng
- Train ML model predict business outcomes
- Thuyết trình findings trước audience
- Xây portfolio showcase khả năng thật
Đó không phải chỉ là "hoàn thành khóa học". Đó là bạn đã trở thành một Data Analyst.
Bây giờ — GO SHIP. 🚀
Apply cho job đầu tiên. Build side project tiếp theo. Post trên LinkedIn. Attend meetup. Never stop learning.
"The best time to start was 20 weeks ago. The second best time is NOW."