Skip to content

What does a student learn in ?

This is the year computer science shifts from using tools to building them with real intent. Students write their own programs, break them into reusable parts, and test them the way a working developer would. They also wrestle with the harder questions around the code: who gets access, what stays private, and how a small design choice can leave someone out. By spring, students can plan, write, and debug a program that solves a real problem and explain the choices they made along the way.

Illustration of what students learn in High School Computer Science & Digital Fluency
  • Writing programs
  • Debugging and testing
  • Working with data
  • Online privacy
  • Ethics in tech
  • Accessible design
  • How the internet works
Source: New York P-12 Learning Standards
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

    Getting set up and staying safe online

    Students start the year by learning how to protect their accounts, passwords, and personal information. They look at what a digital footprint is and how choices made online can stick around for years.

  2. 2

    Working with data

    Students gather information from different sources and turn it into charts and visuals. They notice how the same numbers can tell very different stories depending on how they are shown.

  3. 3

    Writing real programs

    Students build working programs using loops, decisions, and reusable chunks of code. They also test their programs the way a real user would, looking for bugs and fixing them before sharing the work.

  4. 4

    How computers and networks work

    Students look under the hood at how apps, operating systems, and hardware fit together. They learn how information travels across the internet and how to troubleshoot when a device stops working.

  5. 5

    Algorithms and smarter code

    Students compare classic ways of sorting and searching to see which one is faster or simpler for a given job. They also organize information inside their programs so it stays accurate as things change.

  6. 6

    Building for people

    Students work in teams to design a program for a real audience and write clear notes so others can use it. They also weigh the ethics of technology, including privacy, access, and how to make tools that work for people with disabilities.

Mastery Learning Standards
The required skills a student should display by the end of Grade 10.
Computer Science & Digital Fluency
Standard Definition Code

Predicting outcomes with digital models

High School

Students build a working digital model (a spreadsheet formula, a simulation, or a simple program) that predicts what will happen given different inputs. The focus is on testing whether the model's predictions hold up.

9-12.CT.1

Gather and check data for a project

High School

Students gather real data from more than one source, check it for accuracy and usefulness, then use it to build something: a program, a model, or a visualization.

9-12.CT.2

Telling different stories with the same data

High School

Students take the same set of data and present it multiple ways, such as changing a graph type or reordering results, to show how the framing of data shapes the story it tells.

9-12.CT.3

Writing functions to organize code

High School

Students write a program that mixes their own custom functions with ready-made code libraries to keep the work organized. Instead of writing every line from scratch, students break the problem into reusable parts.

9-12.CT.4

Rewrite code that works without breaking results

High School

Students take a working function in a program and rewrite how it does its job inside, without changing what the program produces in the end. The output stays the same; only the approach changes.

9-12.CT.5

Comparing algorithms and their trade-offs

High School

Students learn two or more classic step-by-step procedures a computer follows to sort or search data, then compare them to see which one is faster or uses less memory for a given job.

9-12.CT.6

Organizing data that updates together

High School

Students write or modify a program that uses a list, table, or similar structure to keep track of related information as it changes. Think of storing and updating a contact list or a game's scoreboard.

9-12.CT.7

Control structures in real programs

High School

Students write a working program that uses loops, conditionals, or other control structures to do something real, whether that solves a problem, expresses an idea, or tackles a topic they care about.

9-12.CT.8

Debugging and testing programs

High School

Students run their program through multiple test cases, including ones designed to catch likely mistakes or unexpected user actions, then fix what breaks before calling the work done.

9-12.CT.9

Build software for a real audience

High School

Students work in groups to build an app, game, or tool for a specific audience, then write clear notes explaining how it works so teammates and users can understand it.

9-12.CT.10

What personal data needs protection

High School

Students identify which personal details, files, and accounts need protection, such as passwords, financial records, and private messages, and explain why leaving them exposed creates real risk.

9-12.CY.1

Ways to keep information safe

High School

Keeping data safe requires more than a password. Students learn the practical steps, tools, and habits, from locked servers to software updates to safe browsing, that prevent unauthorized access and keep information accurate and available.

9-12.CY.2

Security trade-offs in real decisions

High School

Picking stronger security, like a longer password or two-step login, often means more steps for the user. Students learn to weigh those real costs and benefits before deciding which protections are worth using.

9-12.CY.3

Evaluating how encryption protects data

High School

Students examine how encryption protects data in real situations, such as online banking or private messages. They weigh how well a method works and what its limits are.

9-12.CY.4

How to respond to a security breach

High School

Students identify what to do before a security breach happens and how to respond if one does. This covers both prevention habits, like strong passwords and software updates, and response steps, like reporting the incident and limiting the damage.

9-12.CY.5

Keyboard typing skills

High School

Students type quickly and accurately enough that the keyboard stops slowing down their thinking. This is the baseline skill for almost every assignment they'll complete in high school and beyond.

9-12.DL.1

Working with others using digital tools

High School

Students use apps, shared documents, and online tools to learn alongside classmates and share what they know. Working digitally is treated as a skill, not just a convenience.

9-12.DL.2

No new skills at this level

High School

Mastery of this standard is expected before high school. Work on it shows up in earlier grades.

9-12.DL.3

Choosing the right tools to publish digital work

High School

