(1)基本數(shù)據(jù)類型,基本操作算符,循環(huán)結(jié)構(gòu)(for loop),if語句(if statement)Built-in type / Operators (arithmeticoperators/relational operators /logical operators) / Control structures
(2)類和對象,認識方法,引用?Class / Methods/ References
(3)父類/子類,繼承/多態(tài),接口/抽象?/Inheritance/ Polymorphism
(4)標準類,超類,整數(shù)類,浮點類,字符串?/String class/ IntegerClass / Double Class
(5)一維數(shù)組,二維數(shù)組,ArrayList?One-Dimensional Arrays / List
(6)遞歸/排序/查找 Recursion / Sorting / Searching


(供參考)大體上按百分制計算的話,77分以上就可以5分AP CS 得分計算方法:Multiple Choice?40*1 40個選擇題每題1分,錯 誤不扣分Free Response?4*9*1.11 4個大題每題9分,再乘 一個權(quán)值是最終得分
(2018年APCS? 5分率) 27.5%
考試時間:2019年5月17日,下午
考試時長:選擇題:共40道,1小時30分鐘,占比50%FRQ:共4道,1小時30分鐘,占比50%

總體說如果配合老師的講義對這個教材的形式還算適應(yīng)的話,那么還是建議大家從開始就把他作為APCS課程核心教材的,因為畢竟他是面對APCS備考的。巴郎的優(yōu)點在于,他的知識點,分類總結(jié)的非常清楚,適合做概念樹、圖。每章后面的選擇題也不錯。強烈建議你把每個選擇題都“映射”到教材的概念中去。這樣你就可以站在一個全局的角度去感覺出題的方向,和側(cè)重點。
<Fundamentals of Java>
適合你在通讀教材的時候(比如巴郎),對于那些一時難以理解的概念,通過這本教材得以理解。總體說這本書的例子是非常經(jīng)典恰當(dāng),我的講義里也引用了很多他的例子。內(nèi)容非常全,適合時間比較充裕的學(xué)生。
<Be Prepared AP ComputerScience Exam in Java>
適合你在最后沖刺的階段,提升正確率和查缺補漏。他的5套模擬題稍稍難于真題、但低于巴郎模擬。
后面幾本可以選作平時的參考材料,因為巴郎作為教材實在太抽象了,沒有更多的例子。第五本作為中文的資料舉例非常詳實,很多不能理解的概念,通過例子一定會使你有豁然開朗的感覺,但他也有很多章節(jié)是跟 AP沒有關(guān)系的。
順便說,Java Concepts for APComputer Science 實在是有點貴了。
面對對象方面重點:繼承/多態(tài)/重載/重寫/抽象/接口難點:概念的認識比較容易混淆解決方案:老師一般會將重要的概念做各種形式的對比,ppt講義也主要是幫助大家在概念之間做對比和總結(jié)。另外建議大家在老師的帶領(lǐng)下制作自己的知識樹,對比圖加深對概念的認識。
重點:數(shù)組和字符串的操作
難點:線性表的基礎(chǔ)操作不熟悉也不愿意練
解決方案:必須多動手實踐,固定的基本操作就那么幾種,熟練了就可以以不變應(yīng)萬變。
重點:遞歸、查找和排序
難點:遞歸很難理解
解決方案:這個一定要有老師帶領(lǐng)找到畫樹形圖的技巧,從整體上理解遞歸的框架做題才不會被累得灰頭土臉,還得不到正確答案。
Multiple Choice
40個選擇題,主要考察那些容易混淆的知識點你是否掌握,比如重載和重寫大家常常分不清楚,接口和抽象分不清楚。
40個選擇題里還會有運行程序,計算結(jié)果的題目,就是給你一段代碼讓你預(yù)測其運行結(jié)果,或者判斷這個程序運行起來會不會有異常。這個需要一段時間的專門訓(xùn)練,達到能用肉眼跟蹤代碼計算正確結(jié)果的能力,且計算時間通常要被訓(xùn)練到能在很短的時間內(nèi)得到正確結(jié)果。確實,通常代碼都會顯得比較長,如果不經(jīng)過訓(xùn)練的話確實會比較沒有信心。
遞歸和排序搜索不在free response中出現(xiàn),而選擇題的出題范圍。


實際上如你所看到,還是會有多選題的。
Free Response
根據(jù)資料完成程序,就是給你一些需求,要求你設(shè)計一段代碼完成這些需求。需求常常被設(shè)計成2~3個,分別得分,如果你不能完成其中一個函數(shù)的設(shè)計a(或稱需求),那么另外的函數(shù)在需要調(diào)用這個函數(shù)的時候,可以被視作a函數(shù)已經(jīng)可以正常運行,所以三個函數(shù)通常是環(huán)環(huán)相套的。這幾年常見的題型有給你一個已知的數(shù)據(jù)結(jié)構(gòu),完成其中的一些基本操作,通常會包含查詢,刪除,統(tǒng)計的工作。線性表被視作每年必考的項目。


