AP Computer Science A 真的有那麼難嗎?

2021-02-08 漫漫留學路

    長期以來,網上並沒有什麼AP Computer Science A(下簡稱AP CS A)的詳細中文介紹。這導致了有關這門課的傳言始終不斷。


    今天,作為一個擁有四年競賽編程經驗以及參加了今年AP Computer science A考試的學生, 我便來當一當「流言終結者」,好好地破除一下有關這門課的謠言以及任何猜想,盡力還原一個真實的AP CS A。


AP CS A基本介紹

    College Board對AP CS A的官方介紹大致有如下幾點:


這是一門難度等同於大學CS(計算機科學)專業課第一學期難度的課程

這門課僅僅會涉及最基礎的Java語言以及算法(包括了基本運算,邏輯運算,if判斷語句,循環,類與繼承,最基礎的數據結構,遞歸,面向對象的基礎概念,最基礎的搜索以及排序算法)

AP CS A有一些所謂的「實驗題」(也就是考察學生如何運用所學的算法)

AP CS A考試時間一共三小時,一個半小時的選擇題,一個半小時的解答題(一共四道大題)

考試佔比最重的是iteration(for,while循環),邏輯運算,以及if語句。這三類加起來佔整場考試的40%之多


    一道AP CS A的選擇題是這樣的:

這種代碼輸出題佔了不小的比例


    一道Free Response(解答題)看起來是這樣的:

College Board會公布解答題(這是今年的FR題目,還有答案)

    大部分的選擇題都可以隨便帶入數據直接模擬,少部分的題目需要對類的繼承關係有著比較清晰的了解,只有一兩道題會考察「稍微複雜」一點的遞歸以及不同排序算法之間的效率比較(死記硬背結論都行)。


    解答題考察的主要是你對類的創建和整合能力,對if語句的運用,以及對數據結構的基本運用(當然還有最基礎的加減乘除和邏輯運算)。值得注意的是,每道選擇題的考察內容是固定的:


第一題:考察如何靈活運用題目內自定義的method來解決實際問題

第二題:考察學生是否會根據題目要求創建一個subclass(包括constructor,調用superclass內的函數,自己創建subclass內所需的函數)

第三題:考察學生對於字符/字符串的控制能力(比如插入,變換位置等)

第四題:一定是和二維數組有關的題

    

    其實在我看來,只要有一年及以上Java編程的同學便可以直接參加考試。College Board官方自認為自己的課程有大學CS專業第一學期課程的難度。但在我看來,如果真的有那麼難的話那乾脆人人都可以進CMU和UCB CS專業。他們所說的「College hardness」可能是「Community College」(社區學院)難度。

    


如何準備AP CS A

    在開始介紹前,我有一句話想說:


    千千萬萬不要相信Barron『s以及網上大部分的Practice Test(選擇題部分)!!!


    實際上,College Board從來沒有公布過任何選擇題以及其答案。每年CB只會公布FR(Free Response)。因此,網上所謂的「模擬考試」都是沒有任何根據的。那些「模擬考試」的題目大多來自於每年的Barron's AP CS A練習冊。

