本文由青苗幼兒園整理發(fā)布,歡迎聯(lián)系預(yù)約參觀學(xué)校
01為什么學(xué)習(xí) AP-CSA課程?
1大學(xué)學(xué)分的先修獲取
成功通過AP-CSA考試,你將有機(jī)會(huì)獲得大學(xué)學(xué)分,從而在大學(xué)期間減輕課程負(fù)擔(dān)。鑒于AP-CSA的高含金量,眾多大學(xué)都高度認(rèn)可并接受4分或5分的成績(jī)。
2增強(qiáng)大學(xué)申請(qǐng)的競(jìng)爭(zhēng)力
在申請(qǐng)大學(xué)時(shí),AP-CSA課程的成績(jī)將成為你簡(jiǎn)歷中的一大亮點(diǎn),顯著提升你的申請(qǐng)競(jìng)爭(zhēng)力。
3拓寬職業(yè)前景與技能提升
計(jì)算機(jī)科學(xué)相關(guān)職業(yè)在現(xiàn)代社會(huì)中炙手可熱,不僅需求量大,而且薪資水平高。進(jìn)入大學(xué)后,你會(huì)發(fā)現(xiàn)編程技能已成為眾多專業(yè)的必備技能之一。而通過學(xué)習(xí)AP-CSA,你將有機(jī)會(huì)提前打好基礎(chǔ),為未來的職業(yè)生涯鋪平道路。
02
AP-CSA課程基本信息
1考試概述
AP-CSA考試評(píng)估學(xué)生對(duì)課程框架中概述的計(jì)算思維實(shí)踐和學(xué)習(xí)目標(biāo)的理解??荚嚂r(shí)長(zhǎng)3小時(shí),包括40道多項(xiàng)選擇題和4道自由回答問題。作為考試的一部分,學(xué)生將獲得Java便捷參考,其中列出了可能包含在考試中的Java庫的可訪問方法。
考試時(shí)間
考試形式

*AP-CSA歷年分?jǐn)?shù)率
2考試注意事項(xiàng)
選擇題部分
選擇題部分側(cè)重于考察學(xué)生對(duì) Java 編程語言的理解,很多問題都涉及 Java 的具體特性。因此,熟悉 Java 的基本語法和常見的編程概念是非常重要的。以下是一些您需要特別注意的內(nèi)容:
自由回答部分
自由回答部分通常要求學(xué)生編寫代碼或解決具體問題。為了應(yīng)對(duì)這一部分,您需要具備扎實(shí)的編程能力和邏輯思維能力。建議多做一些歷年真題,以熟悉題型和評(píng)分標(biāo)準(zhǔn)。還要注意, 今年的自由回答部分改為線上作答了。
3AP-CSA課程適合學(xué)生
有志于STEM領(lǐng)域深造的學(xué)生
編程興趣濃厚或未來可能涉足編程的學(xué)生
渴望提升邏輯思維與問題解決能力的學(xué)生
03AP-CSA課程整體大綱
1基本學(xué)習(xí)內(nèi)容

