
在AP CSA考試中,最令各位同學們頭疼的莫過於FRQ不會寫,FRQ沒思路了。除了把基礎知識都牢牢掌握以外,對出題規律的把握也尤為重要。如果對FRQ的考試重點不夠熟悉,就可能會出現有力使不出的情況。

從2020年CB官方修改FRQ部分的大綱已經過去四個年頭,在新的出題形式下,各個專題題型的規律也逐漸變得清晰。20年之前的FRQ,每一題都有可能是橫跨多個單元大綜合;而20年後採用分專題的形式,每道題的側重點被固定在特定的單元之中,這就給各位同學極大的空間來找規律。程式設計從來都不是隻有唯一解,背標準答案很難從根本上提高大家的得分水平,那麼掌握深層次的規律和技巧就尤為重要。
TD特邀AP CSA明星教師——李昕航老師根據近年FRQ總結出做題讀題方法,各題型出題規律,並對大綱更新後的四道大題對應的題型進行詳細拆解,第一彈文章已釋出,詳情可戳下方文章瞭解。
【CSA FRQ高分衝刺】之Q2硬核拆解
2020年大綱更新後四道大題對應的題型分別為:
第一種題型主要考察如何編寫一個完整的類。首先同學們要對類的基本結構有非常清晰的認知,一個Class 應該包括三個部Instance Variable;Constructor和Methods。
然後透過讀題幹和分析例子設計出這三個部分的程式碼。面向物件程式設計的核心思想就是把某些事物抽象成物件,並研究其屬性和行為。另外一種是編寫一個完整的子類(subclass)。在一個已經給出的父類的基礎上設計一個繼承與該父類的更“小”的型別。
Instance Variable個體變數對應物件的屬性,CSA考試中所有的個體變數都設計為private即刻,往往這個private關鍵詞就可以佔到0.5分。Java以私有變數的形式對變數進行保護,避免外部對個體屬性造成不必要的修改。很多時候的題目裡面不會直接給出Instance Variable具體是哪幾個,往往需要同學們根據需要實現的功能來反推有哪些屬性。所以Instance Variable部分往往是最不直觀的,比較有難度的。

Constructor構造器部分用於構造個體。第一步大家可以透過觀察example找到這個構造器的具體呼叫。從20年-23年的每一道題我們都可以透過example中的構造器使用分析出編寫構造器時需要的引數,配合上其固定的格式,寫出構造器的header標頭,就已經拿到了0.5-1分。後續constructor body的部分考慮建立個體的時候都需要給哪些屬性賦值。

2023 Q2 Sign Class

2022 Q2 Textbook Class

2021 Q2 CombinedTable Class

2020 GameSpinner Class
Methods方法部分對應物件可以執行的行為。舉一些具體的例子,比如22年的Textbook Class,一本書可以顯示他的title標題以及edition版本,這些資訊也獲取自題幹或者example。

2022 Q2
與前面Constructor相同的一點是,透過example我們又可以確定每一個要寫的method的header標頭長什麼樣。確定return type返回值型別,parameters引數。Q2的第二個難點,就在Method的具體編寫過程中,而這裡面的具體寫法就要結合實際場景來分析了。
Inheritance如果涉及到繼承的題目,在書寫子類時的基本原則和普通類一樣,包括上述三個部分。但附加的一些額外功能要注意,比如子類可以直接繼承父類的屬性和方法,但是構造器不能直接繼承。構造器雖然不能直接繼承,但可以透過super() 來呼叫父類構造器。
比如22年Q2中的Book class就只作為我們要寫的Textbook的父類出現。

2022 Q2

AP CSA自由問答題Q2的拆解就到這裡啦,我們將在之後的文章中依次對Q3、Q4進行詳細拆解,希望可以幫助AP CSA的各位考生攻克難題,拿下5分~
本文作者

TD福利
TD教研組老師們為了幫助大家解決“找題簡單,彙總困難”的問題,收集並整理了AP CSA近十年的北美FRQ真題!助力大家考前刷題,應刷盡刷,刷最近的題,掌握最新的考試動態!有需要的同學只需新增下方小馬甲微信,並回復暗號「CSA十年」,就能免費get咯~(已有馬甲微信的同學無需重複新增,傳送暗號即可~)