Students choose the right apps, platforms, or software for a project on their own, then use those tools to build, revise, and share polished digital work without being told which tool to use.

9-12.DL.4

Learning new tech on your own

High School

Students practice moving what they already know about one app or device to figure out a new one. The skill is learning to learn new tools, not just mastering the ones already in front of them.

9-12.DL.5

Managing your online reputation

High School

Students learn to think before posting: what goes online stays online, and choices made now can affect future jobs, relationships, and reputation. They practice reviewing privacy settings and making deliberate decisions about what they share publicly.

9-12.DL.6

Staying safe and secure online

High School

Students create and follow real plans to protect their passwords, personal information, and privacy online. This includes thinking through how digital habits affect mental health and how to recognize and respond to threats like phishing or data breaches.

9-12.DL.7

Who gets access to computing and who doesn't

High School

Students look at who benefits from a technology and who gets left out. They consider how access to computers and the internet shapes opportunities across different communities and countries.

9-12.IC.1

Tech laws and who they protect

High School

Students look at real laws around data privacy, copyright, and online speech, then argue whether those rules help or hurt how technology gets built and used.

9-12.IC.2

Ethics debates about real-world tech

High School

Students pick a real computing issue (facial recognition, data privacy, algorithm bias) and argue a position, considering who benefits, who's harmed, and what rules, if any, should apply.

9-12.IC.3

Privacy trade-offs in computing

High School

Students weigh the real costs of using apps and services that collect personal data, such as convenience traded for privacy, and think through how those trade-offs affect individuals and communities.

9-12.IC.4

Designing tech that works for everyone

High School

Students examine how software and hardware can be built to work for people with disabilities, different languages, or limited internet access, and how designers anticipate problems before a product reaches the public.

9-12.IC.5

Designing for users with disabilities

High School

Students design programs, apps, or digital content so people with disabilities can actually use them. That might mean adding alt text to images, making sure a site works with a screen reader, or choosing color contrast that someone with low vision can see.

9-12.IC.6

CS careers across every field

High School

Students look at how computer science shows up in fields like medicine, music, farming, and finance. The goal is to see that coding and data skills are useful far beyond a computer lab.

9-12.IC.7

Sensors that respond to the real world

High School

Students design a system that uses a small built-in computer (like a sensor or microcontroller) to collect data from the physical world automatically, without a person pressing a button or typing a command.

9-12.NSD.1

How software and hardware work together

High School

Students explain how the apps on a screen depend on the operating system underneath, which in turn depends on the physical hardware to actually run. Each layer has a job, and none of them works without the one below it.

9-12.NSD.2

Fixing computer problems step by step

High School

Students create a step-by-step guide someone else can follow to diagnose and fix a broken device or component, then explain those steps clearly enough that another person could use them without help.

9-12.NSD.3

How the internet moves and stores data

High School

Students explain how the internet physically and logically works: how data travels across networks, where it gets stored, and how addresses and protocols help devices find each other.

9-12.NSD.4

How new tech changes networks

High School

Students explain how newer technologies, like 5G or cloud computing, are changing the way networks are built and used. They look at real examples of how these shifts affect everyday devices and online services.

9-12.NSD.5
Common Questions
  • What does a high school computer science year usually cover?

    Students write real programs, work with data, and think about how computers shape society. They also learn how the internet moves information around, how to keep accounts and data safe, and how to weigh ethical trade-offs in technology choices.

  • Does a student need to be a math whiz to do well?

    No. Strong reading and careful thinking matter more than advanced math at this stage. Most programs students write at home use basic arithmetic, comparisons, and lists, not algebra or calculus.

  • How can a parent help with coding if they have never coded?

    Ask students to walk through what their program is supposed to do, step by step, as if explaining it to a younger sibling. Most bugs show up when a student says the steps out loud. Free sites like Code.org and Khan Academy also give parents something concrete to look at together.

  • What is a good way to sequence the year?

    Start with programming basics like variables, loops, and functions, then move into data and lists, then algorithms and simple data structures. Save cybersecurity, networks, and ethics for shorter units woven across the year so students keep practicing code while these ideas come up.

  • Which skills usually need the most reteaching?

    Functions and parameters trip up most students, especially the difference between what goes in and what comes back out. Loops with conditions inside them also need repeated practice. Plan to revisit both in several units rather than teaching them once.

  • How should students practice cybersecurity at home?

    Have students set up a password manager, turn on two-factor authentication, and review the privacy settings on the apps they actually use. Talk through what data each app collects and whether the trade-off feels worth it.

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

    Students can plan, write, test, and document a program that solves a real problem for a specific user. They can explain how their code works, why they chose a particular approach, and what they would change if the requirements shifted.

  • How much screen time does this subject add at home?

    Most homework runs 20 to 45 minutes a few nights a week, usually coding or testing a project. Short, focused sessions work better than long ones, since students often need to step away from a bug before they can see it.

  • How can collaborative projects be graded fairly?

    Ask each student to keep a short log of what they wrote, tested, and changed, and require commit history or shared document history. Grade the individual contributions and the team product separately so one strong coder cannot carry a quiet partner.

  • How do students get ready for a college course or a tech job after this?

    The strongest preparation is finishing one project students actually care about, from idea to working program with documentation. That experience matters more than memorizing syntax, and it gives students something concrete to talk about in interviews or applications.