CB官網(wǎng)可下載歷年大題真題。
總體說AP CS的詞匯量并不多,對于95%的同學(xué)來說這是一門全新的學(xué)科,就算你在國內(nèi)的大學(xué)用中文去學(xué)習(xí)這門課程,面對的也是同樣多的新概念、“新詞”。AP只不過是把這些“新詞”換成了英文。理科的概念通常領(lǐng)會了意思、做一些例題就可以理解,無論它是中文的還是英文的。所以大可不必擔(dān)心有超多的單詞要背。
自學(xué)或報班怎么分階段備考?并不推薦大家在一開始的時候就自學(xué),除非你已經(jīng)有了良好的代碼基礎(chǔ)。編程除了需要一點邏輯性,一點語法之外,更重要的還是經(jīng)驗,它是通過實踐和練習(xí)來獲得領(lǐng)悟的學(xué)科。所以剛開始接觸不免得會覺得無從下手,且就算你磕磕絆絆寫出了一點代碼,期間的調(diào)試、運行,如果全憑自己的力量也會耗費很多時間。從AP CS這門課程的難度設(shè)計來說,這是一門開始稍難,后面容易的學(xué)科。因為畢竟它是一門語言,無論中國學(xué)生還是外國學(xué)生,突然轉(zhuǎn)換了語言系統(tǒng),剛開始會覺得用代碼(計算機語言)表達自己的思維(邏輯)是一個很困難的事情,再加上環(huán)境需要調(diào)試,沒有一個好的領(lǐng)路人,通常開始的階段會非常艱難,而且這個時間代價會花費得很不值當(dāng)。9-12月底,基本掌握前7章的知識點,概念,每個章節(jié)都要仔細完成課后的選擇題(巴郎)。對于每個章節(jié)重點部分,至少自己寫過10-20段的代碼(練習(xí))來進行運行調(diào)試以加深理解。這個時間大家可自行調(diào)節(jié)松緊度,因為畢竟你不是就APCS一個科目。
2. 1-2月份對每個模糊和錯誤的選擇題在教材中找到對應(yīng)知識點的位置,畫概念圖、樹進行梳理、總結(jié),重要的是開始接觸Free-Response題目。保證每天都可以寫1~2個小題,練習(xí)感覺。
3. 3-4月份重點就是刷真題,查缺補漏,根據(jù)自己的弱點調(diào)整訓(xùn)練的重點。選擇題在這個階段要保證質(zhì)量。想5分的同學(xué),40個選擇題應(yīng)該控制在4~5個左右的失誤。另外這個階段重要的就是訓(xùn)練Free-Response,提升你答題的時間,分析得分失分點,熟練掌握線性表所有的操作。零基礎(chǔ)自學(xué)的同學(xué)在第一、二階段會覺得比較艱難。那么記得上機實踐和理解概念同等重要,這是一門需要動起來的學(xué)科。勤加實踐才能理解抽象的概念。
中期計劃?(適合稍稍有一點代碼基礎(chǔ),但沒接觸過面對對象的同學(xué))
1. 1月~3月初之前完成教材的知識點概念。課后選擇題至少做過一遍。
2. 接下來用大概15天的時間專項攻克FR。先爭取質(zhì)量,每天至少寫5~8段小題適應(yīng)APCS的考試方式3. 3月末+整個4月,用來刷真題,查缺補漏。
這個程度自學(xué)的同學(xué)非常建議你在第二階段結(jié)束的時候,找老師做3~4次課時的總結(jié)、考察性質(zhì)的指導(dǎo),因為正是你覺得自己有代碼基礎(chǔ),反倒很可能忽略了一些重要的點。必須在這個時候及時加以修正。
短期計劃?(適合打過程序?qū)W術(shù)活動的同學(xué),通常這些同學(xué)會有良好的代碼基礎(chǔ))
1. 3月開始,你可以略過一些你比較熟悉的章節(jié),而將重點放在類、繼承、多態(tài)、接口、標準類這些面對對象的知識點。(這段時間可長可短,可以根據(jù)自己的程度調(diào)整)。
2. 如果能用2~3周把教材掃完的話,就可以做真題了,不要忽略FR,盡管你可能有良好的代碼基礎(chǔ)。但筆答題和機器測評是兩回事兒,你要理解你的程序未來還是人類憑借肉眼判斷。要專注那些基本的造作,APCS里沒有太多復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法。
AP CS 是大學(xué)48個專業(yè)的必修與選修課,涉及130個學(xué)科領(lǐng)域。80%的工科課程會用到計算機編寫程序,不僅如此,理科、金融、經(jīng)濟等學(xué)科也越來越重視程序設(shè)計的能力。數(shù)學(xué)/應(yīng)用物理/化學(xué)工程/機械工程/電氣工程/電子技術(shù)/環(huán)境科學(xué)/管理/經(jīng)濟/統(tǒng)計學(xué)/分子生物/數(shù)據(jù)庫/網(wǎng)絡(luò)工程/視覺藝術(shù)/統(tǒng)計學(xué)/語言學(xué)/土木工程/教育類/神經(jīng)科學(xué)/核工程/工業(yè)工程
這是個老話題了,太多的同學(xué)陷入了這個死穴。太多的同學(xué)用學(xué)習(xí)其他理科的方法來學(xué)習(xí)AP CS,覺得公式記熟,例題模型見過、做過,草紙運算能力過關(guān),就能答題就能得高分了我一直說,AP CS幾乎不是理科,因為它對你的數(shù)理邏輯資質(zhì)值需要的很低,它跟學(xué)習(xí)一門語言的體驗比較相當(dāng),但他又沒有那么多的單詞和那么多“詭異”的語法。大體上它需要一點點的數(shù)理邏輯,一點點的語法約束就可以寫文章了(代碼)。但是你千萬別忘記,學(xué)會了拼單詞和寫句子,也不等于你一個月之內(nèi)就會寫作文。所以,你需要一點時間來學(xué)習(xí)怎么用計算機的語言來說話和表達。所以,你需要一點時間來學(xué)習(xí)怎么說一句句邏輯嚴謹、沒有語法錯誤的話,進而學(xué)習(xí)怎么完整的表述成一段,然后再是一篇文章或一個Free-Response。
看到了太多的同學(xué)忙亂的只顧著教材的知識點和選擇題,認為代碼我都能讀的懂,選擇題我都會做,寫程序還是問題么?
錯!因為小學(xué)三年級的孩子就能看懂報紙,但他們寫不出文章,勉強寫一段100字兒的話,可能還有很多語法邏輯錯誤。
一句話——你需要時間積累。強烈建議從教材第一章過后你就開始寫代碼。不要等教材都學(xué)完了,再整體訓(xùn)練Free-Response的答題能力,這是個錯誤的學(xué)習(xí)路徑,不管別的學(xué)科是不是這種方法。
盡管巴郎教材的Free-Response 部分給你的感覺是需要學(xué)完了教材才能做題,但我們的訓(xùn)練步驟肯定不是這樣的,老師會從第二章(甚至第一章)開始,就同步給你布置很多小的練習(xí),從三行五行的代碼開始,逐步你就可以完整的應(yīng)對20-30行的代碼。而不是等五個月的學(xué)習(xí)之后,你面對一大篇Free-Response的答案(代碼),即不知道你自己如何落筆答題,也不知道代碼寫出來之后對比答案能得到多少分。
剛開始學(xué)說英語,大概你說的句子里有個錯誤的語法,別人也能對付聽得懂,因為人類語言的交流不單單是靠語法。但是編譯器不是這樣的工作的。它需要有嚴格的語法保證,否則它就不能工作。所以入門的時候需要有老師帶領(lǐng)你一起做程序,避免一些很低級的錯誤,否則你就會和這些失誤糾纏到寸步難行。
如同前面說的,對于AP CS來說,它不那么的理科,基本上你有初中的數(shù)學(xué)知識或美高的代數(shù)2的基礎(chǔ),就足以支撐學(xué)習(xí)好AP CS。同時,它也不是那么的“文科”,它的邏輯性很強,這就等于是說,它雖然是一門語言,但它沒有那么多語法。所有的語法都言簡意賅,沒有那種“有時候我們這樣...有時候我們又那樣....但在某些時候....”。所有的語法都被數(shù)學(xué)邏輯嚴謹?shù)募s束了,就那么幾款。說到單詞,個人覺得這可能是所有AP項目單詞量相對少的科目吧。你覺得單詞上有難度的時候往往是在題目描述上,但這是一門計算機語言的課程,對外國孩子來說它也是一門陌生的語言,所以考察的重點是在于你會不會用數(shù)學(xué)邏輯分析解決問題并用計算機語言描述,那么考官們怎么可能在題干上那么難為你呢?
是的,必須安裝一個比較順手的環(huán)境用來學(xué)習(xí)如何編寫代碼,并且形成習(xí)慣對于教材上那些不好理解的代碼要通過運行和調(diào)試看出倪端。盡管Free-Response是要求筆答,但是在進行FR訓(xùn)練的時候,寫出來的代碼不運行你就不知道會不會出錯,會不會有bug。在環(huán)境里運行代碼是對你思維的一個檢驗,在這個基礎(chǔ)上,你手工寫出的代碼才不至于偏離你的思路太遠,而你自己還完全沒有知覺。2015推出的課改,新增了3個實驗室的項目,也是基于想讓同學(xué)們多多動手實踐代碼的考慮。如果你登陸官網(wǎng)會發(fā)現(xiàn)實際上,美國高中開設(shè)AP CS的課程是要求必須跟著至少20小時以上的上機實踐的,這相當(dāng)于我們大學(xué)的實驗課。推薦Edit_Plus(需要預(yù)裝jdk) 以及 Eclipse
建議Edit_Plus 小巧玲瓏功能不少,作為編程初學(xué)再適當(dāng)不過,不要過于糾纏用什么環(huán)境,大而全的面向工程項目的環(huán)境其實不適合你,再酷也沒有用。
刪除了以往的GridWorld示例學(xué)習(xí),2015年之后增加了三個實驗室項目,他們分別是:Elevens_lab //針對線性表,array arrayList的學(xué)習(xí)Magpie_lab //針對字符串操作的學(xué)習(xí)Picture_lab //針對二維數(shù)組基本操作的學(xué)習(xí)
通過后面的解釋大家可以看出來,基本數(shù)據(jù)結(jié)構(gòu)的操作,在整個AP CS 的學(xué)習(xí)過程中占有的重要性,其實這三個項目真正面對的就是線性表的基本操作。
原來的GridWorld示例學(xué)習(xí)也是基于這個理念設(shè)計,只不過AP CS想把這個基本操作的考察變得更靈活一些,更基礎(chǔ)一些(實際上難度已經(jīng)照 GridWorld降低了一些)。原本靠背誦記憶GridWorld的基本代碼恐怕應(yīng)對不了現(xiàn)在這種考試方法了,因為教學(xué)大綱明確指出,盡管學(xué)生和老師都可以下載對應(yīng)的教學(xué)實驗室資料,但是考試一般不會出跟源碼一致的題目。他會換很多種方法考察你是否靈活掌握了這些數(shù)組、字符串上的基礎(chǔ)操作,簡單說就是插入,查詢,刪除,統(tǒng)計。
三個實驗并不是必須要做的。
是的,盡管AP CS是一個入門級的課程,但如同其他基礎(chǔ)語言一樣,都包含了一些簡單的數(shù)據(jù)結(jié)構(gòu)和算法。但是難度真的非常低。數(shù)據(jù)結(jié)構(gòu)方面僅僅考察到了數(shù)組、字符串(這些在計算機專業(yè)課里幾乎都不算高大上的數(shù)據(jù)結(jié)構(gòu))算法方面涉及到了排序、遞歸、和搜索,基本都是很簡單的內(nèi)容。總體說AP CS在將更多的內(nèi)容設(shè)計在了面對對象的方面,這一點是值得大家注意的。
是的,AP CS在04年之后采用的是java語言,不過好的消息是,如果你有良好的語言基礎(chǔ)的話,轉(zhuǎn)換語言會非常的快速和輕松。因為Java也算是C系列的風(fēng)格吧。那么未來你的重點就是應(yīng)該放在面對對象上,比如繼承和多態(tài)等等方面。另外你要適應(yīng)Free-Response的答題形式,因為是筆答,感覺和控制肯定和平時機器寫不同。
基本上你有初中的數(shù)學(xué)知識或美高代數(shù)2的基礎(chǔ)就足以支撐你學(xué)習(xí)APCS了,比如說函數(shù),坐標軸,絕對值(對于中國學(xué)生來說是不是太簡單了)。邏輯思維好一點,勤于動手的同學(xué)更容易獲得高分。
是的,會有非常大的幫助,因為參加過學(xué)術(shù)活動的同學(xué)一般會有非常好的代碼基礎(chǔ)。對于這個程度的同學(xué)來說,有2點值得注意:1.面對對象的知識、概念是很抽象的,需要一個過程去理解,且這部分在APCS占很重要的比重。2. 還是希望這個程度的同學(xué)不要輕視了他的難度,畢竟書寫代碼解決問題和上機操作運行結(jié)果是兩個感覺,且是人工在評判代碼。
換學(xué)分具體要看申請學(xué)校的政策。一般情況下,AP換學(xué)分的有效分數(shù)至少需要3分,一些排名不是非常靠前的大學(xué)3分以上都能換到不同的學(xué)分,但如果申請好一些的大學(xué),就需要多加復(fù)習(xí)鞏固,爭取拿到4分以上。?換學(xué)分查詢網(wǎng)址:https://apstudent.collegeboard.org/creditandplacement/search-credit-policies
掃碼添加翰林小助手 解鎖更多資源!?


? 2025. All Rights Reserved. 滬ICP備2023009024號-1