*AP-CSA課程大綱
該課程分為十個(gè)單元。老師可能會(huì)根據(jù)優(yōu)先級(jí)和偏好選擇以不同的方式組織課程內(nèi)容。
第1單元-原始類型
編程語言Java的基礎(chǔ)知識(shí),以及其他編碼的基本概念
第2單元-使用對(duì)象
參考數(shù)據(jù)作為在數(shù)字世界中表示現(xiàn)實(shí)世界對(duì)象的方法,以及執(zhí)行更復(fù)雜操作的方法
第3單元-布爾表達(dá)式和if語句
算法的構(gòu)建塊和使用條件語句解決問題和控制結(jié)果
第4單元-迭代
迭代,另一個(gè)用于重復(fù)的算法構(gòu)建塊
第5單元-寫作課程
如何通過將行為和屬性組織到課堂上以數(shù)字方式表達(dá)現(xiàn)實(shí)世界的互動(dòng),以及計(jì)算機(jī)編程的法律和倫理影響
第6單元-數(shù)組
處理相關(guān)數(shù)據(jù)集合的技術(shù)和標(biāo)準(zhǔn)算法,稱為數(shù)據(jù)結(jié)構(gòu)
第7單元-ArrayList
深入研究數(shù)據(jù)集,探索ArrayList對(duì)象以獲取大量數(shù)據(jù),以及與個(gè)人數(shù)據(jù)存儲(chǔ)相關(guān)的隱私問題
第8單元 - 2D陣列
2D陣列和實(shí)驗(yàn)表中表示的數(shù)據(jù)集
第9單元-繼承
通過使用子類創(chuàng)建層次結(jié)構(gòu)來操作編程,而無需更改現(xiàn)有代碼
第10單元-遞歸
通過使用遞歸方法解決同一問題的更小、更簡(jiǎn)單的版本來解決更大的問題
*在報(bào)名參加本課程之前,學(xué)生應(yīng)對(duì)代數(shù)和解決問題的技能有基本的了解。
2AP-CSA詳細(xì)知識(shí)點(diǎn)
1.要記住的命名規(guī)則:java語言中命名規(guī)則大小寫是認(rèn)為不同的,雖然這部分不會(huì)直接考察但不排除會(huì)間接考察,還是要強(qiáng)調(diào)養(yǎng)成好習(xí)慣。
2.三種常見數(shù)據(jù)類型:int 整型:二進(jìn)制數(shù)據(jù),第一位代表正負(fù),0代表負(fù)數(shù),1代表正數(shù),其余數(shù)位代表整數(shù)的絕對(duì)值;Double 浮點(diǎn)型:認(rèn)為是可以帶小數(shù)的數(shù)字即可;Boolean 邏輯類型,只有兩種數(shù)值 真 或 假。
3.要記得,整型強(qiáng)制轉(zhuǎn)化為浮點(diǎn)型相當(dāng)于在末尾加了小數(shù)點(diǎn),而浮點(diǎn)型強(qiáng)制轉(zhuǎn)化為整型只是把小數(shù)點(diǎn)后面的小數(shù)去掉,而不是四舍五入。
4.十進(jìn)制數(shù)字到二進(jìn)制數(shù)字的計(jì)算方法,十六進(jìn)制和二進(jìn)制的轉(zhuǎn)換方法,“4位分組后組合”。
5.要記住的常見運(yùn)算加減乘三個(gè)都是我們平時(shí)所理解的計(jì)算方法,除法中注意,整型相除,得到的數(shù)字沒有小數(shù)點(diǎn),出現(xiàn)小數(shù)直接舍去只要整數(shù)部分,不存在四舍五入;取余運(yùn)算是一個(gè)% 。“==”表示測(cè)試兩端的量是否相等而“=”則表示把數(shù)值賦給等號(hào)左端的變量比如a=5。
6.邏輯運(yùn)算符里面的 “短路效應(yīng)”:A&&B 如果A為假的,則B不會(huì)被測(cè)試到而直接判定整個(gè)式子為假;A||B如果A為真的則B不會(huì)被測(cè)試到而直接判定整個(gè)式子為真。
7.對(duì)于變量的遞增遞減運(yùn)算:i++先用后加;++i先加后用;i--是先用后減去;--i是先減后用。
8.記住各種運(yùn)算符號(hào)的優(yōu)先級(jí)別。
9.輸入輸出。輸入只需要記住偽代碼即可:Int a=IO.readInt;而對(duì)于輸出語句來說:System.Out.print;表示打印到屏幕后不換行;System.Out.println;表示打印到屏幕后換行。三個(gè)轉(zhuǎn)義字符:n 表示換行 ”表示雙引號(hào) 表示斜杠
10.條件語句if…else…嵌套問題需要配對(duì)。不加大括號(hào)的狀態(tài)下,java中的if只會(huì)找距離最近的else配對(duì)。
11.for循環(huán),因?yàn)橛袠?biāo)志性的計(jì)數(shù)器,因此可以訪問或修改數(shù)組或數(shù)組列表中指定的對(duì)象或數(shù)據(jù),但for-each 循環(huán)只能逐一讀取數(shù)組或數(shù)組列表中的數(shù)據(jù),而不能修改。While循環(huán)注意要設(shè)置 終止條件,而且每進(jìn)行一步操作都接近終止條件,最終停止循環(huán),否則將會(huì)造成死循環(huán)。另外用兩個(gè)for循環(huán)嵌套可以來進(jìn)行二維數(shù)組的操作是需要掌握的。
12.把對(duì)象和類進(jìn)行形象化理解:“類”好像我們寫在紙面上的一些特征比如我們寫“四條腿的動(dòng)物”,就如同我們寫出來的文件一樣,注意類名和文件名一定要一致不同的類寫在不同的文件中,如果需要多個(gè)類,就需要多個(gè)文件,最后主文件調(diào)用這些類文件;對(duì)象就像擁有不同參數(shù)的屬于這個(gè)類的實(shí)體,比如屬于“四條腿的動(dòng)物”的可以是“貓”那么貓就是一個(gè)具體的對(duì)象,在計(jì)算機(jī)中表現(xiàn)為在內(nèi)存中“出生”的數(shù)據(jù)塊,比如“賬戶”是類,那么內(nèi)存中產(chǎn)生了有不同賬戶數(shù)據(jù)的 “賬戶1”、“賬戶2”、“賬戶3”等。類文件中四個(gè)主要的“元素”:私有變量、構(gòu)造函數(shù),訪問器和修改器。私有變量:只能是本類中自己的方法訪問的數(shù)據(jù)。構(gòu)造函數(shù):用于在內(nèi)存中構(gòu)造一個(gè)實(shí)例。訪問器:只讀取本類對(duì)象中的變量。修改器:修改本類對(duì)象中的數(shù)據(jù)。
13.對(duì)象的參考:如同把一個(gè)對(duì)象賦給一個(gè)變量,比如B=某對(duì)象;相當(dāng)于B中存放著一個(gè)“指向標(biāo)”,指向存放對(duì)象的內(nèi)存區(qū)域,而不是存放證對(duì)象數(shù)據(jù)區(qū)域本身。在傳遞的過程中,也是傳遞的“指向標(biāo)”,而不會(huì)產(chǎn)生新的對(duì)象,要想產(chǎn)生新的對(duì)象,必須重新調(diào)用構(gòu)造函數(shù)
14.類中的靜態(tài)變量:作用于每一個(gè)由此種類產(chǎn)生的全部對(duì)象。就像在同一個(gè)池塘里面所有的青蛙,池水的溫度對(duì)于每一只青蛙都是相同的。那么這個(gè)溫度就相當(dāng)于青蛙這個(gè)類中的靜態(tài)變量。
15.方法的重載:類中可以有同樣名稱的函數(shù),但是返回類型、參數(shù)數(shù)量和類型,需要有所區(qū)別。在調(diào)用的時(shí)候,程序根據(jù)不同的返回類型、參數(shù)數(shù)量和類型自動(dòng)調(diào)用對(duì)應(yīng)的函數(shù)。
16.this 關(guān)鍵字:程序中涉及到兩個(gè)同類對(duì)象比較的時(shí)候,本對(duì)象的參數(shù)a 和 他對(duì)象的參數(shù)a比較的時(shí)候,為了準(zhǔn)確定位 this.a 表示本對(duì)象的 另外對(duì)象的a 比如是OTHER.a 表示的是另外一個(gè)對(duì)象的a。
17.形式參數(shù)和實(shí)際參數(shù):我們?cè)趯懞瘮?shù)的時(shí)候,在函數(shù)內(nèi)部定義的叫做形式參數(shù),真正參加運(yùn)算的就這些參數(shù),系統(tǒng)會(huì)把參數(shù)的數(shù)值傳遞給這些參數(shù)然后運(yùn)算。方法結(jié)束后,這些參數(shù)也會(huì)消失了,因此想要把計(jì)算的結(jié)果保留住,需要把結(jié)果再傳遞給函數(shù)外部的變量。實(shí)際參數(shù),就是我們調(diào)用某個(gè)方法的時(shí)卸載函數(shù)括中的數(shù)據(jù),如product 這里的3,5 表示實(shí)際的參數(shù),他們不直接參與運(yùn)算,只充當(dāng)一個(gè)信息傳遞員。
18.繼承和多態(tài):類是可以繁衍的,衍生出來不同的子類。子類不但繼承父類的所有方法、變量還可以增加自己特有的數(shù)據(jù)類型和方法,因此它會(huì)比父類更大,這樣子類就可以直接調(diào)用父類的函數(shù)和變量更加方便。多態(tài)是說,原來在父類中的函數(shù),在子類中根據(jù)不同的情況,各自有不同的處理方式的現(xiàn)象。
19.抽象類和接口:抽象類,可以看做是有抽象方法而不能夠被實(shí)例化的類,也就是說,不能用抽象類產(chǎn)生實(shí)際的對(duì)象。接口可以理解為只含有抽象函數(shù)的“類”,任何變量都沒有,所有的函數(shù)都沒有寫出代碼來,凡是繼承這個(gè)接口的都有了這些函數(shù),都需要在未來把這些函數(shù)“落實(shí)”。
20.向下兼容:抽象類和接口定義的變量,都可以指向一個(gè)由其后代衍生出來的實(shí)例對(duì)象。還可以是父類定義的變量都可以指向由子類產(chǎn)生的具體對(duì)象。
21.重載和多態(tài):重載是在一個(gè)類中同時(shí)寫出相同名稱、但有不同返回值、不同參數(shù)數(shù)量和類型的函數(shù),在調(diào)用的時(shí)候,根據(jù)這些數(shù)據(jù)的不同自動(dòng)調(diào)用寫好的某個(gè)函數(shù);多態(tài)是指,在不同的子類中對(duì)父類中同樣一個(gè)函數(shù)做出的不同的處理方案,實(shí)現(xiàn)多種不同的狀態(tài)。
22.標(biāo)準(zhǔn)類:在考試的時(shí)候會(huì)給出一個(gè)小冊(cè)子叫做 Quick Reference 里面涉及到一些常用的標(biāo)準(zhǔn)類,一定要把這個(gè)冊(cè)子中的標(biāo)準(zhǔn)類搞清楚、用熟練。Object類:注意含有的toString和equals函數(shù),可以根據(jù)實(shí)際需要重寫。
String類:在已經(jīng)定義了一個(gè)string對(duì)象的情況下,如果再定義一個(gè)string對(duì)象,而內(nèi)容又完全形同的情況下系統(tǒng)不會(huì)開辟新的空間,只會(huì)讓新建立的對(duì)象reference指向已有的對(duì)象。要想產(chǎn)生兩個(gè)在內(nèi)存中的對(duì)象,需要再調(diào)用一次new函數(shù) 比如:String a = "abc";String s = newString;以上兩句結(jié)束后,內(nèi)存中有兩個(gè)對(duì)象。String a = "abc";String s = "abc";以上兩句結(jié)束后,內(nèi)存中只存在一個(gè)對(duì)象,只是兩個(gè)“指針”指向同一個(gè)對(duì)象。
Wrapper類:Integer 理解為含有一個(gè)int數(shù)值還包括一些類操作函數(shù)的類,Double 理解為含有一個(gè)double數(shù)值還包括一些操作函數(shù)的類。
Math類中的所有函數(shù)都是靜態(tài)的,因此調(diào)用的時(shí)候,直接用類名加點(diǎn)來調(diào)用如:Math.abs;隨機(jī)數(shù)方法 random numbers:Math.random;產(chǎn)生的數(shù)據(jù)范圍是0.0 ≤ r <1.0,是Double類型的數(shù)據(jù),據(jù)此我們可以加上乘法或者加減法來產(chǎn)生任意范圍的隨機(jī)數(shù),要想產(chǎn)生整型隨機(jī)數(shù)需要強(qiáng)制轉(zhuǎn)化:int n = * k) +p; 這樣產(chǎn)生隨機(jī)數(shù)的范圍被調(diào)整到了:p, p+1,..., p+
23.數(shù)組和數(shù)組列表最重要的區(qū)別是數(shù)組是固定長(zhǎng)度的,有固定個(gè)數(shù)的數(shù)據(jù),數(shù)組列表是可以動(dòng)態(tài)變化長(zhǎng)短的數(shù)據(jù)的個(gè)數(shù)是不固定的。同時(shí)需要掌握數(shù)組列表中的常用方法,這些都在QuickReference 中存在;另外注意用兩個(gè)for循環(huán)就可以遍歷二維數(shù)組的每個(gè)變量。
24.遞歸方法:可以認(rèn)為是自己調(diào)用自己的方法,但是一定要有一個(gè)趨向于結(jié)束的運(yùn)算操作,否則會(huì)造成無限循環(huán)。再一次調(diào)用自己的時(shí)候,還沒完成的操作部分會(huì)被暫時(shí)掛起,等待最后一個(gè)調(diào)用徹底執(zhí)行后,反過頭來逐一完成掛起的操作,先執(zhí)行距離目前最近的被掛起的操作,再執(zhí)行比較“久遠(yuǎn)”的被掛起的操作。
25.搜索和排序:著重復(fù)習(xí)選擇排序、插入排序、歸并排序;順序搜索、二分搜索。
3概念理解內(nèi)容
以下幾個(gè)宏觀概念是本課程的學(xué)習(xí)基礎(chǔ),幫助學(xué)生在概念之間建立有意義的聯(lián)系,并培養(yǎng)更深入的概念理解能力:
模塊化
變量
控制
計(jì)算的影響
4計(jì)算思維實(shí)踐
在探索課程概念時(shí),學(xué)生應(yīng)培養(yǎng)以下計(jì)算思維技能:
1
程序設(shè)計(jì)和算法開發(fā)
決定產(chǎn)生所求結(jié)果所需的代碼段。
2
代碼邏輯
根據(jù)某初始值確定程序代碼的輸出、值或結(jié)果。
3
代碼執(zhí)行
編寫并運(yùn)行程序代碼。
4
代碼測(cè)試
分析程序代碼的正確性、等價(jià)性和錯(cuò)誤。
5
文檔
描述在程序中產(chǎn)生所要結(jié)果的行為和條件。
04
AP-CSA推薦書籍
1Computer Science A Textbooks

