| Candidates should be able to: | Notes and guidance |
|---|---|
| 1 Understand the program development life cycle, limited to: analysis, design, coding and testing | • Including identifying each stage and performing these tasks for each stage: – analysis: abstraction, decomposition of the problem, identification of the problem and requirements – design: decomposition, structure diagrams, flowcharts, pseudocode – coding: writing program code and iterative testing – testing: testing program code with the use of test data |
| 2 (a) Understand that every computer system is made up of sub-systems, which are made up of further sub-systems (b) Understand how a problem can be decomposed into its component parts | • Including: – inputs – processes – outputs – storage |
| (c) Use different methods to design and construct a solution to a problem | • Including: – structure diagrams – flowcharts – pseudocode |
| 3 Explain the purpose of a given algorithm | • Including: – stating the purpose of an algorithm – describing the processes involved in an algorithm |
| 4 Understand standard methods of solution | • Limited to: – linear search – bubble sort – totalling – counting – finding maximum, minimum and average values |
| 5 (a) Understand the need for validation checks to be made on input data and the different types of validation check | • Including: – range check – length check – type check – presence check – format check – check digit |
| (b) Understand the need for verification checks to be made on input data and the different types of verification check | • Including: – visual check – double entry check |
| 6 Suggest and apply suitable test data | • Limited to: – normal – abnormal – extreme – boundary • Extreme data is the largest/smallest acceptable value • Boundary data is the largest/smallest acceptable value and the corresponding smallest/largest rejected value |
| 7 Complete a trace table to document a dry-run of an algorithm | • Including, at each step in an algorithm: – variables – outputs – user prompts |
| 8 Identify errors in given algorithms and suggest ways of correcting these errors | |
| 9 Write and amend algorithms for given problems or scenarios, using: pseudocode, program code and flowcharts | • Precision is required when writing algorithms, e.g. x > y is acceptable but x is greater than y is not acceptable • See section 4 for flowchart symbols • See section 4 for pseudocode |
| Thí sinh cần có thể: | Ghi chú và hướng dẫn |
|---|---|
| 1 Hiểu vòng đời phát triển phần mềm, giới hạn ở: phân tích, thiết kế, lập trình và kiểm thử | • Bao gồm xác định từng giai đoạn và thực hiện các nhiệm vụ cho mỗi giai đoạn: – phân tích: trừu tượng hóa, phân rã vấn đề, xác định vấn đề và yêu cầu – thiết kế: phân rã, sơ đồ cấu trúc, lưu đồ, mã giả – lập trình: viết mã chương trình và kiểm thử lặp – kiểm thử: kiểm thử mã chương trình bằng cách sử dụng dữ liệu kiểm thử |
| 2 (a) Hiểu rằng mọi hệ thống máy tính đều được cấu thành từ các hệ con, và các hệ con lại được cấu thành từ các hệ con nhỏ hơn (b) Hiểu cách một vấn đề có thể được phân rã thành các phần thành phần | • Bao gồm: – đầu vào – quá trình xử lý – đầu ra – lưu trữ |
| (c) Sử dụng các phương pháp khác nhau để thiết kế và xây dựng giải pháp cho một vấn đề | • Bao gồm: – sơ đồ cấu trúc – lưu đồ – mã giả |
| 3 Giải thích mục đích của một thuật toán đã cho | • Bao gồm: – nêu mục đích của thuật toán – mô tả các quy trình liên quan đến thuật toán |
| 4 Hiểu các phương pháp giải chuẩn | • Giới hạn ở: – tìm kiếm tuyến tính – sắp xếp nổi bọt – cộng tổng – đếm số – tìm giá trị lớn nhất, nhỏ nhất và trung bình |
| 5 (a) Hiểu nhu cầu về kiểm tra hợp lệ đối với dữ liệu đầu vào và các loại kiểm tra hợp lệ khác nhau | • Bao gồm: – kiểm tra phạm vi – kiểm tra độ dài – kiểm tra kiểu – kiểm tra sự tồn tại – kiểm tra định dạng – chữ số kiểm tra |
| (b) Hiểu nhu cầu về kiểm tra xác nhận đối với dữ liệu đầu vào và các loại kiểm tra xác nhận khác nhau | • Bao gồm: – kiểm tra trực quan – kiểm tra nhập hai lần |
| 6 Đề xuất và áp dụng dữ liệu kiểm thử phù hợp | • Giới hạn ở: – bình thường – bất thường – cực đoan – biên • Dữ liệu cực đoan là giá trị lớn nhất/nhỏ nhất được chấp nhận • Dữ liệu biên là giá trị lớn nhất/nhỏ nhất được chấp nhận và giá trị tương ứng nhỏ nhất/lớn nhất bị từ chối |
| 7 Hoàn thành bảng theo dõi để ghi lại chạy khô của một thuật toán | • Bao gồm, tại mỗi bước trong thuật toán: – biến – đầu ra – câu hỏi người dùng |
| 8 Xác định lỗi trong các thuật toán đã cho và đề xuất cách khắc phục những lỗi này | |
| 9 Viết và sửa đổi thuật toán cho các vấn đề hoặc tình huống đã cho, sử dụng: mã giả, mã chương trình và lưu đồ | • Cần sự chính xác khi viết thuật toán, ví dụ: x > y là chấp nhận được nhưng x is greater than y thì không chấp nhận được • Xem phần 4 để biết ký hiệu lưu đồ • Xem phần 4 để biết mã giả |


