
Joe Sanbria (seated), 16, gets help from his classmates with the programming language Python at Foshay Technology Academy in Los Angeles. Credit: Lillian Mongeau, EdSource Today
This story has been updated.
Half a dozen bills before the state Legislature address the growing concern that California students don’t have the computer science skills necessary to thrive in the modern workforce.
Educators and tech industry leaders would like high schools to teach students more than just how to use a computer – the goal now is for students to be able to program one. Computer science shouldn’t be a niche field for the highly educated any longer, advocates say.
“I’m not saying every child should become a programmer, but I do think it’s important for every child to have some basic level of skill in computer science,” said Assemblywoman Kristin Olsen, R-Modesto.
If all six bills become law, the California State Board of Education would be tasked with developing computer science standards for grades 1 to 12 and the state higher education systems would be asked to create guidelines for courses they’d be willing to accept for admission credit. (See the chart below for a list of the bills.)
One of the bills, introduced by Olsen and Assemblywoman Joan Buchanan, D-Alamo, would allow school districts to offer students a third year of math credit for a computer science course, which is currently considered an elective.
High school students applying to California State University or University of California schools only need one elective credit to meet admission requirements. By allowing computer science to count as a math credit, more students might take the courses, Olsen said.
“Right now there is a disincentive for schools to offer computer science (courses) and a disincentive for students to take them,” Olsen said.
Currently, most high schools in the state don’t offer high-level computer science courses. Only a tiny fraction of California’s 1.9 million high school students take an AP computer science exam. Last year, 4,964 exams were administered in the state, according to the College Board.* The new laws could significantly boost the number of courses offered.
Foshay Technology Academy, a public high school in central Los Angeles, is ahead of the game. The school requires students to take three years of computer science, which includes computer programming.
“When we first started in 10th grade, we started making our own websites (using) HTML,” a Web-based programming language, said Darryl Beason, a junior at the school. “It really captured me. It’s like another way to express yourself.”
Beason, 16, has become one of the fastest coders in his class, according to his teacher, Leslie Aaronson. She tells Darryl and all her students that if they pursue a computer science career, they can make good money. Entry-level computer programmers can earn $50,000 to $80,000 a year in California, according to the Bureau of Labor Statistics.

Darryl Beason, 16, standing, helps two classmates with a computer program to warn drivers that they’re speeding. Credit: Lillian Mongeau, EdSource
Some of Aaronson’s students have absorbed this message and set their sights on a computer science or engineering degree. Ana Hernandez, 16, plans to study civil engineering. She says learning the logic behind the language of coding makes her confident she can take on the kinds of complex problems she anticipates she’ll encounter as an engineer. Not all of Aaronson’s students are so focused. And many, like Darryl, who wants to be a singer, have no interest in a tech career.
But whatever fields they pursue, Aaronson believes her students are learning useful skills. Though most full-time programming jobs require a bachelor’s degree, basic freelance programming work can pay $30 an hour, Aaronson said.
Chris Stephenson, executive director of the Computer Science Teachers Association, cautioned that even with better course offerings, most high school students won’t graduate with enough knowledge to launch right into a full-time computer science career.
“We have a mythology of kids coming out of high school and starting a company like Microsoft out of their garage,” Stephenson said. “The chance of that happening is slim to none. Pretty much, you need a bachelor’s degree.”
However, for students who enter college with a solid grounding in programming, the job opportunities upon graduation should be plentiful, Stephenson said. Industry leaders expect to add 1.4 million new jobs by 2020, according to the nonprofit CODE.org, which advocates for more computer programming classes in schools.
The types of jobs that require a computer science background are multiplying too, Stephenson said. Jobs in the traditional sciences, like biology, now include computer modeling and data analysis, she said. And jobs in new tech fields, like Internet commerce, are becoming more plentiful every year.
“And then there’s the jobs we haven’t even imagined yet,” Stephenson said.

