arrow_backQuay lại ghi chép lĩnh vực
CERTIFICATIONS Đã đăng 29 Jul 2026

AP Computer Science A: Điều Thực Sự Quan Trọng

Một hướng dẫn thực tế cho kỳ thi AP CS A — những gì được kiểm tra, làm thế nào bị mất điểm, và nên tập trung thời gian ôn tập còn lại vào đâu.

Kỳ thi AP Computer Science A thưởng cho những học sinh biết các đặc tính của Java một cách thành thạo, không chỉ những học sinh hiểu lập trình trong trừu tượng. Hai phần, 90 phút mỗi phần: 40 câu hỏi trắc nghiệm chiếm 50% điểm của bạn, và 4 câu hỏi tự luận chiếm 50% còn lại. Hầu hết học sinh mất điểm ở phần tự luận không phải vì không hiểu khái niệm, mà vì xử lý sai cú pháp Java dưới áp lực thời gian.

Bốn câu hỏi tự luận không phải ngẫu nhiên

College Board đã giữ cấu trúc FRQ nhất quán trong nhiều năm. Câu hỏi 1 hầu như luôn là các phương thức và cấu trúc điều khiển trên một lớp đơn lẻ. Câu hỏi 2 liên quan đến một lớp thực hiện một interface hoặc mở rộng một lớp khác. Câu hỏi 3 là thao tác mảng 2D. Câu hỏi 4 bao gồm ArrayList hoặc các lớp collection khác. Biết điều này trước có nghĩa là bạn có thể luyện tập từng loại câu hỏi cụ thể thay vì làm các bài "AP CS practice problems" chung chung.

Đặc biệt với Câu hỏi 3, hãy ghi nhớ mẫu vòng lặp lồng nhau để duyệt mảng 2D theo cả row-major và column-major:

for (int row = 0; row < arr.length; row++) {
    for (int col = 0; col < arr[row].length; col++) {
        // process arr[row][col]
    }
}

Các chấm điểm (được gọi là "Readers") sử dụng một rubric cấp điểm một phần cho các dòng logic đúng cụ thể, ngay cả khi câu trả lời cuối cùng của bạn sai. Viết return null; làm placeholder khi bạn bị stuck ở một phương thức trả về một đối tượng có giá trị cao hơn để nó trống.

Các bẫy trắc nghiệm xuất hiện hàng năm

Các câu hỏi về ==.equals() để so sánh String xuất hiện trong hầu hết các lần tổ chức. == so sánh tham chiếu cho các đối tượng; .equals() so sánh nội dung. Điều này làm học sinh bối rối vì string literal pool của Java đôi khi làm cho == trả về true cho các chuỗi mà theo logic không nên bằng nhau bằng tham chiếu, đó là chính xác loại bẫy mà kỳ thi thích kiểm tra.

Ứng dụng toán tử và chia số nguyên là những bẫy lặp lại khác. 7 / 2 được tính là 3, không phải 3.5, vì cả hai toán hạng là int. Ép một toán hạng thành double, như (double) 7 / 2, để có kết quả thập phân. Các câu hỏi cũng kiểm tra điều gì xảy ra khi bạn trộn int và double trong các biểu thức mà không có ép kiểu rõ ràng — biết rằng Java tự động nâng cấp trong số học hỗn hợp nhưng cắt ngắn khi gán kết quả double trở lại biến int.

Kế thừa và polymorphism có trọng lượng lớn hơn vẻ ngoài

Big Idea 4 (ClassObject Oriented Programming) xuất hiện trong cả hai phần, không chỉ trong các câu hỏi kế thừa chuyên dụng. Hiểu sự khác biệt giữa overriding và overloading, và biết rằng Java phân giải các phương thức được ghi đè tại thời gian chạy dựa trên loại đối tượng thực tế, không phải loại tham chiếu được khai báo:

Animal a = new Dog();
a.makeSound(); // calls Dog's version, not Animal's

Đây là runtime polymorphism, và kỳ thi kiểm tra nó bằng cách cho bạn một tham chiếu của một loại chỉ tới một đối tượng của một lớp con, sau đó hỏi phương thức nào thực sự thực thi. Các phương thức tĩnh và biến instance không tuân theo quy tắc này — chúng phân giải dựa trên loại được khai báo, và sự phân biệt đó là một bẫy yêu thích của kỳ thi.

Cơ chế Array và ArrayList bạn cần tự động, không tra cứu

Bạn sẽ không có quyền truy cập vào tài liệu Java trong kỳ thi. Ghi nhớ những điều này mà không do dự:

  • array.length (không có dấu ngoặc đơn, nó là một field)
  • list.size() (dấu ngoặc đơn, nó là một phương thức)
  • list.add(index, element) dịch chuyển mọi thứ sang phải
  • list.remove(index) dịch chuyển mọi thứ sang trái và trả về phần tử được xóa
  • Xóa phần tử từ ArrayList trong khi lặp qua với vòng lặp for-each ném ConcurrentModificationException; thay vào đó hãy lặp ngược với vòng lặp được lập chỉ mục khi xóa

Điểm cuối cùng thực sự là một trong những lỗi logic phổ biến nhất trong các phản hồi FRQ, và Readers thấy nó liên tục.

Cách dành hai tuần cuối cùng của bạn

Làm các FRQ quá khứ đầy đủ dưới các điều kiện thời gian thực tế — College Board xuất bản các kỳ thi quá khứ thực tế với hướng dẫn chấm điểm cho thấy chính xác cách cấp điểm. Đọc kỹ các hướng dẫn chấm điểm; chúng tiết lộ phần điểm một phần thực sự chi tiết đến mức nào, đôi khi xuống một biến được khai báo đúng. Đối với trắc nghiệm, tập trung thời gian ôn tập vào tracing đệ quy và lập chỉ mục mảng 2D, vì đó là nơi mà những lỗi bất cẩn làm mất điểm nhiều nhất so với mức độ đơn giản của khái niệm thực tế.

Nếu bạn muốn xây dựng những cơ sở Java bên dưới tất cả điều này một cách vững chắc hơn, hoặc xem các ví dụ có lời giải thích về các lớp, kế thừa, và thao tác mảng được chia nhỏ từng bước, hãy xem các phần Python và Computer Science trong thư viện Korra Studio để có thêm bài tập có cấu trúc.

Viết với hỗ trợ của AI, được xem xét và đăng bởi Michal Pilch (CISSP), Korra Studio.

Sẵn sàng đi xa hơn?

Đây là một ghi chép từ cơ sở kiến thức Korra Studio — nền tảng kết hợp mỗi chủ đề với phiên hỗ trợ 1-kèm-1.

Bắt đầu miễn phíarrow_forward