Module 5.1 · Make something real (Làm ra một thứ thật)
Thuộc Package 5 · Build & Judge.
Tôi làm ra được một thứ hoàn chỉnh mà người khác dùng được, không chỉ một bài tập nộp cho thầy cô.
| Unit | 3 |
| Mastery level | 3 tới 12 |
| Lớp (VN) | 3 tới 12 |
| Key concept chính | Development (Phát triển) · Communities (Cộng đồng) |
Unit 1 · Build a small thing end to end (Làm trọn vẹn một thứ nhỏ)
Tôi sẽ làm được hoàn thành một sản phẩm nhỏ từ đầu tới cuối, thay vì nhiều mảnh dở dang.
Mastery level 3-8 · Lớp 3-9 · Development (Phát triển)
| Bậc | Learner làm được gì |
|---|---|
| Đang hình thành | Bắt đầu nhiều thứ, không hoàn thành thứ nào |
| Đạt | Làm xong một sản phẩm nhỏ, chạy được từ đầu tới cuối |
| Vững | Chọn phạm vi đủ nhỏ để hoàn thành, và mở rộng sau khi đã chạy |
Bằng chứng đạt. Learner có một chương trình chạy được trọn vẹn, dù rất đơn giản.
Hiểu lầm thường gặp. Dự án càng tham vọng càng đáng làm. Một chương trình nhỏ hoàn chỉnh dạy được nhiều hơn một dự án lớn bỏ dở, vì chỉ khi hoàn thành learner mới gặp các phần khó nhất: xử lý lỗi, hướng dẫn người dùng, và trường hợp bất thường.
Knowledge node. Phạm vi dự án · Sản phẩm tối thiểu · Hoàn thành trọn vẹn
Unit 2 · Someone else uses it (Có người khác dùng thử)
Tôi sẽ làm được đưa sản phẩm cho người khác dùng và quan sát họ gặp khó ở đâu.
Mastery level 6-11 · Lớp 7-12 · Communication (Giao tiếp) · Communities (Cộng đồng)
| Bậc | Learner làm được gì |
|---|---|
| Đang hình thành | Chỉ tự mình chạy thử, với dữ liệu mình tự nghĩ |
| Đạt | Cho người khác dùng và ghi lại chỗ họ vướng |
| Vững | Sửa theo quan sát thật, không tranh cãi rằng người dùng làm sai |
Bằng chứng đạt. Learner ngồi im quan sát một người dùng thử, không nhắc gì, và ghi được ba chỗ vướng.
Hiểu lầm thường gặp. Người dùng bấm sai là do họ không đọc hướng dẫn. Nếu nhiều người cùng bấm sai một chỗ thì đó là lỗi thiết kế, không phải lỗi người dùng. Đây là bước chuyển khó nhất của cả môn.
Knowledge node. Kiểm thử người dùng · Trải nghiệm sử dụng · Phản hồi · Thiết kế giao diện
Unit 3 · Work with other people (Làm việc cùng người khác)
Tôi sẽ làm được chia việc và ghép code với người khác mà không giẫm lên nhau.
Mastery level 8-12 · Lớp 9-12 · Communities (Cộng đồng)
| Bậc | Learner làm được gì |
|---|---|
| Đang hình thành | Mỗi người viết riêng rồi chép vào một chỗ, hỏng lung tung |
| Đạt | Chia việc theo phần độc lập, thống nhất giao diện giữa các phần |
| Vững | Dùng công cụ quản lý phiên bản, và xử lý được khi hai người sửa cùng chỗ |
Bằng chứng đạt. Nhóm của learner ghép được code của ba người mà không mất phần nào.
Hiểu lầm thường gặp. Chia việc là chia số dòng code cho đều. Chia tốt là chia theo phần ít phụ thuộc nhau, đúng như đã dựng ở Module 1.1; chia sai thì hai người chờ nhau suốt.
Knowledge node. Làm việc nhóm · Quản lý phiên bản · Xung đột khi ghép code · Giao diện giữa các phần
Dạy module này theo kiểu IB
Concept-based. Khái niệm dẫn dắt là Communities: phần mềm tồn tại vì có người dùng nó, và người dùng không phải người viết.
Inquiry. Khuôn quan sát im lặng:
Learner đưa chương trình của mình cho một bạn chưa từng thấy nó
↓
Luật: người viết KHÔNG ĐƯỢC NÓI GÌ trong 5 phút, chỉ ngồi nhìn và ghi
↓
Ghi lại mọi chỗ bạn kia ngập ngừng, bấm sai, hỏi lại
↓
"Chỗ nào em muốn nhảy vào giải thích nhất? Đó chính là chỗ cần sửa."Ràng buộc không được nói là toàn bộ sức mạnh của khuôn này. Cảm giác bức bối muốn giải thích chính là tín hiệu chính xác nhất về chỗ thiết kế đang thất bại, và learner cảm nhận được nó rõ hơn bất kỳ phiếu góp ý nào.