Skip to content

Module 4.3 · Algorithms and free response (Thuật toán và bài tự luận) ​

Thuộc Package 4 · AP Computer Science A.

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

Tôi viết được một phương thức đúng hợp đồng đề ra, chạy đúng cả ở trường hợp biên, và tự tìm được lỗi của mình.

Unit4
Mastery level11 tới 12
Lớp (VN)11 tới 12
Key concept chínhIteration (Lặp)

Dạy module này theo kiểu IB ​

Learner đổi bài cho nhau: mỗi người viết bộ ca kiểm thử cho phương thức của bạn TRƯỚC khi đọc code bạn, chỉ dựa vào mô tả đề. Ai làm vỡ được code bạn bằng một ca biên thì cả hai cùng học được nhiều nhất.

Unit 1 · Two-dimensional arrays (Mảng hai chiều) ​

Tôi sẽ làm được duyệt mảng hai chiều theo hàng, theo cột, theo đường chéo, và giữ đúng thứ tự hai chỉ số.

Mastery level 11-12 · Lớp 11 · Iteration (Lặp)

BậcLearner làm được gì
Đang hình thànhDuyệt hết mảng hai chiều theo hàng bằng vòng lồng có sẵn mẫu
ĐạtViết được duyệt theo cột và theo đường chéo, dùng đúng số hàng và số cột cho từng vòng
VữngXử lý được mảng không vuông và giải thích vì sao hoán vị hai chỉ số làm chương trình văng lỗi ngoài biên

Bằng chứng đạt. Learner viết hàm chuyển vị một bảng không vuông, chạy đúng, và chỉ ra đúng chỗ trong code quyết định kích thước bảng kết quả.

Hiểu lầm thường gặp. Coi chỉ số đầu là cột vì quen đọc toạ độ x rồi y.

Knowledge node. Mảng hai chiều


Unit 2 · Searching and sorting (Tìm kiếm và sắp xếp) ​

Tôi sẽ làm được lần tay từng lượt của tìm kiếm nhị phân và của một thuật toán sắp xếp, và nói khi nào dùng cái nào.

Mastery level 11-12 · Lớp 11 · Iteration (Lặp)

BậcLearner làm được gì
Đang hình thànhNhắc lại được ý tưởng của tìm kiếm tuần tự và tìm kiếm nhị phân
ĐạtViết bảng biên trái, biên phải, điểm giữa qua từng lượt tìm kiếm nhị phân, và trạng thái mảng sau từng lượt sắp xếp chèn
VữngNói được vì sao tìm kiếm nhị phân sai khi mảng chưa sắp, và ước lượng số phép so sánh theo kích thước mảng

Bằng chứng đạt. Cho mảng mười phần tử và một khoá không tồn tại, learner ghi đủ các lượt tìm kiếm nhị phân và số lần so sánh, khớp với code chạy in ra.

Hiểu lầm thường gặp. Nghĩ tìm kiếm nhị phân nhanh hơn nên lúc nào cũng nên dùng, kể cả trên dữ liệu chưa sắp xếp.

Knowledge node. Tìm kiếm và sắp xếp


Unit 3 · Writing a method to spec (Viết phương thức đúng hợp đồng đề) ​

Tôi sẽ làm được đọc mô tả đề và viết phương thức đúng chữ ký, đúng giá trị trả về, không đổi thứ đề bảo giữ nguyên.

Mastery level 11-12 · Lớp 12 · Abstraction (Trừu tượng)

BậcLearner làm được gì
Đang hình thànhViết được thân hàm khi đã có sẵn chữ ký và ví dụ đầu vào đầu ra
ĐạtTự dựng chữ ký từ mô tả, dùng lại phương thức đề đã cho thay vì viết lại, trả về đúng kiểu
VữngChỉ ra trong đề những ràng buộc ngầm, ví dụ được phép giả định danh sách không rỗng hay không, và viết code khớp đúng ràng buộc đó

Bằng chứng đạt. Với một đề FRQ thật, learner nộp phương thức chạy qua bộ kiểm thử của lớp và không sửa mảng đầu vào mà đề yêu cầu giữ nguyên.

Hiểu lầm thường gặp. Viết lại từ đầu một phương thức mà đề đã cung cấp, vừa mất thời gian vừa mất điểm phần tái sử dụng.

Knowledge node. Viết phương thức đúng hợp đồng đề


Unit 4 · Edge cases and debugging (Ca biên và gỡ lỗi) ​

Tôi sẽ làm được tự nghĩ ra bộ ca kiểm thử làm vỡ code của chính mình trước khi nộp.

Mastery level 11-12 · Lớp 12 · Iteration (Lặp)

BậcLearner làm được gì
Đang hình thànhChạy thử một ví dụ giống hệt ví dụ trong đề rồi kết luận code chạy được
ĐạtLiệt kê đủ nhóm ca biên cho bài của mình: rỗng, một phần tử, phần tử đầu, phần tử cuối, không tìm thấy
VữngTừ một ca sai, thu hẹp về đúng dòng lỗi bằng cách chia đôi vùng nghi ngờ, không sửa mò

Bằng chứng đạt. Learner nộp cùng lúc phương thức và bảng ca kiểm thử, trong đó có ít nhất một ca biên đã từng làm bản nháp đầu của chính mình sai.

Hiểu lầm thường gặp. Tin rằng code chạy đúng ví dụ mẫu nghĩa là đã xong, trong khi điểm rơi phần lớn ở mảng rỗng và phần tử cuối.

Knowledge node. Ca biên và gỡ lỗi


Package 5 · AP Micro/Macroeconomics →