Skip to content

What does a student learn in ?

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 code until it actually works. They also dig into how networks move data, how to spot patterns in a dataset, and how choices made by software affect real people. By spring, students can plan, write, and debug a working program and explain in plain language what it does and who it might help or hurt.

  • Writing programs
  • Debugging and testing
  • Working with data
  • Networks and the internet
  • Ethics in tech
  • Teamwork on code
Source: Maine Maine Learning Results
Year at a glance
How the year usually goes. Every school and district set their own curriculum, so treat this as a guide, not official pacing.
  1. 1

    Computing systems and networks

    Students start by looking at how computers, phones, and the internet actually work. They learn to troubleshoot common problems and see how devices send data back and forth safely.

  2. 2

    Working with data

    Students gather real data, clean it up, and turn it into charts and tables. They use that evidence to spot patterns and back up claims with numbers instead of guesses.

  3. 3

    Algorithms and programming

    Students break bigger problems into smaller steps and write programs to solve them. They test their code, fix what breaks, and rewrite parts until the program does what it should.

  4. 4

    Building and sharing projects

    Students work in teams to design apps, simulations, or models from start to finish. They give and take feedback, keep notes on what changed, and present their work to a real audience.

  5. 5

    Computing in the real world

    Students look at how technology shapes daily life, from privacy and security to who gets left out. They weigh the trade-offs of tools they use and think through the choices behind them.

Mastery Learning Standards
The required skills a student should display by the end of Grade 12.
Concepts
  • Identify, select, and apply hardware, software

    High School

    Students pick the right hardware and software for a given job, then figure out what to do when something breaks. That means matching tools to tasks and solving problems when the setup does not work as expected.

  • Explain how computer networks and the Internet enable communication…

    High School

    Students learn how the internet moves data between computers and why some of that data is encrypted to stay private. They look at how networks make it possible to share files, send messages, and work with others online.

  • Collect, transform, and represent data

    High School

    Students gather real data, clean it up, and display it in charts or graphs. Then they use code or software to spot patterns and explain what the data actually shows.

  • Design, develop, and analyze algorithms and programs to solve problems…

    High School

    Students write and test programs that solve real problems or automate repetitive tasks. They also look at how their code works and figure out where it can be improved.

  • Investigate the social, ethical, legal

    High School

    Students look at how technology shapes real life: who benefits, who gets left out, and what rules or laws should apply. They think through the trade-offs before building or using digital tools.

Practices
  • Foster an inclusive computing culture that values diverse perspectives and…

    High School

    Students learn to build computing spaces where people with different backgrounds and experiences are included and heard. That means working alongside others whose identities differ from their own and treating those differences as strengths, not obstacles.

  • Collaborate around computing — divide work, share ideas

    High School

    Students work in teams to plan, build, and refine a program or digital project. They split up tasks, share ideas with each other, and use feedback from teammates to improve the final product.

  • Identify and define problems that can be solved with computation and decompose…

    High School

    Students look at a real problem and decide whether a computer could help solve it. Then they break that problem into smaller pieces a program can actually handle.

  • Use abstractions to simplify complexity, generalise solutions

    High School

    Students take a complicated problem and strip it down to the parts that matter, then write code or design a system that works for more than one situation. The goal is a cleaner solution that handles the messy details without showing them.

  • Create computational artifacts — programs, simulations, models — by applying…

    High School

    Students build programs, simulations, or models by writing, testing, and revising their work in repeated cycles until the project does what it needs to do.

  • Systematically test computational artifacts and refine them based on evidence…

    High School

    Students run tests on programs or apps they've built, look at what breaks or confuses users, and fix the problems. The goal is a program that works correctly and is easy for someone else to use.

  • Communicate clearly with appropriate vocabulary, visualizations

    High School

    Students explain how a program works or how technology affects people, using accurate terms, charts or diagrams, and real examples to back up what they say.

Common Questions
  • What does high school computer science cover this year?

    Students work with five big areas: computers and how to fix them, networks and the internet, working with data, writing code, and thinking about how technology affects people. They also practice habits like breaking problems into smaller pieces, testing their work, and explaining what they built.

  • Does a student need to be good at math to do well?

    Basic comfort with numbers and logic helps, but coding is more about patience and problem solving than advanced math. Students who like puzzles, building things, or figuring out why something broke tend to do well.

  • How can a parent help at home without knowing how to code?

    Ask students to show what they are building and explain how it works. Talking through a bug out loud often helps them spot it. Free tools like Scratch, Python tutorials, and Khan Academy give plenty of low-pressure practice.

  • What should mastery look like by the end of the year?

    By spring, students should be able to take a real problem, break it into steps, write a working program, test it, and explain their choices. They should also be able to discuss privacy, bias, and the social effects of a piece of technology.

  • How should the year be sequenced across the five concept areas?

    A common approach is to start with hardware and networks so students share a baseline, then move into programming and data through the middle of the year. Ethics and impact work best woven into every unit rather than saved for the end.

  • Which skills usually need the most reteaching?

    Decomposing a problem and debugging are the two that trip students up most. Many can write code that almost works but struggle to isolate why it does not. Short, repeated practice on reading error messages and tracing code pays off all year.

  • Is it a problem if a student has never coded before?

    No. Many students start high school computer science with no background and finish strong. The first few weeks usually cover the basics, and steady practice matters more than a head start.

  • How much should group work count in this course?

    A lot of professional computing is collaborative, so pair programming and team projects belong in the plan. Build in clear roles, shared documents, and individual check-ins so each student can show their own thinking on assessments.

  • How do you know a student is ready for the next course or for college computing?

    Readiness shows up when a student can plan a small project, write and test the code themselves, and talk about what worked and what did not. A portfolio of two or three finished projects is stronger evidence than any single test score.