High school senior Gurmeher Kaur was hesitant to study coding when her mom, a computer science professor herself, first suggested it to her.
“I was scared of it initially, but once you start, you realize how empowering it is,” Kaur said.
Early in the pandemic, with more time on her hands, Kaur and her best friend studied the online materials for an introductory computer science course at UNC-Chapel Hill. Her mom helped them out.
“What we would do is, after school, sit at my dining table, and we'd pull up the website, go through the slides and we'd try a few problems,” Kaur said. “It was really fun.”
Today Kaur is president of the coding club at Chapel Hill High, where she's also taken two more Advanced Placement computer science classes. She’s concerned that other North Carolina students don’t have the same opportunities.
“I do know about a lot of other schools where basically the highest level of computer science class they offer is either (learning) some sort of Adobe (program) or getting used to Word,” Kaur said.
Now, Kaur actually teaches coding to her peers in her free time. She said coding is like “an amazing superpower” that can help students in many disciplines.
“My grand vision for how the world should look is that computer science is taught almost as ubiquitously as math is,” Kaur says.
That vision is becoming a reality in North Carolina with a new state law that requires introductory computer science courses in all middle schools and high schools.
Beginning in Fall 2026, North Carolina high school students must complete at least one computer science course to graduate, with exemptions for students with learning disabilities.
NC Department of Public Instruction leads efforts to train teachers
State superintendent Catherine Truitt advocated for the bill.
“We would be doing a disservice to our children not to require them to have a computer science course before they graduate from high school,” Truitt said.
Truitt said she was impressed when she first saw that some schools in the Triangle already offer industry-recognized credentials in coding that could lead straight to a job.
“To know that there were such a few schools that were doing that, because really of where they were located, just was kind of like a knife in the heart to me,” Truitt said.
At Truitt's request, the General Assembly funded a computer science division at the Department of Public Instruction in November 2021. In addition to staffing that division, the state has also provided $400,000 or more annually in funding in recent years that Truitt says has already helped train thousands of computer science teachers. The teachers are paid $1,000 stipends to complete a week-long course.
In a matter of years, Truitt foresees public schools across the state offering a variety of computer science classes. The law says the courses should be taught by in-person instructors “when practicable.”
But the state may need hundreds, if not thousands, more computer science teachers to make in-person instruction possible.
“We do have until 2026, which is why we're working now to survey our superintendents (and) find out where the need is,” Truitt said.
Truitt said survey results expected back in early 2024 will help inform how much funding her department requests from the General Assembly next year to pay for teacher training.
Training computer science teachers — and holding on to them — is a challenge
Experts say it's important that computer science training for teachers is robust.
The training that the Department of Public Instruction currently offers is one week long, with follow up meetings four times throughout the year on Saturdays.
“You train teachers in computer science, and then are they just going to leave the field because they could make so much more money?”
“Would you think sending a teacher who knows no Spanish to a one-week Spanish training, would allow them to teach Spanish fluently? Nah, it's not going to happen,” said Barbara Ericson, a computer science professor at the University of Michigan.
Ericson helped implement a similar law in Georgia, and has authored several introductory computer science textbooks
“A lot of states try to do very little training or certainly not enough training,” Ericson says. “The other alternative is basically getting teachers to minor in a subject … but that's difficult to do.”
Ericson said when she trained computer science teachers in Georgia, sometimes they would simply switch jobs after getting good at coding.
“That is a big worry, right?” Ericson said. “You train teachers in computer science, and then are they just going to leave the field because they could make so much more money?”
That's what Sam Boyarsky did. He used to teach computer science at the North Carolina School of Science and Math in Durham, a public school for gifted students.
Boyarsky is an alum of the school and wanted to give back to students, but was later swayed by better offers to teach coding to adults.
“I was like, ‘Cool. I can teach adults for a whole lot more money and work for a company that has unlimited time off and great benefits? That sounds excellent,’” Boyarsky recalled.
Within a year of leaving teaching, his salary had doubled. A year later, it had tripled. Now, Boyarsky is a software engineer.
“I make four or five, six times what I made as a teacher,” he said.
Boyarsky said he appreciates the thought behind the new statewide computer science requirement, but when he heard about it, his first thought was:
“Unfunded mandate — that's how I feel about that,” Boyarsky said.
Or “at least underfunded," he qualified — so long as teacher pay in North Carolina remains at its current level, with starting base pay around $40,000 in many public school districts.
“Somebody who can teach these classes can easily get a job making $70,000 to $100,000, no problem,” Boyarsky said. “If they're really good at it, getting that $150,000 to $200,000 job — totally reasonable.”
Supporters of the new law hope those high-paying jobs will also be more in reach for today's students.
Editor's Note: An earlier version of this story misspelled Gurmeher Kaur's name.