Source: https://cpb-us-e1.wpmucdn.com/cobblearning.net/dist/0/696/files/2017/07/APCSP-Concept-Outline-23ndtos.pdf