We will be using Gradescope which allows me to provide fast and accurate feedback on your work. Homework will be submitted through Gradescope, and homework and exam grades will be returned through Gradescope.
Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. More than a traditional introduction to programming, it is a rigorous, engaging, and approachable course that explores many of the foundational ideas of computing so all students understand how these concepts are transforming the world we live in.
We will be using Code.org curriculum for AP Computer Science Principles. Code.org is recognized by the College Board as an endorsed provider of curriculum for this course.
Here you can find my calendar of teaching topics, homework assignments, exam dates, lesson videos, review materials and more.
1.1 Personal Innovations
1.2 Sending Binary Messages
1.3 Sending Binary Messages with the Internet Simulator
1.4 Number Systems
1.5 Binary Numbers
1.6 Sending Numbers
1.7 Sending Text
1.8 The Internet
1.9 The Need for Addressing
1.10 Routers and Redundancy
1.11 Packets and Making a Reliable Internet
1.12 The Need for DNS
1.13 HTTP and Abstraction
1.14 The Internet and Society
2.1 Bytes and File Sizes
2.2 Text Compression
2.3 Encoding B&W Images
2.4 Encoding Color Images
2.5 Lossy vs Lossless Compression
2.6 Format Showdown
3.1 The Need for Programming Languages
3.2 The Need for Algorithms
3.3 Creativity in Algorithms
3.4 Using Simple Commands
3.5 Creating Functions
3.6 Functions and Top-Down Design
3.7 APIs and Function Parameters
3.8 Creating Functions with Parameters
3.9 Looping and Random Numbers
3.10 Design a Digital Scene
4.1 What is Big Data?
4.2 Finding Trends with Visualizations
4.3 Check Your Assumptions
4.4 Data Innovations
4.5 Identifying People with Data
4.6 The Cost of Free
4.7 Simple Encryption
4.8 Encryption with Keys and Passwords
4.9 Public Key Crypto
4.10 Cybercrime
5.1 Buttons and Events
5.2 Multi-Screen Apps
5.3 Building an App: Multi-Screen App
5.4 Controlling Memory with Variables
5.5 Building and App: Clicker Game
5.6 User Input and Strings
5.7 “if” Statements Unplugged
5.8 Boolean Expressions and “If” Statements
5.9 “if-else-if” and Conditional Logic
5.10 Building and App: Color Sleuth
5.11 While Loops
5.12 Loops and Simulations
5.13 Introduction to Arrays
5.14 Building and App: Image Scroller
5.15 Processing Arrays
5.16 Functions with Return Values
5.17 Building and App: Canvas Painter