Barron's是幾乎每一個AP考生都會購買的書


    誠然,我在複習AP Physics 1和AP CS A時Barron's的書都給予我很大的幫助。但是,與Barron's AP Physics 1不同的是,巴朗的AP CS A練習冊上的Practice Test的難度與實際難度的差距實在是有些過大。不是說巴朗的題目太簡單,正相反,巴朗的題目實在是太難了。

    

    我所做過的所以巴朗練習考試題無一例外地都將中心放在class和inheritance上。的確,這兩個方面無疑是AP CS A的難點之一。然而,根據CB官方指南的介紹,這兩部分的佔比其實並不大。而實際考試題目也印證了這一點。Barron's的作者把這兩部分考得很深,這使得讓幾乎所有的考生都錯誤地估計了考試的難度。我和我的同學在考完選擇題部分後都一致感嘆:這題真的是太簡單了(和巴朗相比)


    那麼,這就意味著巴朗AP CS A不值得購買與使用嗎?正相反,這本書是極其適合從未接觸過編程的新手進行使用的。它對於每一個概念的講解十分深入淺出。只要你的英語水平過關,看懂這本書是比較容易的。在看巴朗AP CS A時,最重要的事無疑是用不同顏色的筆進行勾畫。巴朗的概念定義是十分緊湊的,很多很重要的細節與信息是很容易被忽略的。而那些被「忽略」掉的點有恰恰是考試的重點。如果定義沒有看懂,沒關係,每一個定義後面都會有一個樣例程序。結合著樣例程序來理解概念會變得更加輕鬆。


    那麼,如何準備選擇題呢?答案便是:只要把巴朗上的每一個基本知識點弄明白,選擇題是十分簡單的(也可以參照College Board官方所給出的教學大綱)


    技術的進步往往依靠的是互相交流,互相學習。而編程則是最能體現其思想的一門學問。真正有用的,詳細的知識往往都不在任何教科書中,而是在各大論壇上,而是在各種各樣的「網絡教程」中。計算機科學的迭代速度是十分快的,書籍的出版速度往往是跟不上程式語言版本的更新的。那些象牙塔裡的所謂「大師」的程序實現能力甚至還不如很多網際網路公司的一線開發員,因為他們往往能接觸到行業的前沿科技,他們必須時刻掌握每一個版本的細微變化。而同樣的,計算機科學也並不是「越老越吃香」。因此,那些隱藏在各大論壇裡寫回答的「大神」才是你我最好的老師。他們所寫的講解往往是最通俗易懂同時也是最全面的。最後,如果有一些有爭議的問題或概念實在是沒有人能夠回答,我們可以直接查詢Oracle官方對於這些概念的解答。


    最後,我想說的是:計算機科學是一門實踐性科學。沒有任何程式設計師能夠只通過手寫程序便可以完全了解一門語言的。在學習每一個新概念時,最好都要在電腦上運行一次,看看自己的理解是否有誤。很多的bug是很難用肉眼直接看出來的(比如死循環,堆棧溢出,邏輯錯誤等等)。只有反覆的調試才能徹底解決問題。


    總而言之,AP Computer Science A是一個極其簡單的考試,並沒有很多人眼裡那麼神秘。另外,我聽說今年以後的AP CS A考試會做調整,難度會進一步下降(不知是不是真的)。不管怎樣,這門考試的的確確是一個很好的讓新人接觸編程的一個機會。畢竟,多拿一門AP課,多拿一個AP考試滿分並不是一件壞事。


往期回顧:

    對不起,我不願追求「星辰大海」

    全新的開始——2018年8月至10月隨筆


