arrow_backНазад до польових записів
CERTIFICATIONS Опубліковано 29 Jul 2026

AP Computer Science A: на що варто звернути увагу

Практичний посібник до екзамену AP CS A — що перевіряється, як втрачаються бали та куди спрямувати своє навчання.

Екзамен AP Computer Science A винагороджує студентів, які добре знають особливості Java, а не просто розуміють програмування абстрактно. Два розділи, по 90 хвилин кожен: 40 питань з вибором відповіді (50% оцінки) та 4 питання з розгорнутою відповіддю (50% оцінки). Більшість студентів втрачають бали на розділі з розгорнутою відповіддю не тому, що не розуміють концепцію, а тому, що допускають помилки в синтаксисі Java під тиском часу.

Чотири питання з розгорнутою відповіддю не випадкові

College Board утримує структуру FRQ незмінною багато років. Питання 1 — це майже завжди методи та структури керування на одному класі. Питання 2 включає клас, який реалізує інтерфейс або розширює інший клас. Питання 3 — це маніпуляція 2D масивами. Питання 4 охоплює ArrayList або інші класи колекцій. Знаючи це заздалегідь, ви можете практикувати кожен тип питання окремо замість того, щоб робити типові «AP CS практичні завдання».

Для питання 3 особливо запам'ятайте вкладену структуру циклу для обходу 2D масиву як по рядках, так і по стовпцях:

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

Перевіряючі (звані «Readers») використовують рубрику, яка дає часткові бали за конкретні рядки правильної логіки, навіть якщо ваша остаточна відповідь неправильна. Написання return null; як заповнювача, коли ви застрягли в методі, який повертає об'єкт, коштує більше, ніж залишення його порожнім.

Пастки в тестах з вибором, які з'являються щороку

Питання про == порівняно з .equals() для порівняння String з'являються майже на кожному екзамені. == порівнює посилання для об'єктів; .equals() порівнює вміст. Це бентежить студентів тому, що пул рядків літералів Java іноді робить == істинним для рядків, які логічно не повинні бути рівні за посиланням, а це саме той вид підступу, який тест любить перевіряти.

Пріоритет операторів і ділення цілих чисел — це інші повторювані пастки. 7 / 2 дає 3, а не 3.5, тому що обидва операнди — це числа int. Наведіть один операнд до double, наприклад (double) 7 / 2, щоб отримати десятковий результат. Питання також перевіряють, що відбувається, коли ви змішуєте int і double у виразах без явного наведення типу — знайте, що Java автоматично підвищує тип при змішаній арифметиці, але обрізає результат при присвоєнні результату double змінній int.

Спадковість і поліморфізм мають більшу вагу, ніж видається

Велика ідея 4 (Class та об'єктно-орієнтоване програмування) з'являється в обох розділах, а не тільки в спеціальних питаннях про спадковість. Розумійте різницю між перевизначенням та перевантаженням, і знайте, що Java розв'язує перевизначені методи в часі виконання на основі фактичного типу об'єкта, а не оголошеного типу посилання:

Animal a = new Dog();
a.makeSound(); // викликає версію Dog, а не Animal

Це поліморфізм в часі виконання, і тест перевіряє його, даючи вам посилання одного типу, яке вказує на об'єкт підкласу, і запитуючи, який метод насправді виконується. Статичні методи та змінні екземпляра не слідують цьому правилу — вони розв'язуються на основі оголошеного типу, і цю різницю тест любить використовувати як пастку.

Механіка массивів та ArrayList, які мають бути автоматичними, а не шукатися

Під час екзамену у вас не буде доступу до документації Java. Запам'ятайте це без коливань:

  • array.length (без дужок, це поле)
  • list.size() (з дужками, це метод)
  • list.add(index, element) зсуває все вправо
  • list.remove(index) зсуває все вліво і повертає видалений елемент
  • Видалення елементів із ArrayList при ітерації вперед за допомогою for-each циклу викидає ConcurrentModificationException; натомість ітеруйте назад із індексованим циклом при видаленні

Цей останній момент — справді одна з найбільш поширених помилок логіки у відповідях FRQ, і Readers це постійно бачать.

Як провести останні два тижні

Робіть повні минулі FRQ в реальних умовах часу — College Board публікує справжні минулі екзамени з рекомендаціями оцінювання, які показують точно, як були присвоєні бали. Уважно читайте рекомендації оцінювання; вони розкривають, наскільки детальні часткові бали, іноді до однієї правильно оголошеної змінної. Для тестів з вибором зосередьте час повторення на трасуванні рекурсії та індексуванні 2D масивів, оскільки саме там необережні помилки коштують найбільше балів відносно того, наскільки простою є насправді основна концепція.

Якщо ви хочете більш твердо побудувати основи Java під всім цим, або подивитися опрацьовані приклади класів, спадковості та маніпуляції масивами, розібрані крок за кроком, перегляньте сегменти Python та Computer Science в бібліотеці Korra Studio для більш структурованої практики.

Написано з допомогою штучного інтелекту, перевірено та опубліковано Мішалем Пільчем (CISSP), Korra Studio.

Готові йти далі?

Це одна замітка з бази знань Korra Studio — платформа поєднує кожну тему з 1-на-1 менторингом.

Початок безплатноarrow_forward