全書共1040頁,主要內(nèi)容包括:Lambda 表達(dá)式、默認(rèn)和靜態(tài)方法接口,Java 7 中的集成 Try-With 資源,嵌入式問題操作指南,使用顏色跟蹤代碼段以便于識(shí)別的漸進(jìn)圖,以及每章末尾的示例和自檢練習(xí)。
優(yōu)點(diǎn)
-
通俗易懂:《Big Java》講解Java編程的基礎(chǔ)知識(shí)非常透徹,清晰易懂,對(duì)于初學(xué)者來說非常友好;
-
綜合性強(qiáng):這本書內(nèi)容非常綜合,不僅講解了Java編程語言的基礎(chǔ)知識(shí),還包括了面向?qū)ο缶幊獭惓L幚?、GUI編程、多線程編程等高級(jí)概念,對(duì)于進(jìn)階學(xué)習(xí)也非常有幫助;
-
實(shí)用性強(qiáng):《Big Java》中的例子非常實(shí)用,作者通過大量的實(shí)例來講解各種Java編程概念,幫助讀者更好地理解和掌握J(rèn)ava編程。
缺點(diǎn)
2ABSOLUTE JAVA

全書共1263頁,充分介紹了新手掌握 Java 語言所需的工具和 Java 主題,結(jié)合了新的 Scanner 類、自動(dòng)裝箱和拆箱、用于格式化輸出的 System.out.pintf 和增強(qiáng)的 for 循環(huán)。全面涵蓋了泛型類型,包括如何定義帶有類型參數(shù)的類、作為泛型類完成的集合類以及帶有類型參數(shù)的鏈表,教學(xué)功能貫穿始終。
優(yōu)點(diǎn)
-
結(jié)構(gòu)清晰:章節(jié)結(jié)構(gòu)明了,適合學(xué)習(xí)Java編程語言的逐步深入;
-
介紹有重點(diǎn):重點(diǎn)介紹Java編程的基礎(chǔ)知識(shí)和概念,包括控制結(jié)構(gòu)、數(shù)據(jù)類型、方法和對(duì)象等,非常適合Java編程的初學(xué)者;
-
作者經(jīng)驗(yàn):該書的作者Walter Savitch在Java編程語言方面有多年的經(jīng)驗(yàn),書中的講解和解釋都非常清晰易懂。
缺點(diǎn)
-
過于繁復(fù):可能過于詳細(xì)解釋了一些Java的基礎(chǔ)知識(shí),對(duì)于有一定編程經(jīng)驗(yàn)的讀者可能會(huì)感到無聊或浪費(fèi)時(shí)間。
-
限制展開:沒有涉及到Java編程的高級(jí)概念和高級(jí)技術(shù),可能會(huì)限制讀者在學(xué)習(xí)完該書后的進(jìn)一步學(xué)習(xí)和發(fā)展。
-
缺乏更新:對(duì)一些新的Java技術(shù)缺乏涵蓋,如Java8的Lambda表達(dá)式和函數(shù)式接口等,這些技術(shù)在實(shí)際編程中非常有用。
3Java software solutions