相關焦點

  • 倫敦大學學院入學要求大盤點:Computer Science
    核心課程為:Algorithmics,Architecture and Hardware ,Design,Programming ,Systems Infrastructure入學要求:本科專業非computer science 或 information technology,需要證明自己有一定的數學、分析和編程能力,
  • US News | 2018 Best Graduate Computer Science Programs
    關 注 「琢 磨 留 學」 獲 取 更 多 留 學 資 訊 Best Graduate Computer Science ProgramsRanked in 2018Earning a graduate degree in computer
  • 倫敦大學學院入學要求大盤點:Computer Science完結篇
    12、Robotics MRes核心課程為:Robotic Systems Engineering入學要求:本科為高度相關專業比如computer science, mathematics, electrical engineering或者 the physical sciences
  • 申請文書寫作-computer science
    During my second year in college, I was attempting to transmit a group of characters comprising my name from one computer to another.
  • 離岸銀行開戶,真的有那麼難嗎?
    針對這一現象,近日,不少有離岸帳戶需求的客戶在設立海外公司時,常常會問:"聽說現在開設離岸帳戶很難,是真的嗎?"我們回答:"是的,挺難的,但並不是不能開。"隨著CRS的推行落實,各大銀行紛紛提高了開設離岸帳戶的要求和門檻,很多人都在擔心自己能否成功開設離岸帳戶的問題。
  • 學長學姐一定要告訴你的事情-第一話 Computer Science
    LinkedIn在2014年12月17日撰文稱,在對全球超過3.3億用戶的工作經歷和技能進行分析後,公布2014年最受僱主喜歡、最炙手可熱的25項技能。可能你在南方的豔陽裡,大雪紛飛;而我在北方的寒夜裡,四季如春;可能你在中部的農村看著一望無際的玉米地發呆忘我;而我在東部的城市數著川流不息的汽車思考人生。2.關於專業。說完大學,就要說說會陪伴你讀完4年大學,還可能是一生的專業。首先來安利一下我的專業,computerscience,簡稱cs,美國人喜歡把它叫成comp sci。
  • 考AP最後半個月,帶你極限上5!
    v=LE9KTG9PFho&list=PLllVwaZQkS2qK4Z6xBVDRak8an1-kqsgm&index=1詳細介紹了science practices,每一課都會有思維導圖,把知識形象地串起來,相比於
  • 人教版英語八上Unit 6《 I'm going to study computer science.》課文(含朗讀+翻譯)
    UNIT 6 I'm going to study computer science.
  • 考AP最後一個月,帶你極限上5!
    v=LE9KTG9PFho&list=PLllVwaZQkS2qK4Z6xBVDRak8an1-kqsgm&index=1詳細介紹了science practices,每一課都會有思維導圖,把知識形象地串起來,相比於
  • AP考前最後半個月,這些能救命的Youtuber帶你極限上分
    那麼今天,就讓我來帶你看看「光怪陸離」的 youtubers!俗話說得好「學得好不如複習得好」——from me。如果你已經兢兢業業好幾個月,有了厚厚的筆記本甚至是錯題本(太可怕了),最後時間利用起來這些簡短的小視頻,點亮你大腦中的記憶不失一個好方法。
  • 【ScienceNews】The new light-based quantum computer Jiuzhang...
    A new type of quantum computer has proven that it can reign supreme, too. A photonic quantum computer, which harnesses particles of light, or photons, performed a calculation that’s impossible for a conventional computer, researchers in China report online December
  • 隱形紗窗真的那麼難伺候嗎?
    隱形紗窗真的那麼難伺候嗎?可是,有人用過之後卻說,再也不用隱形紗窗了,因為隱形紗窗的使用壽命短,而且易壞難補。這是真的嗎?易壞難補清洗不便只好換下隱形紗窗這兩天,家住市區鄭阿姨將家中幾扇隱形紗窗換下,裝回了一般的移門紗窗。「我家才入住四年,主臥的(隱形紗窗)已經破了,它是靠吸鐵條吸住的,衛生間的已經吸不住了,拉出來的部分也彈不回去。」
  • 無線ap有幾種供電方式_無線ap一般裝在什麼位置
    打開APP 無線ap有幾種供電方式_無線ap一般裝在什麼位置 網絡整理 發表於 2020-04-15 14:10:01   無線ap有幾種供電方式   在網絡視頻監控系統中,不僅監控攝像機有三種供電方式,無線組網設備AP也有三種供電方式選擇。
  • 2017年12月英語四級美文:Computer Addiction
    17   They are compulsive computer programmers.   29   There are hackers at computer centers all across the country.   30   In their extreme form, they focus on nothing else.
  • 人教版八年級上冊單詞朗讀mp3+文本Unit 6 I'm going to study computer science
    人教版八年級上冊Unit 6 I'm going to study computer science
  • 專業 美國大學專業巡禮——計算機(Computer Science)
    人工智慧Artificial Intelligence, or AI for short, is a combination of computer science, physiology, and philosophy.
  • 數學真的像我們想像的那麼難嗎?
    然而真的是我們能力不夠嗎?數學真的如我們想像的那麼難嗎?作為一名初中數學無限接近滿分,高考130+的學生我就覺得我還是有發言權的。其實你會發現數學這門學科總是兩極分化。1、盲目刷題總是好多孩子抱怨我已經付出很多努力去學習數學了,為什麼還是那麼多分。這可能是你一直停滯不前的原因。試想一下,如果你基礎都沒搞懂,又談何去做題。一定要把基礎概念搞懂,題只是讓你發現這個知識點原來還可以這樣用。
  • 獨立主格結構,真的那麼難嗎?
    【獨立主格結構:真的那麼難嗎?】● 談起過去,我感到驕傲。● 爸爸談起過去,我感到驕傲。
  • 關于吉他的大橫按和弦,真的有那麼難嗎?
    關于吉他,民間流傳著這麼一句話;如果吉他少了大橫按和弦,那麼將會多出1w+的民謠歌手。可想而知大橫按和弦,難倒了多少愛琴人士,大橫按和弦為什麼這麼難?說到底無非還是練習學習方法的問題+個人綜合原因。現如今的網際網路網絡時代,其實想要了解一件事兒,真的不難,難的是這件事的正確答案,因為答案信息可能有很多,但實用有用可能就那麼的幾條+,畢竟真理是掌握在少數人手裡的。這一條真理定律在很多事情上都可以套用,包括學習掌握吉他的大橫按和弦。在開篇(編)之前,sir想問幾個問題?
  • science是「科學」,那麼你知道conscience是什麼意思嗎?
    我們都知道science有「科學」的意思,那麼conscience是什麼意思呢?以上就是今天所學內容,你學會了嗎?