Ana Hernandez, 16, codes a “loop” during her computer programming class at Foshay Technology Academy in Los Angeles. Credit: Lillian Mongeau, EdSource Today
As Stephenson’s organization has campaigned to increase computer science offerings, she said there has been some pushback from administrators worried about how they’ll fit new courses into an already crowded curriculum. There has been much less opposition, especially in recent years, to the idea that children need to learn the basics of computer science, she said.
Even if a student never programs a single computer outside of class, computer science is a worthwhile academic pursuit, said Shuchi Grover, a doctoral candidate in the learning sciences and technology design program at Stanford University’s Graduate School of Education. Grover compared the analytical thinking skills students develop while learning programming to what they might learn while doing an experiment in science class.
“Not everybody goes on to become a scientist, yet science is seen as needed to understand how the world works,” Grover said. “But so much of the world is digital now.”
Even if the bills currently before the Legislature pass this spring – the Assembly bills are expected to be heard by the education committee in early April – California would have a long way to go before schools across the state were equipped to offer new courses. Credentialed teachers with up-to-date knowledge of programming are hard to find and some schools do not have the necessary equipment to teach a relevant programming course, said Assemblyman Curt Hagman, R-Chino Hills.
Hagman introduced two of the six computer science bills – one to create standards for grades 7 to 12 and another to allow high school students to earn community college credit – after hearing from tech industry leaders that they were having trouble finding qualified applicants.
“I believe it’s a nonpartisan issue,” Hagman said. “I think it’s about getting students prepared to become employed when (they) get out of high school or college.”
*Correction: This story has been updated to reflect the correct number of AP exams, which is 4,964, administered in 2013 in California high schools. The state has more than 1.9 million high school students.
Lillian Mongeau covers early childhood education and STEM. Contact her or follow her @lrmongeau.
To get more reports like this one, click here to sign up for EdSource’s no-cost daily email on latest developments in education.
Comments (25)
Comments Policy
We welcome your comments. All comments are moderated for civility, relevance and other considerations. Click here for EdSource's Comments Policy.
Pierre 8 years ago8 years ago
The course we developed called Algorithmic Geometry w/Java received a "c" Advanced Mathematics designation from UCOP a-g Doorways. In this course, we have revamped vector geometry for ease of thinking and writing algorithms. We use Java / Java3D, but the same patterns could be implemented in any object-oriented programming language with IEEE standards-based numerics and a good 3D graphics extension, e.g., Python, C++, or C#. The strengths of this approach is that … Read More
The course we developed called Algorithmic Geometry w/Java received a “c” Advanced Mathematics designation from UCOP a-g Doorways. In this course, we have revamped vector geometry for ease of thinking and writing algorithms. We use Java / Java3D, but the same patterns could be implemented in any object-oriented programming language with IEEE standards-based numerics and a good 3D graphics extension, e.g., Python, C++, or C#.
The strengths of this approach is that we can be teaching advanced mathematics and programming at the same time, and you can expect roughly equal participation from girls and boys when the environment is a math class. With recent changes from UCOP a-g lifting the numerical limit on Honor Math classes offered in one high school, these interdisciplinary Math-CS classes can apply as Honors Math (you do need a comprehensive final exam), and this will address getting enough signups.
The challenges are discussed in the article, and amount to teacher training and adequate funding to support advanced courseware requiring a computer lab and IT techs to maintain it.
Believe it or not, the most difficult part of teaching Algorithmic Geometry is not the Java programming, it is the inventive sketching. Many students come with very deficient drawing skills, and many are convinced that sketching is unimportant in the digital age because desktop and laptops don’t support it.
Math teachers are well prepared to impart the inventive sketching techniques, so they may have a training advantage over CS teachers in this area.
Teachers who go the extra mile for students to bring a 21st century Math approach into their classrooms deserve to receive significant stipends or bonuses, $15-20K. In this regard, the teachers union has erected indefensible barriers to initiative on the teacher’s part in their seniority-based pay schedule….that has to change.
George DeMarse 9 years ago9 years ago
Here we have again some ill-informed half-baked ideas about "what's good" for education and the employability of students. We have the same "one size fits all" approach based on the logic of "gee whiz--there are computer science jobs--let's make high schoolers into computer scientists so they can get those jobs." The idea and the logic are silly. Why would we assume, like these lawmakers, that computer programming skills will be the hot muffins of the future? … Read More
Here we have again some ill-informed half-baked ideas about “what’s good” for education and the employability of students.
We have the same “one size fits all” approach based on the logic of “gee whiz–there are computer science jobs–let’s make high schoolers into computer scientists so they can get those jobs.” The idea and the logic are silly. Why would we assume, like these lawmakers, that computer programming skills will be the hot muffins of the future? It’s probably the case that the labor market could become saturated with programming types and demand will go “down,” not up for programmers. It has certainly happened in the past.
Besides, as I have told people for years–there is no connection between the number of jobs in a given field and what they pay, and the particular skill set and strengths of any particular student. If Johnny excels at art or music but flunks geometry, no high salaried job in the world is going to make Johnny better at geometry (or programming). Build on the kid’s strengths;not weaknesses. Let’s face it, Johnny is not going to be a programmer.
George DeMarse
The Sage of Wake Forest
Replies
navigio 9 years ago9 years ago
There are virtually zero jobs in 'reading' yet we continue to teach that. Odd. You are bound to be disappointed if you interpret legislators' words for those of educators. Computer science has value for learning independent of what we call jobs that may make explicit use of that field (or whether they even exist). Programming in particular is analogous to writing. It is textual encoding of logic, process and structure, very much in the same … Read More
There are virtually zero jobs in ‘reading’ yet we continue to teach that. Odd.
You are bound to be disappointed if you interpret legislators’ words for those of educators.
Computer science has value for learning independent of what we call jobs that may make explicit use of that field (or whether they even exist). Programming in particular is analogous to writing. It is textual encoding of logic, process and structure, very much in the same way that writing is textual encoding of speech and thought. There is a reason learning to read and write are so much more difficult than learning to speak. And that’s part of the reason we value them in school.
Elizabeth 9 years ago9 years ago
It is already possible to have a computer science class count as a math class in California, but the computer science class must be designed to ensure the students meet mathematics learning objectives as well. Of course, with the amount of overlap, it's not difficult to design a class in such a way. Currently, I teach a computer science class that is approved as a math elective, and I know of several core math classes … Read More
It is already possible to have a computer science class count as a math class in California, but the computer science class must be designed to ensure the students meet mathematics learning objectives as well. Of course, with the amount of overlap, it’s not difficult to design a class in such a way.
Currently, I teach a computer science class that is approved as a math elective, and I know of several core math classes that are taught as computer science classes. It makes more sense to leverage technology to integrate computer science, an interdisciplinary field, with current academic classes than to have computer science replace math in the curriculum. With the current California standards, it would mean that students could choose to take computer science rather than algebra 2, which doesn’t seem like a great idea.
Replies
Paul 9 years ago9 years ago
Elizabeth, I'd love to hear more about your CS course. We can classify a high school CS course on three levels: 1. Does the course satisfy an A-G requirement? Really, this is of interest only to University of California candidates, as the California State University is more liberal, private universities have complete freedom in assessing candidates' academic records, and the issue is moot for the large number of students who don't apply to university. The most common high … Read More
Elizabeth, I’d love to hear more about your CS course.
We can classify a high school CS course on three levels:
1. Does the course satisfy an A-G requirement? Really, this is of interest only to University of California candidates, as the California State University is more liberal, private universities have complete freedom in assessing candidates’ academic records, and the issue is moot for the large number of students who don’t apply to university.
The most common high school computer science option, an AP course, counts as a “college-preparatory elective”, in Category G, rather than as a math course, in Category C.
However, “approval” usually suggests that a high school has asked the University of California to evaluate a locally-designed course and slot it in to an A-G category.
2. Does the course satisfy the state minimum high school graduation requirement for math: two years, including Algebra I if this was not completed in Grade 8? In this sense, all high school math courses, other than Algebra I for students who didn’t complete it in Grade 8, are elective. Nothing in state law prevents a student from meeting the math graduation requirement with Algebra II and AP Statistics, or Geometry and Algebra II, or two years of integrated math, or one year in a standard math course and another in a locally-designed course. (For example, one district where I taught fielded a problem solving course for many years.)
If your course qualifies as a math course on this level, students can most definitely choose it instead of Algebra II, etc., though their counselors might not know the law or might not encourage the practice. Stupidly, school districts are also allowed to impose stricter graduation requirements than the state. (This is a way to give students even fewer elective courses than they would normally have, and to reduce, rather than boost, graduation rates.)
3. What credential must the course’s teacher possess? For a bona fide CS course, the Single Subject Math credential is the only allowable document. For a programming course, one could get away with Single Subject Foundational-Level Math, a Subject Matter Authorization in Introductory Math, or a Designated Subjects credential (if the course were non-academic). Reliance on a math credential or math authorization could influence the course’s characterization under #2, as well.
As a former math teacher and as a computer scientist, I would be excited about incorporating math into a CS course. I WOULD want the course to qualify as an alternative to the second and final high school math course, for the large number of students who complete Algebra I in Grade 9, take one more math course, and then stop studying math after meeting state minimum graduatuon requirement. For that group, CS would be much more interesting, and would yield many more career opportunities, than Algebra II. Reserving the hypothetical CS course for advanced math students would reflect the status quo, and wouldn’t expand access.
Expanding access is the point of these legislative efforts. It is also the right thing to do for young people who are entering an economy that has changed a bit in the decades since US high school math course patterns were laid out after World War II and tweaked after Sputnik.
Elizabeth 9 years ago9 years ago
Hi Paul, 1) Yes, it was submitted and was approved through the UC Doorways system. I currently have two computer science courses approved, one an an interdisciplinary elective (incorporates learning objectives from design, humanities, and math) and one as a math elective (past Algebra 2), both under the "G" requirement. There are also courses that fulfill the "C" math requirement through computer science, and we are toying with the idea of developing some … Read More
Hi Paul,
1) Yes, it was submitted and was approved through the UC Doorways system. I currently have two computer science courses approved, one an an interdisciplinary elective (incorporates learning objectives from design, humanities, and math) and one as a math elective (past Algebra 2), both under the “G” requirement. There are also courses that fulfill the “C” math requirement through computer science, and we are toying with the idea of developing some of these for use at our school.
Here are some courses that satisfy core math requirements (“c” requirement) and are integrated with computing education goals:
https://doorways.ucop.edu/view/app/course/public/448499/ (Integrated Math 1)
https://doorways.ucop.edu/view/app/course/public/448502/ (Integrated Math 2)
https://doorways.ucop.edu/view/app/course/public/448505/ (Integrated Math 3)
https://doorways.ucop.edu/view/app/course/public/440735/ (Algebra 2)
The class I teach was submitted as a math elective and fulfills the “g” requirement. It has Algebra 2 as a perquisite and was intended to cover material in an advanced high school math class. It uses fractals/recursion to cover sequences and series, AI/tree search to cover basic combinatorics, a brief unit on DLD and Boolean Algebra, Graphics to talk about Matrices/Vectors/Trig, and Cryptography to review the topics and do some basic number theory. The kids seem to enjoy it, though they found it tough at the beginning. A lot of that was because it was a new course, so I hope that next year it will be a better experience for them.
2) Our school’s graduation requirements are more strict in that we require all students to fulfill A-G requirements, so the grad requirement question doesn’t really apply to us. Honestly, any student who is looking at CS should be pursuing math education, so I would hope that a student would take something along the lines of the Algebra 2 course (“Algebra 2 for the 21st Century”) that I linked to above rather than foregoing Algebra 2 to take a different course.
3) I teach the course, and I have a degree in Computer Science.
I would love to talk to you more about this, and I wish there were a way of giving you my email without posting it on this site. I will be participating in a course integration workshop in a few weeks in which we will be creating a course to fulfill a “C” math requirement through Computer Science (or more accurately a Information and Communication Technologies pathway). I think it’s important that the kids are college ready, because so many of the CS jobs that are out there require a bachelor’s degree, and we need more than just coders. A lot of the basic coding jobs are already overseas.
el 9 years ago9 years ago
Neat, Elizabeth! Thanks for sharing.
Lillian Mongeau 9 years ago9 years ago
Thanks for this Elizabeth. The new legislation by Buchannan and Olsen (AB 1764) would allow a course like the ones you designed count for a "C" credit, not only a "G" credit. There's also a push to include more computing in the traditional math courses like the ones you list. It sounds like you're already on top of that at your school! May I ask where you teach? Thanks, Lillian Read More
Thanks for this Elizabeth.
The new legislation by Buchannan and Olsen (AB 1764) would allow a course like the ones you designed count for a “C” credit, not only a “G” credit.
There’s also a push to include more computing in the traditional math courses like the ones you list. It sounds like you’re already on top of that at your school!
May I ask where you teach?
Thanks,
Lillian
Elizabeth 9 years ago9 years ago
I teach at a private school in Los Angeles. Because I'm not acting as an official school representative in posting here, I don't want to say the name, but if you, as the author, can see my email, feel free to email me. I tried to post on your "contact" form on this site, but I got an error. The math based course might be eligible for "C" credit, but I chose to submit … Read More
I teach at a private school in Los Angeles. Because I’m not acting as an official school representative in posting here, I don’t want to say the name, but if you, as the author, can see my email, feel free to email me. I tried to post on your “contact” form on this site, but I got an error.
The math based course might be eligible for “C” credit, but I chose to submit it as a “G” credit. I may try to submit subsequent classes as a “C” credit, but it doesn’t affect our students, who still must take math through Algebra 2 in order to be UC/CSU eligible. I’m actually not sure how admissions officers look at higher level math classes passed as “G” rather than “C” credits, but for our internal purposes, the classification is irrelevant.
Honestly, I would prefer the current system, in which computer science classes can fill the math requirement if and only if they address learning objectives for math. Currently, the math requirement is through Algebra 2 for UC/CSU admission, and I would hate to see kids sacrificing Algebra 2 to take computer science, especially when there’s a UCCI course that can give you two in one. I’m also not sure where the criteria for qualifying as a CS course would come from (ACM/CSTA?). The best case in my POV would be to have Math/CS integrated courses available from Pre-Algebra on.
Thanks for letting us know about these developments.
Edward S. Lowry 9 years ago9 years ago
Currently used computer languages are deficient on 7 leading edges compared to a design distributed at IBM in 1973. See “Inexcusable Complexity for 40 years” at users.rcn.com/eslowry . Students everywhere are taught how to arrange pieces of information by educators who are unaware of pieces of information that are well designed to be easily arranged. Expanding teaching of programming without correcting these defects is a huge disservice to students.
el 9 years ago9 years ago
I think computer science and the logical, structured thinking it creates is a very valuable discipline, as valuable as anything we teach now. Being able to break down instructions that cover every possible contingency and write them out extremely literally for the world's stupidest reader (IE, a computer :-) ) is a skill that translates into pretty much every human endeavor. I recall as a child being part of an exercise in a summer school situation … Read More
I think computer science and the logical, structured thinking it creates is a very valuable discipline, as valuable as anything we teach now. Being able to break down instructions that cover every possible contingency and write them out extremely literally for the world’s stupidest reader (IE, a computer 🙂 ) is a skill that translates into pretty much every human endeavor.
I recall as a child being part of an exercise in a summer school situation where you had to describe how to make a peanut butter and jelly sandwich to someone you couldn’t see. The person had two bags of bread, a plate, a knife, a jar of peanut butter, and a jar of jelly, behind a partition. The class could see both, but the person giving instructions didn’t get to see what was happening until the final product.
I remember the first person was kind of puzzled by the exercise, but she went for it. Her instructions went something like this:
1. put the bread on the plate.
2. put the peanut butter on the bread.
3. put the jelly on the other bread.
4. stack the jelly bread on the peanut butter.
The person “following” the instructions was a teacher’s aide who would follow them as wrongly as possible while still being literally correct.
So, the result of the above instructions was:
1. unopened loaf of bread placed on plate, still in plastic bag.
2. jar of peanut butter balanced on the bread.
3. jar of jelly balanced on the other loaf of bread.
4. Final result: a stack with a loaf of bread on the bottom, a jar of peanut butter above that, a jar of jelly above that, and a loaf of bread topping the stack. Voila! A sandwich, yes?
I think it wasn’t until about the 10th student’s attempt that an accurate sandwich was made.
It was very fun, understandable to everyone, and totally a great computer science lesson. And I still remember it with clarity even though it was maybe 1978.
But all that said, these CS lessons will take time, and I hate to see bills mandating new curriculum that don’t also directly consider what elements we will take OUT of the curriculum to make time for them.
Replies
Lillian Mongeau 9 years ago9 years ago
Just had to reply because I did this lesson with my 7th grade students back when I taught middle school English. The idea was to teach them about the precision of language, but I can see how it would relate to CS too.
~Lillian
el 9 years ago9 years ago
I would say the teacher who taught it to me considered it a language arts lesson as well. Nevertheless, it’s something I draw upon every day as a STEM professional. 🙂
navigio 9 years ago9 years ago
i have degrees in both linguistics and computer science. you can imagine how i view the world (and cs). 🙂
Leslie A 9 years ago9 years ago
This lesson is part of the problem solving unit of Exploring Computer Science, the course I teach to the 10th graders. It is a great lesson. I love the curriculum because it teaches students to think and talk to each other- it focuses on computer science theory along with inquiry and equity.
Gary Gongwer 9 years ago9 years ago
I use this lesson in my introduction to CS class! I am consistently amazed by the assortment of monstrosities we end up with in class as a result. It is a highly effective and hilarious lesson in the importance of precise language and syntax.
jim 9 years ago9 years ago
since the de-funding of state supported occupational programs, (due partially to stale curriculum) The absence of qualified new hires in many professions (including nursing and CS) becomes exacerbated. unfortunately it's legislative cart before horse as usual. paul makes a clear point in his question on credentialing. how many of our teachers shy away from technology in the classroom? too many. can we bring in successful experienced professionals to teach (supplement) shortfalls in teacher expertise? doubtful. … Read More
since the de-funding of state supported occupational programs, (due partially to stale curriculum) The absence of qualified new hires in many professions (including nursing and CS) becomes exacerbated. unfortunately it’s legislative cart before horse as usual.
paul makes a clear point in his question on credentialing. how many of our teachers shy away from technology in the classroom? too many. can we bring in successful experienced professionals to teach (supplement) shortfalls in teacher expertise? doubtful. can local colleges offer high school students courses? certainly. let’s ask these two legislators to implement funding support to colleges for offering classes to 10-12 year students.
you get only those students with a focused interest, and avoid wasting time and resources where students do not use, and thereby lose, any CS education they are force-fed by well meaning but mis-targeted legislation.
what do you think Assemblywoman Olsen?
Robert Thomas 9 years ago9 years ago
Having worked as an engineer in the computing and networking machinery industry in the Santa Clara Valley for thirty-five years, I say that the most alarming threat to our industry and the preeminence of our region as an innovative source of flexible technologies is the presence of a GLUT of unmotivated software engineers who don't like their jobs, who were never attracted to the pursuit, who were pressed into software engineering by insistent families and … Read More
Having worked as an engineer in the computing and networking machinery industry in the Santa Clara Valley for thirty-five years, I say that the most alarming threat to our industry and the preeminence of our region as an innovative source of flexible technologies is the presence of a GLUT of unmotivated software engineers who don’t like their jobs, who were never attracted to the pursuit, who were pressed into software engineering by insistent families and who produce VERY BAD QUALITY SOFTWARE.
As an electrical engineer, I’m not in competition with these workers but I am subjected to their crummy, junky product every day.
There are market reasons for this state of things. Over the last forty years, the quality of solid-state and other electrical engineering and system architecture has IMPROVED dramatically. During the same period, the quality of software engineering has declined just as dramatically. While the cost of making errors in hardware design has steadily risen, customers have been “trained” to accept endless updates and patches to their software products after purchase. Replacing hardware after purchase is costly and embarrassing; “updating” software aftermarket has become a commonplace. The great majority of software errors one encounters during a development project are the result of carelessness, laziness, casual miscommunication and inattention.
This is the real cause of the problems with the ACA. The federal government was (unaccountably) startled by what has become an accepted state of affairs in the commercial sector.
I’m an old white guy, but my father was a plumber with a (good) high school education and the education one gained from having been a sailor in the Pacific during WWII; my mother was a smart homemaker, similarly schooled. I pursued my profession because I KNEW, by the time I was eight or nine years old that it was what I wanted to do, NOT because of parental pressure or grooming.
If the initiative described here will abet the aspirations of such like kids of any ethnicity and either sex, I applaud it. If it tries to promulgate the invidious fiction that everyone is suited for a job “coding” (a euphemism for DITCH-DIGGING), it is a dastardly confidence trick.
Replies
navigio 9 years ago9 years ago
Good comments. I think its too early to say because historically the vast majority of people have been (effectively intentionally) excluded from any visibility into this or related fields. There is no reason to believe that nerds have to come one from a subset ethnicities, races or socioeconomic backgrounds. Its also worth pointing out that much of what makes good software is not necessarily what one would consider 'core' software engineering. As an example, many … Read More
Good comments. I think its too early to say because historically the vast majority of people have been (effectively intentionally) excluded from any visibility into this or related fields. There is no reason to believe that nerds have to come one from a subset ethnicities, races or socioeconomic backgrounds. Its also worth pointing out that much of what makes good software is not necessarily what one would consider ‘core’ software engineering. As an example, many of the problems you point out are about process and product mgmt staffing, and less about geek-factor. Those things can apply to most any profession that requires attention to detail and complex thought-processes.
I also think there are pretty complex reasons for the quality deterioration you talk about, but thats kind of a different topic. 🙂
Ryan 9 years ago9 years ago
Well schools should spend more on Science classes. High School should have the look and feel as a College or University does. Instead of starting classes at 7am they should look into starting classes a little later in the day and extend into the night. Get rid of sports and start focusing on what this country needs....more science based education. We are lacking in it. Why? Because our country … Read More
Well schools should spend more on Science classes. High School should have the look and feel as a College or University does. Instead of starting classes at 7am they should look into starting classes a little later in the day and extend into the night. Get rid of sports and start focusing on what this country needs….more science based education. We are lacking in it. Why? Because our country deems sports is more important. Most people claim that sports teach discipline and teamwork. While I agree that they do, they also teach discrimination. If you are not athletic enough you don’t make the team. Yet less than 1% of all high school athletes make it to the pros, our schools spend upwards of 40% of their budget on it. Why not change that around to spend about 1% on sports and 39% on science?
Paul 9 years ago9 years ago
This is wonderful news! I remember applying for the computer teacher position at a middle school in South San Francisco a few years ago. The school stood out because it served its diverse population effectively: academic performance was high. The principal himself stood out, because he was not a 27-year-old who had ascended from the classroom after two years. The downside to his long standing? He felt the need to caution, "We don't teach programming here." … Read More
This is wonderful news!
I remember applying for the computer teacher position at a middle school in South San Francisco a few years ago. The school stood out because it served its diverse population effectively: academic performance was high. The principal himself stood out, because he was not a 27-year-old who had ascended from the classroom after two years. The downside to his long standing? He felt the need to caution, “We don’t teach programming here.” (Incidentally, computer science is more than programming.)
There are superb initiatives like Bootstrap, which uses CS concepts to teach algebra. I myself taught students in Grades 5 to 8 to program in three languages during a two-week (!) summer session at a private school not an hour away from South San Francisco.
My undergraduate degree is CS-related. When I was in the classroom — even in middle and high school math — attempts to use computer skills in running a classroom, teaching students, and letting students experiment, were greeted with suspicion. If they have computer skills at all, public school administrators know how to use application programs like Word and PowerPoint. Some know how to enter data into an Excel spreadsheet, and a handful would know how to write a spreadsheet formula. Fewer still appreciate what CS means.
It’s bad enough that California has no standards for CS, and that, in the handful of districts that teach CS, it is an AP course, intended for top high school seniors. Prescribing CS standards for all students and all grades is a good first step.
The second step involves preparing teachers. As surely as California has no standards for CS, we have no credential for CS. Today, a CS course in a district-run school must be taught by the holder of a Single Subject Math Credential. But the qualifying subject matter exam (CSET – Math) has no CS content!
The CTC does issue a Supplementary Authorization in Computer Concepts and Applications. There’s no CS there, either, and that qualification reflects the state-of-the-art about 20 years ago.
Lillian, have any legislators considered the CS credentialing problem?
Replies
Lillian Mongeau 9 years ago9 years ago
Great question Paul. Curt Hagman mentioned the issue to me when we talked about teachers. Standards and all that have to be put in place before the credentialing issues can be tackled. I think there is a follow-up story here about teachers though. Do you teach CS now? Would you be willing to shoot me an email at lmongeau at edsource dot org? I’d be interested in hearing more about your experience.
Paul 9 years ago9 years ago
Lillian - I'll gladly send an e-mail, but I also wanted to respond briefly here. Last year, I left teaching to return to tech. Interestingly, I'm not paid much more, in a startup setting. What tipped the scales were job features unavailable to people who have embarked on teaching careers in recent years. My contract isn't temporary, and I enjoy genuine professional authority. My company sets the goals, but I choose how to meet them. … Read More
Lillian – I’ll gladly send an e-mail, but I also wanted to respond briefly here. Last year, I left teaching to return to tech. Interestingly, I’m not paid much more, in a startup setting. What tipped the scales were job features unavailable to people who have embarked on teaching careers in recent years. My contract isn’t temporary, and I enjoy genuine professional authority. My company sets the goals, but I choose how to meet them. The public school system, in contrast, dictates both the goals and the methods.
Robert – You’re absolutely right. Might I suggest desktop publishing as an analogue? In the software industry, people now style themselves experts after ordering a “cookbook”-style manual from Amazon.com or enrolling in a 10-week programming “boot camp”. Nowhere is the decline more pronounced than in the database field — my specialty. Decades of computer science research are being cast aside in favor of glorified flat-file systems. No, not everyone should be a “coder”!
Jim – Your comment immediately made me think of California’s “Designated Subjects” credentialing mechanism, used to recruit people with industry experience to Regional Occupational Programs, adult schools, etc. Now that the President, the Governor, advocacy groups, and parents have decided that all students will go to college, these excellent programs have lost political favor. Even if, by some miracle, California reverses course and restores funding, the computer offerings tended more toward application software than computer science. In the ROP and Adult Education contexts, application training was vitally important in preparing students for employment. Ironically, Designated Subjects credentials cannot be used for high school computer science courses because such courses are labeled college-preparatory.
El – Devising algorithms offers an excellent example of the relevance of CS. In mathematics, I lament the scant attention paid to set theory (after New Math was abandoned), logic (lumped in with geometry), and discrete math (essentially absent from California’s old math standards). The mathematical underpinnings of computer science have such broad and interesting applications, if only we were less fanatical about algebra and geometry.
navigio 9 years ago9 years ago
not everyone should be a coder, but everyone should be given the chance to be. we havent even tried the latter yet. the 'evolution' of 'experts' is largely a function of the evolution of all the building blocks (software, hardware, networks, etc). those changes have enabled (or at least made more feasible) brute-force algorithms and deployment replication with minimal effort. coupled with a 'just-get-it-done' environment and reduced-labor-cost marketplace (along with an increase in size of … Read More
not everyone should be a coder, but everyone should be given the chance to be. we havent even tried the latter yet.
the ‘evolution’ of ‘experts’ is largely a function of the evolution of all the building blocks (software, hardware, networks, etc). those changes have enabled (or at least made more feasible) brute-force algorithms and deployment replication with minimal effort. coupled with a ‘just-get-it-done’ environment and reduced-labor-cost marketplace (along with an increase in size of most markets), it doesnt seem surprising that such a change has taken place. obviously that doesnt make those people ‘experts’, but it also reduces the need for ‘real’ experts (at least how they’re defined from a historical perspective).
btw, discrete math was one of my favorite classes. are there elements of that in ccs?
Paul 9 years ago9 years ago
Navigio, what I like about the Common Core is the Standards for Mathematical Practice. These are the habits of thought that teachers and students should build up when doing math. They cut across all grades and topics. Such ideas were completely absent from California's old standards. On the content side, the Common Core lists a sequence of topics, just like the old math standards. The choice of topics isn't novel. Sadly, even I must concede that the … Read More
Navigio, what I like about the Common Core is the Standards for Mathematical Practice. These are the habits of thought that teachers and students should build up when doing math. They cut across all grades and topics. Such ideas were completely absent from California’s old standards.
On the content side, the Common Core lists a sequence of topics, just like the old math standards. The choice of topics isn’t novel.
Sadly, even I must concede that the Common Core is as soft on discrete math as California’s old standards. “Discrete” appears 3 times in the official, national-level math document, “logic”, 5 times, and “set theory”, not once!
There is the usual stuff about probability throughout, but only pp. 82-83, beginning with “Conditional Probability and the rules of Probability”, has anything substantial. At that, high school statistics and probability are dismissed as “[a]dditional mathematics that students should learn in order to take advanced courses such as calculus, advanced statistics, or discrete mathematics”.
To me, this thinking is backward. First-order logic, base-2 arithmetic, more probability, basic set theory, etc., could easily be taught to non-AP, non-senior high school students. As matters stand now, those students usually have no choice: Algebra I (if not passed in Grade 8), Algebra II, Geometry, exit the math program, and hate math for life.
Re: the decline in CS expertise, we agree on the reasons for it, but not on the consequences. If you want correct and reliable software — especially in the database arena — you need experts instead of coders. My way of reconciling Robert’s, yours and my perspectives would be to say that all students can and should learn basic computer science (including programming), but that only the best should continue in the field.