ExCITE Curriculum

Students develop an interactive game they can install on their phones, generate a conversation between animated characters, create abstract art, and explore storytelling animation through sprite interaction; and in doing so they learn to use pair programming and to create program documentation. Students also investigate legal and ethical issues that arise in computing--especially with regard to data collation and privacy.

Optional Projects

Students implement an algorithm for a guessing game using local and global variables; use abstract data types and list traversal to build a quiz app; create predicates to filter lists in order to solve a crossword puzzle; and use the modulus functions and a higher order function to code mathematical functions. Students also investigate the history, purpose, laws, evolution, and enforcement of copyright.

Students explore complexity in a variety of contexts(maze navigation, fractal art, tic-tac-toe): use nested abstract data types and data I/O to develop a contact list app; and consider the beneficial and harmful impacts of robots and AI.

Lab 5: Computers and Work

Students create a project of their own choosing as practice for the AP Create Task. They select and use a development process, plan and code their program test their program for errors, write about their development process, and acknowledge any code developed by other people.

Students learn about how the Internet works, the befits and vulnerabilities of fault-tolerant systems; cybersecurity practices such as public key encryption and individual level practices and software to keep data safe; digital data representation including binary representation; compression algorithms. They also consider the impact of the Internet on human communication and the workplace.

Students learn about program efficiency through exploration of the binary and linear search algorithms; learn about sequential, parallel, and distributed computing and determine the contexts in which each are most useful; consider the contexts in which simulation is useful and implement a simple simulation; Snap! data tools to generate knowledge from data.

Lab 2: Simulations

Lab 3: Turning Data into Information

Lab 4: Unsolvable and Undecidable Problems

Lab 5: Computing in War

Lab 6: Tic-Tac-Toe with a Computer Player