全書共718頁,主要介紹通用集合類的使用、自動(dòng)裝箱和拆箱、討論類型安全的枚舉。更側(cè)重于面向?qū)ο蟮脑瓌t??上螺d的補(bǔ)充資料包括教師手冊(cè)、講座 PowerPoint、源代碼、課程計(jì)劃等。
優(yōu)點(diǎn)
-
目標(biāo)符合:與APCSA課程的學(xué)習(xí)目標(biāo)一致,這本書的內(nèi)容和課程要求非常吻合,可以幫助學(xué)生全面掌握APCSA課程的重要知識(shí)點(diǎn);
-
大量示例代碼:這本書提供了很多代碼示例,能夠讓學(xué)生更好地理解和掌握J(rèn)ava編程語言的語法和結(jié)構(gòu);
-
實(shí)踐性強(qiáng):本書強(qiáng)調(diào)了實(shí)踐性的學(xué)習(xí),為學(xué)生提供了大量的編程練習(xí)和項(xiàng)目實(shí)戰(zhàn);且習(xí)題設(shè)計(jì)多樣,包括單選、多選、填空和編程題等多種類型,能夠充分鍛煉學(xué)生的思維和編程能力;
缺點(diǎn)
-
水平較簡(jiǎn)單:這本書內(nèi)容偏向基礎(chǔ),適合初學(xué)者,但對(duì)于已經(jīng)有一定編程基礎(chǔ)的學(xué)生可能會(huì)覺得過于簡(jiǎn)單;
-
缺少高級(jí)主題:本書的內(nèi)容相對(duì)較為基礎(chǔ),缺少一些高級(jí)主題的講解,對(duì)于希望進(jìn)一步深入學(xué)習(xí)Java的學(xué)生來說可能會(huì)有所不足;
-
部分代碼不夠精簡(jiǎn):在一些示例代碼中,作者可能會(huì)寫出一些冗余的代碼,這會(huì)使代碼顯得有些臃腫,不利于學(xué)生的理解和實(shí)踐;
4Computer Science A Learning Aids

