United Grade 10 AP Computer Science Principles
Chapters: 5
1. Big Idea 1: Creative Development
Collaboration · Program Function and Purpose · Program Design and Development · Identifying and Correcting Errors
- Software Development: From Idea to Working App – Good software is built in stages: analyse the problem and write requirements, design the solution, code it in small parts, test it with normal, boundary and erroneous data, deploy it to users and maintain it. Waterfall does each stage once in order; agile repeats short cycles. Robust programs validate input, and teams use version control, clear roles and feedback from users.
2. Big Idea 2: Data
Binary Numbers · Data Compression · Extracting Information from Data · Using Programs with Data
- Data Representation: How Computers Store Numbers, Text, Images and Sound – Data is raw facts; information is data given meaning; knowledge is information we can use. A computer stores all data as bits (0 or 1). 8 bits make a byte, and 1 kB = 1000 bytes, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB. Numbers are stored in binary, where place values double: 1, 2, 4, 8 and so on. Text uses a character set: in ASCII 'A' is 65; Unicode covers every script. A bitmap image is a grid of pixels; size = width × height × colour depth. Sound is sampled: size = sample rate × bit depth × seconds. Vector images store shapes instead of pixels. Compression makes files smaller: lossless keeps every bit, lossy throws some detail away.
- Data Analysis – Data analysis means turning raw data into answers. It follows a cycle: ask a question, collect data, clean it (remove errors, repeats and blanks), organise and transform it, analyse it with summaries such as mean, median, range and patterns, show it with a good chart, and draw a careful conclusion. Watch for outliers, small samples and bias, and remember that a correlation between two things does not prove that one causes the other. Data must also be stored safely and used with permission.
3. Big Idea 3: Algorithms and Programming
Variables and Assignments · Data Abstraction · Mathematical Expressions · Strings · Boolean Expressions · Conditionals · Nested Conditionals · Iteration · Developing Algorithms · Lists · Binary Search · Calling Procedures · Developing Procedures · Libraries · Random Values · Simulations · Algorithmic Efficiency · Undecidable Problems
- Python Basics: Modes, Variables, Data Types and Operators – Python runs in interactive mode (one line at a time) or script mode (a saved .py file). Blocks are shown by indentation. Variables are names tied to values; every value has a data type, and some types are mutable. Operators build expressions that Python works out by precedence. input() reads text, int()/float()/str() convert types, and debugging fixes syntax, runtime and logical errors.
- Data Analysis – Data analysis means turning raw data into answers. It follows a cycle: ask a question, collect data, clean it (remove errors, repeats and blanks), organise and transform it, analyse it with summaries such as mean, median, range and patterns, show it with a good chart, and draw a careful conclusion. Watch for outliers, small samples and bias, and remember that a correlation between two things does not prove that one causes the other. Data must also be stored safely and used with permission.
- Programming Basics: Sequence, Selection, Loops and Functions – A program is a set of exact instructions a computer follows. Every program is built from three structures: sequence (steps in order), selection (if/else choices) and iteration (loops). Variables store values. Functions group code into reusable, named blocks, which makes programs modular and easier to test, debug and maintain.
- Control Statements in Python: if-else, while and for – Normally Python runs lines one after another (sequence). Control statements change this flow. if-else chooses one of two paths; if-elif-else picks the first true condition from many. while repeats a block while a condition is true; for repeats once for each item of a sequence such as range(start, stop, step).
- Introduction to Problem Solving – Problem solving on a computer has stages: analyse the problem (inputs, outputs, rules), develop an algorithm (a finite, clear, ordered set of steps), code it in a programming language, test it with different inputs, and debug (find and remove errors). An algorithm can be shown as a flowchart (oval = start/stop, parallelogram = input/output, rectangle = process, diamond = decision, arrows = flow) or as pseudocode (structured plain English). Decomposition breaks a big problem into smaller sub-problems that are solved separately and then joined.
- Lists in Python: Create, Traverse, Change and List Methods – A list is an ordered, changeable collection written in square brackets, like [10, 20, 30]. Items are reached by index (from 0, or negative from the end) and slices. We traverse a list with a for loop, change items in place because lists are mutable, and use functions (len, max, min, sum, sorted, list) and methods (append, insert, extend, remove, pop, sort, reverse, count, index, clear) to work with it.
- Data Representation: How Computers Store Numbers, Text, Images and Sound – Data is raw facts; information is data given meaning; knowledge is information we can use. A computer stores all data as bits (0 or 1). 8 bits make a byte, and 1 kB = 1000 bytes, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB. Numbers are stored in binary, where place values double: 1, 2, 4, 8 and so on. Text uses a character set: in ASCII 'A' is 65; Unicode covers every script. A bitmap image is a grid of pixels; size = width × height × colour depth. Sound is sampled: size = sample rate × bit depth × seconds. Vector images store shapes instead of pixels. Compression makes files smaller: lossless keeps every bit, lossy throws some detail away.
4. Big Idea 4: Computer Systems and Networks
The Internet · Fault Tolerance · Parallel and Distributed Computing
- Computer Networks and How the Internet Works – A network is a group of devices linked to share data. Each device has an IP address. Data is cut into numbered packets. Routers pass each packet hop by hop towards its address, and TCP puts the packets back in order. DNS turns a website name into an IP address. Clients ask, servers answer. Firewalls, passwords, updates and encryption keep a network safe.
- How Networks Grew and How Data Travels – A computer network is a group of connected devices that share data. Networking began with ARPANET (1969), grew into NSFNET (1980s) for universities, and joined with other networks to become the Internet, a network of networks. Every data communication has five parts: sender, receiver, message, communication media and protocol. Bandwidth is the range of frequencies a channel can carry (in Hz); data rate is how many bits travel per second (bps). Every device on a network has an IP address. Data can move by circuit switching (a fixed path is booked first) or packet switching (data is cut into packets that travel on their own).
5. Big Idea 5: Impact of Computing
Beneficial and Harmful Effects · Digital Divide · Computing Bias · Crowdsourcing · Legal and Ethical Concerns · Safe Computing
- Cybersecurity: Threats and How We Stop Them – Cybersecurity protects computers, networks and data. It aims for confidentiality, integrity and availability (the CIA triad). Common threats are malware, phishing and social engineering, brute-force password attacks and denial of service. Defences include strong authentication, encryption, firewalls, anti-malware software, updates, access control and backups.