Computers, networks, and safe use
Students start the year learning how computers and the internet actually work behind the screen. They practice basic troubleshooting and learn how to keep accounts, passwords, and personal data safer online.
This is the year computing shifts from using tools to building them. Students write real programs, break big problems into smaller pieces, and test their work until it actually runs. They also dig into the data side: pulling numbers from a source, spotting patterns, and explaining what the results mean. By spring, students can plan, code, and debug a working project and talk through the choices they made along the way.
Students start the year learning how computers and the internet actually work behind the screen. They practice basic troubleshooting and learn how to keep accounts, passwords, and personal data safer online.
Students collect numbers and information, clean it up, and turn it into charts and tables. They look for patterns in the data and back up what they say with evidence instead of guesses.
Students take a big messy problem and break it into smaller steps a computer can follow. They learn to spot patterns across problems so one solution can be reused in different situations.
Students design and build their own programs, simulations, or apps. They test their work, find the bugs, take feedback from classmates, and revise until the program runs the way it should.
Students look at how technology shapes daily life, jobs, privacy, and fairness. They talk through the trade-offs of tools like social media and AI, and present their thinking with clear examples.
Students choose the right hardware and software for a task, then fix problems when something stops working. This covers everything from picking the best tool for a job to diagnosing why a program or device isn't doing what it should.
Students learn how the internet moves data between devices and why security measures like encryption keep that data private. They also explain how networks make it possible for people to communicate and work together across the world.
Students gather raw data, clean it up, and turn it into charts or tables. Then they use software to spot patterns and back up their conclusions with numbers.
Students write programs that solve real problems or automate repetitive tasks, then test and improve their code until it does what they intended.
Students examine how technology shapes daily life, from privacy and data use to who has access to digital tools. They think through the real-world consequences of software, apps, and algorithms on people and communities.
| Standard | Definition | Code |
|---|---|---|
| Identify, select, and apply hardware, software High School | Students choose the right hardware and software for a task, then fix problems when something stops working. This covers everything from picking the best tool for a job to diagnosing why a program or device isn't doing what it should. | MD-CSDF.C1.9-12 |
| Explain how computer networks and the Internet enable communication… High School | Students learn how the internet moves data between devices and why security measures like encryption keep that data private. They also explain how networks make it possible for people to communicate and work together across the world. | MD-CSDF.C2.9-12 |
| Collect, transform, and represent data High School | Students gather raw data, clean it up, and turn it into charts or tables. Then they use software to spot patterns and back up their conclusions with numbers. | MD-CSDF.C3.9-12 |
| Design, develop, and analyze algorithms and programs to solve problems… High School | Students write programs that solve real problems or automate repetitive tasks, then test and improve their code until it does what they intended. | MD-CSDF.C4.9-12 |
| Investigate the social, ethical, legal High School | Students examine how technology shapes daily life, from privacy and data use to who has access to digital tools. They think through the real-world consequences of software, apps, and algorithms on people and communities. | MD-CSDF.C5.9-12 |
Students practice working with people who think and communicate differently, and make sure no one gets pushed to the sidelines of a group project or class discussion.
Students work in a team to plan, build, and improve a computing project, splitting up tasks and incorporating each other's feedback along the way.
Students look at a real problem, decide whether a computer could help solve it, then break it into smaller pieces a program can actually handle.
Students take a complicated problem and strip it down to what matters, then write code or design a system that solves not just one case but a whole category of similar problems.
Students write and revise programs or simulations in repeated cycles, applying what they know about coding to improve the work each round until it does what they intended.
Students run planned tests on their programs or digital projects, find what breaks or confuses users, and fix it. The goal is a version that works correctly and is easier for someone else to use.
Students explain how a program works or why a design choice was made, using correct terms, charts or diagrams, and real examples to back up their point.
| Standard | Definition | Code |
|---|---|---|
| Foster an inclusive computing culture that values diverse perspectives and… High School | Students practice working with people who think and communicate differently, and make sure no one gets pushed to the sidelines of a group project or class discussion. | MD-CSDF.P1.9-12 |
| Collaborate around computing — divide work, share ideas High School | Students work in a team to plan, build, and improve a computing project, splitting up tasks and incorporating each other's feedback along the way. | MD-CSDF.P2.9-12 |
| Identify and define problems that can be solved with computation and decompose… High School | Students look at a real problem, decide whether a computer could help solve it, then break it into smaller pieces a program can actually handle. | MD-CSDF.P3.9-12 |
| Use abstractions to simplify complexity, generalise solutions High School | Students take a complicated problem and strip it down to what matters, then write code or design a system that solves not just one case but a whole category of similar problems. | MD-CSDF.P4.9-12 |
| Create computational artifacts — programs, simulations, models — by applying… High School | Students write and revise programs or simulations in repeated cycles, applying what they know about coding to improve the work each round until it does what they intended. | MD-CSDF.P5.9-12 |
| Systematically test computational artifacts and refine them based on evidence… High School | Students run planned tests on their programs or digital projects, find what breaks or confuses users, and fix it. The goal is a version that works correctly and is easier for someone else to use. | MD-CSDF.P6.9-12 |
| Communicate clearly with appropriate vocabulary, visualizations High School | Students explain how a program works or why a design choice was made, using correct terms, charts or diagrams, and real examples to back up their point. | MD-CSDF.P7.9-12 |
Students learn how computers and networks work, how to write and test programs, how to use data to answer questions, and how computing affects people. They build real projects in steps: plan, code, test, fix, and share.
No. High school courses are designed for students who are starting fresh. Early projects focus on small programs and clear thinking, not on memorising syntax, so students build confidence before tackling harder work.
Ask students to explain their project out loud in plain English. If they can describe what each part is supposed to do and where it broke, they can usually find the bug themselves. That habit matters more than knowing the language.
By spring, students should be able to take a messy problem, break it into smaller pieces, write a working program, test it, and explain their choices. They should also be able to discuss tradeoffs around privacy, bias, and security with specific examples.
Start with problem decomposition and small programs so students get reps on the core practices. Layer in data, networks, and societal impact through projects that revisit earlier skills. Save longer collaborative builds for the second half, once students can debug on their own.
Debugging and abstraction. Students often want to rewrite code from scratch instead of reading the error and fixing one line. Build in short, structured debugging routines all year, and ask students to name the pattern behind their solution, not just the answer.
Not really. Building a program is active work: planning, problem solving, and revising. A useful question at home is whether students are making something or just watching something. Making counts as practice.
Strong projects split the work: one student plans, another writes a section, another tests, and they trade roles across projects. Ask to see each student's specific contribution and their notes on feedback they gave or received.
Look for three signs: students can start a project from a blank screen, they can find and fix their own bugs without panic, and they can explain what their code does to someone who did not write it.