Skip to content

Package 1 · Decompose (Phân rã bài toán) ​

Thuộc Curriculum Computer Science. Package không có chương tương ứng trong sách giáo khoa nào.

Tôi sẽ làm được gì

Tôi chia được một bài toán lớn thành những phần nhỏ mà tôi thật sự giải được.

Ý xuyên suốt package

Máy tính không dạy được tư duy máy tính. Phần quyết định thắng thua nằm ở cách chia bài và cách mô hình hoá nó, xong trước khi có dòng code đầu tiên.

Module3
Unit10
Mastery level1 tới 12
Lớp (VN)1 tới 12
Key concept chínhSystems (Hệ thống)

Package này không cần máy tính, và dạy được từ lớp 1. Nó cũng là chỗ phân biệt rõ nhất giữa learner học lập trình và learner học tư duy máy tính.

Module trong package ​

ModuleNội dungUnit
1.1 · Break it down (Chia nhỏ ra)Từ một việc lớn thành các bước làm được3
1.2 · Find the pattern (Tìm quy luật)Chỗ nào lặp lại thì chỗ đó rút gọn được3
1.3 · Abstract away detail (Trừu tượng hoá)Bỏ đi cái không liên quan, giữ lại cái cốt lõi4

Toàn bộ unit ​

UnitMastery level (B21)Lớp (VN)Key concept
1.1.1 Describe a task step by step (Kể một việc theo từng bước)1-51-6Systems
1.1.2 Split a big task (Chia một việc lớn)3-83-9Systems
1.1.3 What must happen first (Cái gì phải xong trước)4-94-10Systems · Development
1.2.1 Spot what repeats (Nhận ra chỗ lặp lại)3-83-9Patterns
1.2.2 Same shape, different numbers (Cùng dạng, khác số liệu)5-106-11Patterns
1.2.3 Reuse instead of rewrite (Dùng lại thay vì viết lại)6-117-12Development
1.3.1 What matters, what does not (Cái gì quan trọng, cái gì không)5-106-11Systems
1.3.2 Name things well (Đặt tên cho đúng)6-117-12Communication
1.3.3 Decide what data you need (Quyết định cần dữ liệu gì)8-129-12Systems
1.3.4 Model the problem (Mô hình hoá bài toán)9-1210-12Models · Systems

Chỗ hay bị bỏ qua ​

Unit 1.3.4 là chỗ phần lớn bài toán thật được quyết định thắng thua, trước khi có dòng code nào. Cùng một bài về lịch học có thể mô hình thành danh sách, thành bảng, hoặc thành đồ thị, và lựa chọn đó quyết định phần còn lại dễ hay khó tới mức nào.

Unit 1.3.2 thì trông như chuyện hình thức nhưng không phải. Một biến tên x và một biến tên soHocSinhVang khiến chương trình chạy y hệt nhau, nhưng khiến người đọc hiểu hoặc không hiểu, và người đọc thường là chính learner ba tuần sau.

Package 2 · Design an Algorithm →