Skip to content

What does a student learn in ?

This is the year students stop being users of technology and start building with it. Students write real programs, break big problems into smaller pieces, and test their work until it runs the way they intended. They also look at how data gets collected, how networks move it around, and who gets helped or hurt by the choices a programmer makes. By spring, students can plan, code, and improve a small program and explain in plain language what it does and why it matters.

  • Programming
  • Algorithms
  • Data analysis
  • Networks and internet
  • Ethics in tech
  • Problem solving
  • Testing and debugging
Source: Massachusetts Massachusetts Curriculum Frameworks
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

    Computers, networks, and safe use

    Students start by learning how computers, phones, and the internet actually work behind the screen. They practice troubleshooting common problems and think about how to keep accounts and personal data safe online.

  2. 2

    Thinking like a programmer

    Students break big problems into smaller steps and write simple programs to solve them. Parents may hear about loops, functions, and bugs as students learn to plan code before they write it.

  3. 3

    Working with data

    Students gather data from real sources, clean it up, and turn it into charts and tables. They look for patterns and practice backing up a claim with what the numbers actually show.

  4. 4

    Building and testing projects

    Students design a real project, often with a partner or small team. They share drafts, take feedback, fix what is broken, and present the finished work with clear language about what it does and why.

  5. 5

    Computing and society

    Students step back and look at how technology shapes daily life, jobs, and fairness. They discuss questions about privacy, bias in software, and who gets left out when tools are designed for only some people.

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

    High School

    Students learn to pick the right tools for a computing job, whether that means choosing hardware, finding the right software, or figuring out why something isn't working. The goal is matching the tool to the task.

  • Explain how computer networks and the Internet enable communication…

    High School

    Students learn how data travels across networks and the Internet, from a simple message to a shared file, and what keeps that data secure. The focus is on explaining how those systems make communication and collaboration possible.

  • Collect, transform, and represent data

    High School

    Students gather raw data, clean it up, and turn it into charts or summaries. Then they use software to spot patterns and back up a conclusion with numbers.

  • 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 learn to evaluate whether their solution actually works and where it could break.

  • Investigate the social, ethical, legal

    High School

    Students examine how technology shapes daily life, work, and privacy, then consider the trade-offs: who benefits, who gets left out, and what rules should govern it.

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

    High School

    Students learn to build teams and projects where different backgrounds and viewpoints improve the work. That means noticing who gets left out of tech spaces and doing something about it.

  • Collaborate around computing — divide work, share ideas

    High School

    Students work in teams to build programs or digital projects, splitting up tasks and combining each person's work into one finished product. Feedback from teammates shapes the final result.

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

    High School

    Students take a big problem, decide whether a computer could help solve it, and then break it into smaller pieces that are each manageable on their own.

  • Use abstractions to simplify complexity, generalise solutions

    High School

    Students learn to spot patterns in a program or system, then simplify them into reusable pieces so the same solution works across more than one problem.

  • 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 result does what they need it to do.

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

    High School

    Students run planned tests on programs or apps they built, then fix what doesn't work. The goal is a program that runs correctly and is easy for someone else to use.

  • Communicate clearly with appropriate vocabulary, visualizations

    High School

    Students explain how a program works or why a technology choice matters, using precise terms, charts or diagrams, and real evidence to back up what they say.

Common Questions
  • What will students actually do in this class?

    Students write programs, work with data, and build small projects like websites, games, or simulations. They also learn how networks move information around and how to think through a problem before they start coding. Most work happens on a computer, often with a partner.

  • Does a student need to know how to code before taking this?

    No. Students start with the basics of how a program is built and add skills like loops, variables, and functions over time. Steady practice matters more than a head start.

  • How can a parent help at home if coding feels unfamiliar?

    Ask students to walk through what their program is supposed to do, step by step, in plain words. That alone catches most bugs. Free sites like Code.org and Scratch are good for quick practice in 10 minutes a night.

  • What does mastery look like by the end of the course?

    Students can take a problem, break it into smaller parts, write a program that solves it, and test their work when something goes wrong. They can also explain what their code does and why they made the choices they did.

  • How should the year be sequenced?

    Most teachers start with problem-solving and basic programming, then move into data, then networks and the internet, then larger projects that pull it all together. Ethics and impact threads run through every unit rather than sitting in one block.

  • Which skills usually need the most reteaching?

    Debugging and reading other people's code are the two big ones. Students often want to rewrite from scratch instead of finding the broken line. Building a habit of testing small pieces early in the year pays off later.

  • How is group work handled when one student does most of the coding?

    Pair programming with defined roles helps, where one student types and the other reads and questions, then they swap. Rotating partners and grading the process, not just the finished project, keeps the work shared.

  • What about online safety, privacy, and AI use?

    Students look at how data gets collected, who sees it, and what rules apply when using someone else's code or AI tools. At home, it helps to talk about what a student posts, shares, or feeds into a chatbot, and why that matters later.

  • How do I know a student is ready for a next-level CS class?

    A ready student can plan a small program on paper, write it, find and fix their own bugs, and explain the result to someone else. Comfort with functions, lists, and basic data work is the usual bar for moving on.