全書共504頁,更新后的手冊(cè)為考生提供了三套 AP實(shí)踐測(cè)試,并配有測(cè)試診斷圖表,詳細(xì)解答了每個(gè)測(cè)試問題。主題涵蓋了靜態(tài)變量、列表接口、整數(shù)MAX_VALUE 和整數(shù)MIN_VALUE等。
優(yōu)點(diǎn)
-
內(nèi)容詳細(xì):提供了詳細(xì)的課程大綱和考試內(nèi)容概述,有助于了解課程內(nèi)容和考試形式;
-
舉例解釋:內(nèi)容深入淺出,對(duì)于初學(xué)者非常友好,通過簡(jiǎn)單的解釋和實(shí)例,讓學(xué)生更容易理解和掌握J(rèn)ava編程的基本概念和知識(shí)點(diǎn);
-
模擬環(huán)境:書中還提供了在線模擬考試,幫助學(xué)生模擬真實(shí)考試環(huán)境,提高應(yīng)試能力;
缺點(diǎn)
5 5 STEPS TO A 5

全書共480頁,本書針對(duì)2022-23學(xué)年的AP考綱內(nèi)容進(jìn)行了更新,包含反映最新考試的3個(gè)完整練習(xí)測(cè)試、數(shù)百個(gè)練習(xí)題和詳盡的答案解釋、兩個(gè)完整的算法編寫單元、針對(duì)每個(gè)Java概念還有基礎(chǔ)和高級(jí)兩個(gè)級(jí)別的樣題。
優(yōu)點(diǎn)
缺點(diǎn)
05AP-CSA學(xué)習(xí)網(wǎng)站推薦
1Albert.io — CSA
2CodeHS
-
網(wǎng)址:https://codehs.com/;
-
這家網(wǎng)站擁有AP認(rèn)可的,課堂上自帶教學(xué)視頻、沙盤環(huán)境和練習(xí)題的完整課程。站內(nèi)不僅向教師提供在線資源和指導(dǎo),同學(xué)們也可以在這里進(jìn)行練習(xí)。同時(shí)網(wǎng)站設(shè)計(jì)地也很好,易于同學(xué)們查看自己的學(xué)習(xí)進(jìn)度,并能根據(jù)同學(xué)們的完成情況提供反饋,但是要注意的是這家網(wǎng)站需要付費(fèi)使用。
3CodeStepByStep
4CodingBat
5Codiva
6CSAwesome
-
網(wǎng)址:https://www.csawesome.org/home;
-
這家網(wǎng)站擁有AP認(rèn)可的完整課程,包括實(shí)驗(yàn)室、練習(xí)視頻、打印資源等。站內(nèi)提供的帶有活動(dòng)的互動(dòng)式教科書易于學(xué)生緊跟課堂,但同時(shí)也提供較為嚴(yán)謹(jǐn)?shù)腁P FRQs和AP級(jí)別的MC練習(xí)題。
7Edhesive
-
網(wǎng)址:https://www.edhesive.com/;
-
此網(wǎng)站提供AP認(rèn)可的課程,課程完整包含教師視頻、學(xué)生視頻和編碼練習(xí)。學(xué)生能夠在不跳轉(zhuǎn)到任何其他頁面的情況下進(jìn)行在線學(xué)習(xí)。盡管這是個(gè)付費(fèi)網(wǎng)站,但對(duì)于被Amazon Future Engineer Program收錄的學(xué)校有可能是免費(fèi)的。
8Github Classroom
9HackerRank
-
網(wǎng)址:https://www.hackerrank.com/;
-
教師在站內(nèi)的“Contest”里加入實(shí)驗(yàn)/練習(xí)后,同學(xué)們就可以在線完成實(shí)驗(yàn)或練習(xí)。這個(gè)網(wǎng)站還有一個(gè)優(yōu)點(diǎn)是在進(jìn)行編譯和執(zhí)行代碼時(shí)同學(xué)們不需要單獨(dú)的IDE,可以直接在提供的數(shù)據(jù)集上運(yùn)行代碼,以便數(shù)據(jù)集能夠根據(jù)同學(xué)們的完成情況自動(dòng)評(píng)分。
10Microsoft TEALS Program
06AP-CSA備考建議
為了在 AP-CSA 中取得好成績(jī),以下學(xué)習(xí)建議和時(shí)間規(guī)劃將對(duì)你大有幫助:
第一階段 建立APCSA知識(shí)體系階段
-
在制定學(xué)習(xí)計(jì)劃時(shí),要注意每周設(shè)定學(xué)習(xí)目標(biāo),確保覆蓋所有課程內(nèi)容。將時(shí)間分配給不同的主題,確保均衡學(xué)習(xí)。同時(shí), 一定要重視動(dòng)手實(shí)踐, 每學(xué)習(xí)一個(gè)新概念,立即動(dòng)手編寫代碼,加深理解。利用在線編程平臺(tái)和真題進(jìn)行練習(xí),鞏固所學(xué)知識(shí)。
第二階段 復(fù)習(xí)階段
第三階段 刷題和模擬考試階段
-
在考試前三月多多刷題,刷真題,查漏補(bǔ)缺,鍛煉自己讀題能力,讓自己熟悉APCSA的出題方法。
-
在考試前兩月進(jìn)行多次模擬測(cè)試,熟悉考試形式和時(shí)間管理。