This course is designed to address the seven Big Ideas of the AP CS Principles Framework, with a primary emphasis on Big Idea #1, Creativity.
If a Computer Science class is grounded in creativity, it becomes a place where learners feel welcome to try, fail, and iterate. It becomes a place where diversity of background and experience is a benefit to learners and teachers alike.
A secondary emphasis of this course is on Big Idea #7, Global Impact. This course is taught in the South Bronx, in one of the poorest neighborhoods in the United States. The class will be 50% female and entirely students of color. Students will leave this course with a knowledge of the disparities and injustices in the outside world, and equipped with the skills and knowledge to begin crafting solutions.
This syllabus draws from the Beauty & Joy of Computing curriculum as well as readings and activities from code.org. I'm thankful to both of these organizations for releasing their work and helping to make Computer Science accessible to all.
Using the original metaphor of a software sketchbook, p5.js has a full set of drawing functionality. However, you’re not limited to your drawing canvas, you can think of your whole browser page as your sketch! For this, p5.js has addon libraries that make it easy to interact with other HTML5 objects, including text, input, video, webcam, and sound.
This course is designed to provide students with rigorous and interesting opportunities to engage in computational thinking and programming. Most learning will be done through labs– there will be a minimum of didactic, direct instruction. Readings will be drawn from current, relevant sources that intersect with the Big Ideas of the Framework.
Students will regularly engage in small-group and whole-class discussions. The layout and design of the classroom emphasize collaboration by allowing students to see many screens while working, and through directed activities involving pair programming.
Every week or so, students will be assessed using multiple choice questions drawn from AP CSP exams, or adapted from AP CSP exams.
At the end of each unit of study, students will complete a practice Performance Task, aligned to either the Explore or Create tasks they will submit to College Board.
AP Explore Performance Task – After completing Unit 5, students complete through-course assessment Explore - Impact of Computing Innovations (8 hours in class).
AP Create Performance Task – After completing Unit 5 and before the AP exam, students complete through- course assessment Create - Applications from Ideas (12 hours in class).
Units of Study
🔢 Unit 1: Algorithms and p5: Introduction to Algorithms & Programming
- Designing algorithms
- Flowcharts & design
- Conditionals & loops
- Writing functions
Practice Create Performance Task: Build a Drawing App
🌐 Unit 2: The Interwebz
- Encoding and sending numbers and text
- IP Addresses, packets, redundancy
- Routing, DNS, Protocols, Abstraction
Practice Explore Performance Task: The Internet & Society
🔨 Unit 3: Building Apps
- User inputs & variables
- Lists & arrays
- Boolean logic
Practice Create Performance Task: Todo list
💡 Unit 4: Digital Information & Representation
- Encoding & decoding images
- Interpreting visual data
- Creating visual data
Practice Create Performance Task Word Cloud Generator [^1]
[^1]: This task will integrate with AP English Language & Literature
📡 Unit 5: Big Data & Privacy
- Data and commerce
- "Free" apps
- Encryption schemes
- Real world concerns
Practice Explore Performance Task: Advocacy Webpage
💃🏾 Unit 6: Performance Tasks
AP Create Performance Task (12 hours) AP Explore Performance Task (8 hours)
P1: Connecting Computing
- In Unit 5: The Interwebz students learn about common security attacks (bug exploits, viruses, phishing, and DDoS attacks) and learn about security measures that they can take to mitigate their own risk.
LO 6.3.1 [P1]
- In Unit 5: The Interwebz PT (Innovating for Social Change), students research and analyze the contextual suitability and effects of a computing innovation.
LO 1.2.5 [P4], LO 7.1.1 [P4], LO 7.3.1 [P4], LO 7.4.1 [P1], LO 7.5.1 [P1], LO 7.5.2 [P5]
P2: Creating Computational Artifacts
- In Unit 1: Algorithms and p5: Algorithms & Programming, students collaborate to develop a program in p5.js to create a simple drawing application.
LO 4.1.1 [P2], LO 4.1.2 [P5], LO 5.1.3 [P6]
- In Unit 2: Building Apps, students use an iterative and exploratory development process and multiple levels of abstraction as they create scripts to draw a single tile, a row, and a grid for a game board.
LO 1.1.1 [P2], LO 2.2.2 [P3]
- In Unit 1: Algorithms and p5: Algorithms & Programming, students analyze how several programs implement algorithms, e.g. discussing how a short algorithm with a loop generates the image of a square; comparing and contrasting various square-drawing algorithms; and predicting what an algorithm does. Students iterate on these algorithms to create programs to draw different shapes based on user input in Unit 2: Building Apps.
LO 5.2.1 [P3]
- In Unit 3: Digital Information, students import data from texts and display the data visually to draw insights and represent information.
LO 2.3.1 [P3], LO 2.3.2 [P3]
P4: Analyzing Problems and Artifacts
- In Unit 1: Algorithms and p5: Algorithms & Programming, students analyze a script to determine what is likely to go wrong before running it and use this developing understanding to create correct programs to calculate powers of numbers and do linguistic research, counting syntactical features of text.
LO 5.4.1 [P4], LO 5.1.2 [P2]
- In Unit 4: Big Data & Privacy reflecting on their own data and technology, students extend their insights to consider how large data sets of many people’s data affect large-scale communication, interaction, collaboration, and problem-solving.
LO 3.2.2 [P3], LO 7.1.1 [P4], LO 7.1.2 [P4]
- In Unit 5: The Interwebz,Unit 5: The Interwebz students learn about IP address hierarchy, IPv4 vs. IPv6, packets and packet switching, reliable data transmission, open standards, the Internet abstraction hierarchy and how these systems interrelate. Students write a simple program to report their IP address by scraping a webpage, explore a simulation of unreliable data transmission, and discuss and write about the abstractions of the Internet including protocols and address hierarchy.
LO 6.1.1 [P3], LO 6.2.1 [P5], LO 6.2.2 [P4]
- In Unit 3: Digital Information & Representation, students create a general graphing program that plots data points on a screen whose dimensions (scale) they have determined themselves. Students interpret and communicate the results of their data-processing by using appropriate visualizations, notations, and precise language.
LO 3.1.3 [P5]
- In Unit 2: Building Apps, students build a basic todo list app and learn that lists can store data and that programs can access and manipulate list contents. Students collaborate to create a computational artifact using lists and list-processing procedures to organize information.
LO 1.2.2 [P2], LO 5.1.3 [P6]
- In Unit 2: Building Apps, students collaborate to create a new computational artifact using the http procedure together with a weather website and then selecting and communicating specific information to the user.
LO 1.2.2 [P2], LO 1.2.3 [P2], LO 3.1.2 [P6], LO 3.1.3 [P5]
Big Idea 1: Creativity
- In Unit 5: The Interwebz students examine the privileges and biases associated with popular products, inquiring about the representation of women and minorities in technology fields and how engineering choices impact consumer options.
LO 1.2.5 [P4]
- In Unit 1: Algorithms and p5: Introduction to Algorithms & Programming students collaboratively create a drawing application.
LO 1.2.1 [P2], LO 1.2.4 [P6], LO 1.3.1 [P2]
Big Idea 2: Abstraction
- In Unit 2: Building Apps students work with data abstraction at multiple levels, creating, using and modifying abstract data types. For example, they create procedures to get tasks and due dates and modify lists of data to add, remove, and modify items.
LO 2.2.1 [P2], LO 2.2.2 [P3], LO 2.2.3 [P3]
- In Unit 5: The Interwebz, Lab 3, Binary Numbers, students learn about bits and bit width and representations of digital data, and they translate among three common number bases. LO 2.1.1 [P3], LO 2.1.2 [P5], LO 5.5.1 [P1]
Big Idea 3: Data
- In Unit 4: Big Data & Privacy, Lab 2, GPS Data, students collaborate as they process GPS data, find patterns to gain new knowledge, and discover and explain patterns and trends.
LO 3.1.1 [P4], LO 3.1.2 [P6], LO 3.1.3 [P5], LO 3.2.1 [P1], LO 4.1.1 [P2], LO 5.1.1 [P2]
- In Unit 3: Digital Information & Representation, Lab 2, Infographics students interpret and communicate the results of their data-processing by creating interactive infographics.
LO 3.1.3 [P5]
Big Idea 4: Algorithms
- In Unit 1: Algorithms and p5: Algorithms & Programming students learn the difference between solvable and unsolvable problems and about the existence of undecidable problems through work with the halting problem.
LO 4.2.2 [P1], LO 4.2.3 [P1]
- In Unit 2: Building Apps students collaboratively build a drawing app, and identify and explain algorithms used within their code.
LO 1.2.1 [P2], LO 2.2.1 [P2], LO 2.2.2 [P3], LO 4.1.1 [P2], LO 4.1.2 [P5], LO 5.1.1 [P2], LO 5.3.1 [P3]
Big Idea 5: Programming
- Students program throughout the course. In Unit 1: Algorithms and p5, students build and debug a drawing application. In Unit 2 they create a more complicated application that can store an access data using functions and lists.
LO 5.3.1 [P3], LO 5.5.1 [P1]
Big Idea 6: The Internet
- In Unit 5: The Interwebz students create an advocacy webpage, picking among topics such as Net Neutrality, internet censorship, or government surveillance.
LO 6.1.1[P3], LO 6.2.2[P4], LO 6.3.1 [P1]
- Students discuss and answer questions about how the Internet has shaped our world.
LO 6.1.1 [P3], LO 6.2.2 [P4], LO 7.1.1 [P4]
Big Idea 7: Global Impacts
- In Unit 5: The Interwebz, students examine free speech and social media, and the implications of collecting user data.
LO 3.3.1 [P4], LO 7.3.1 [P4], LO 7.4.1 [P1]
- In Unit 5: The Interwebz students look at the digital divide, in the context of their city, their country, and the world. Students investigate the disparities for women and minorities in technology fields.
LO 6.3.1 [P1], LO 7.2.1 [P1], LO 7.4.1 [P1]
- “American schools are teaching our kids how to code all wrong”
- “Code and the Quest for Inclusive Software”
- “Code Literacy: A 21st-Century Requirement”
- “Coding While Black: Hacking The Future Of The Tech Industry”
- “How to Get Girls Into Coding”
- “Is Coding the New Literacy?”
- “Learnable Programming”
- “So You Want to Make Things That Do Stuff”
- “To Write Better Code, Read Virginia Woolf”
- “Why Tech Degrees Are Not Putting More Blacks and Hispanics Into Tech Jobs”
- “What is Code”
- “Will the Push for Coding Lead to ‘Technical Ghettos’?”