Should CS Be Required for a High School Degree? 197
When it comes to the official requirements for graduating from a U.S. high school, there's a push for changes.
Long-time Slashdot reader theodp looks at 2014: Making computer science courses 'count' would not require schools to offer computer science or students to study it," Code.org CEO Hadi Partovi emphasized to lawmakers in his 2014 Congressional testimony following the nation's first Hour of Code, an event organized and run by the tech-backed nonprofit. "It would simply allow existing computer science courses to satisfy a requirement that already exists."
But as the nation's 10th annual Hour of Code kicks off on Monday, Code.org has reversed course on that no-required-CS stance. Speaking at last month's 2022 National Summit on Education, Partovi said, "I want to close with one quick request, which is to talk about "the idea of computer science as a high school graduation requirement for every student (PDF slides). Which may sound controversial, but my goal for the end of this decade is to make that possible in all 50 states" (YouTube).
The announcement comes just months after a who's who of the nation's tech leaders — organized as CEOs for CS by Code.org — joined in a PR campaign that publicly pressed 'the Governors of the United States' to sign a Compact To Expand K-12 Computer Science Education.
Long-time Slashdot reader theodp looks at 2014: Making computer science courses 'count' would not require schools to offer computer science or students to study it," Code.org CEO Hadi Partovi emphasized to lawmakers in his 2014 Congressional testimony following the nation's first Hour of Code, an event organized and run by the tech-backed nonprofit. "It would simply allow existing computer science courses to satisfy a requirement that already exists."
But as the nation's 10th annual Hour of Code kicks off on Monday, Code.org has reversed course on that no-required-CS stance. Speaking at last month's 2022 National Summit on Education, Partovi said, "I want to close with one quick request, which is to talk about "the idea of computer science as a high school graduation requirement for every student (PDF slides). Which may sound controversial, but my goal for the end of this decade is to make that possible in all 50 states" (YouTube).
The announcement comes just months after a who's who of the nation's tech leaders — organized as CEOs for CS by Code.org — joined in a PR campaign that publicly pressed 'the Governors of the United States' to sign a Compact To Expand K-12 Computer Science Education.
Betteridge to the rescue! (Score:5, Insightful)
Re:Betteridge to the rescue! (Score:5, Interesting)
And reading comprehension, and summarising. Critical thinking (not "critical theory", that's just bullshit) and information research ie "fact checking" is probably going to be rather important too.
And all the other things you used to learn but no longer. At least one foreign language would be good, too.
The one CS-related thing that would really be useful is touch-typing.
Re: (Score:2)
Re:Betteridge to the rescue! (Score:5, Informative)
No one who has mastered "critical thinking" would consider "critical theory" to be nonsense.
Critical theory produces quite a bit of bullshit because unlike science, it doesn't rely on experiment as the arbiter of truth.
That's not to say that all of critical theory is bullshit, just that it has an agenda which is not always aligned with clarifying reality.
Re: (Score:2)
Nobody needs a high school degree! I made my opinion listening to a renowned expert in the matter!
Think of who's telling you that. Ignorant people are easier to control.
Re:Betteridge to the rescue! (Score:5, Insightful)
Indeed. Computer Literacy? Absolutely. Some coding? Sure. But "computer science" should be among the science electives like physics and biology.
People should know the basics of how computers and computer networks work, and particularly what happens with all their data as they use their devices and "cloud services". They should learn how to use all the basic types of applications... spreadsheets, word processors, image editors, etc. And even a little programming would be good just to gain a better understanding of how you can get computers to do what you want.
But if we're going to go down a road of "every child should be able to code", then we have to decide what we're giving up in the curriculum and school day to accomplish that.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
None of that is even remotely necessary for every day life or most jobs.
Re: (Score:3)
Spreadsheet use should be comulsory (Score:3)
How to build a basic financial model and graph it. Useful to everyone. Along with very basic accounting knowledge.
For maths kids, how to numerically solve a DE with a spreadsheet.
Not taught in Australia. Lots of calculus which most of them will never use. But no useful modeling skills.
A little bit of VBA coding in there could be useful. Just enough to be useful.
Re: Betteridge to the rescue! (Score:2)
Re: (Score:3)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
Computer Science is an advanced topic. Get the math done first, and the science, and all the other stuff. Any "programming" learned is NOT computer science.
Code monkeying, or computer science? (Score:2)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
If chemistry is your thing, great, but you're attributing to it far more importance than is warranted. HS kids simply don't need to know how to read a periodic table or how to do dimensional analysis before starting college. It's just not that important.
Here's an actual problem: College freshmen are completely unprepared for college writing. You'd be hard-pressed to find a single one who was even taught how to write a research paper, let alone one capable of competently producing one. This is a basic s
Re: (Score:2)
Computer Science covers Mathematics, Engineering, Linguistics, Philosophy, Psychology. Trying to pigeon hole it into Mathematics ignores the many cross disciplinary domains it touches.
Re: (Score:2)
No, it's pretty much all math. You'd need to stretch it beyond the breaking point for anything else.
Re:Code monkeying, or computer science? (Score:5, Informative)
They are not quite the same thing - and computer science is a branch of mathematics that uses lots of mathematical material not taught in high school.
I don't know if I'd be that restrictive in the definition. Computer Science encompasses more than just Math and many aspects are often less "science" than the name would imply. Programs are algorithms *and* logic *and* organization *and* (to some extent, to be honest) art -- or at least saying that creative thinking is sometimes (often?) required. Computing / networking systems and their administration are a whole additional things. [I mean, the name "awk" is so functionally descriptive. :-) ]
I took a Computer Fundamentals class in 10th grade *way* back in '79 -- the school had teletype terminals with punch tape readers and acoustic modems dialing into a remote time-share system -- and it counted as elective credits. I think the programming was (simple) FORTRAN. I have a BSCS and have spent my time almost evenly split as a software engineer and system administrator, both on mostly large, expensive Unix systems -- including a Cray-2 at NASA LaRC back in the day.
I don't know if people need to have programming skills, but I think they should have at least a basic understanding of how computers and networks actually work. That said, basic curiosity about how things work, rather than just using them, is a requirement for any of this to be helpful.
Re: (Score:2)
Actually, CS can be theoretical CS which is a branch of mathematics or practical CS which is an engineering science.
As a computer scientist, I would say, No. (Score:2)
Re: (Score:2)
Yup! Also, CS doesn't really seem worthy of a highschool kid's time, imho. They're still too young and trying to sort out their lives. The idea of CS in highschool is likely to score highly here simply because this is a nerd-oriented forum, but it's not actually all that useful in practice. Society still needs medical, manufacturing, food, physics, and art - and I'm probably missing some things here, which is just another example of single minded short sightedness. Regardless, not all of those practices wil
Remember that CS is not "programming" (Score:3)
Re: (Score:2)
CS does include the study of programming languages though as a major tool and that entails some basic skills with them. It does not entail turning CS graduates into proficient programmers though.
Re: (Score:2)
It won't even be real computer science. It will be a high school level overview. Let's not get our panties in a bunch.
Re: (Score:3)
Yes, agreed these are advanced things. My point though is that the people who are pushing for "computer science" education are uninformed: they think that computer science = programming, but they are two very different things as you know.
Given how fast things change in tech, I have to wonder, will programming as we know it be obsolete in ten years? If we teach it in high school, are we teaching something that will inevitably become obsolete? Not sure.
Re: Remember that CS is not "programming" (Score:2)
Depends on what you code for, I suppose, but just about anything I can think of would benefit from an elementary course of, "here's what memory is, here's how numbered memory locations work, here's how named variables work, etc" which is roughly how they taught coding back in the punch card days.
With me, it didn't start to stick even a little until high school and graphing calculators, but I'm glad it was presented that way when I had to take a real life coding class first year for my electrical engineering
Re: (Score:2)
Although, that is the Von Neumann model - i.e., central memory and a CPU. Since that is the model that was forced on us all, thanks to early decisions by computer manufacturers (ignoring all the research that was being done in the 80s in the UK and elsewhere), it is useful to know that model.
There are other models, and a good case can be made that the Von Neumann model is responsible for the horrible unreliability of systems. Other models, such as data flow architectures, tend to encourage "code" that is fa
Re: (Score:2)
they think that computer science = programming
Can you blame them? Most undergrad "CS" programs are almost exclusively programming courses these days. Hell, I got more CS in my intro class than the average undergrad is getting in 4 years. You'd be shocked at how many schools are teaching data structures courses in Java. It's preposterous.
Still, programming is a useful skill that's easy to pick up. It would be good for students to have some exposure to it. If they get that, I don't really care if they want to call it CS.
Given how fast things change in tech, I have to wonder, will programming as we know it be obsolete in ten years?
No.
They need usage, not science (Score:5, Insightful)
Even among the "educated" classes, very few people have a decent understanding of how to use a computer.
They can mash a few keys, and even open a couple of programs, but it's getting harder and harder to find people who can use a computer to even a "driver's license" level of competence.
Re: (Score:3)
Even among the "educated" classes, very few people have a decent understanding of how to use a computer.
And even less about how computers (and networks) actually work.
Re: (Score:2)
to be fair, few computer people understand computer networks beyond "the ip address". most here wouldn't know why you'd set up your netmask to other than 255.255.255.0 or that /24 means the same thing. hell, a lot of people still talk in terms of "classes" when CIDR was implemented way back in 1993... probably before they were using the internet.
a lot of people here in slashdot were defending IPv4 NAT vs IPv6 "because you lose the security you get from NAT since now anyone that knows your IP can access your
Re: (Score:2)
People shouldn't need to understand how to use a computer. That is a relic of nerds and thick glasses typing in a console in the late 80s / early 90s. A computer should just work and be intuitive. And for the most part they are. My own aunt has enough trouble microwaving her food (to say nothing of actually setting the clock on the damn thing which has flashed 12:00 for the past decade), but has no problem writing word documents, sending emails or browsing the internet.
Even setting up a computer the first t
Re: (Score:2)
Fuck no (Score:5, Insightful)
This was like my requirement to have two years of a foreign language to graduate high school, of which I took three because the first year didn't count.
Yes, you read that right. I was required to take two years of a foreign language but had to take three because the first did not count? Why you ask? Because I was in an accelerated program which meant the year I took in 9th grade didn't count toward my high school requirement.
My two choices were latin and french so I took french and passed (somehow). Can I speak the language? If you mean can I pick out a word here and there, oui.
This reminds me when I went to get my second bachelor's degree and was told I was required to take a programming course even though I had taken programming courses years before. I was able to whittle it down to one course from the orignal two. And no, I didn't pass it because I didn't do the semester project. I was there for project management, not writing code.
And before anyone says anything about needing to understand coding, the same logic could be said for people going into programming to take a course in how to assemble a PC.
So no, fuck this shit about being required to take a course in anything other than those for a broad educational background. If someone wants to go into programming then they should be able to substitute a class for a programming course as was originally proposed. Requiring people to take irrelevant course only turns them off and more importantly will impact their grades which will in turn affect what college they might be able to get into.
Considering the dearth of knowledge people have about basics such as reading, writing, and arithmetic, time could better be spent on those subjects.
Re: (Score:3)
...the same logic could be said for people going into programming to take a course in how to assemble a PC....
That is perhaps not a good example. Every programmer I know can build his own computer, either from new parts ordered online, from parts provided to him, or from spare parts he already has in his home from previous computers he's replaced. It tends to happen organically.
Re: (Score:2)
Fine. Every programmer needs to take a course in help desk support. That was what I was originally going to write, but changed it to assembling a PC.
Re: (Score:2)
LOL! No Way! Most programmers don't know which memory is compatible with which video processors, and shouldn't need to know. And if given a room full of boxes of computer parts would not be able to identify which parts to choose from and them assemble a complete and working computer, unless it was pre-assembled!
Re: (Score:3)
broad educational background = higher loans (Score:2)
we need to look for ways to make collage / other learning take less time and cost less
Re: (Score:2)
Re:Fuck no (Score:5, Insightful)
Yes, you read that right. I was required to take two years of a foreign language but had to take three because the first did not count? Why you ask? Because I was in an accelerated program which meant the year I took in 9th grade didn't count toward my high school requirement.
My two choices were latin and french so I took french and passed (somehow). Can I speak the language? If you mean can I pick out a word here and there, oui.
I was in the same position except that I took Japanese, yes including the year which didn't count. Was it a waste? I learnt more about English language and language structures than was ever part of a normal English curriculum (which is too focused on naval gazing over Shakespeare to teach people what a damn past-participle was). Absolute waste of time.
Oh except the advanced part of the course boosted my understanding dramatically for the subjects when they did count and gave me a massive uplift in my overall grades giving me pick of any damn university is so pleased to go to.
Oh and also except that fast forward 10 years and I live in another country, have now had to learn 3 languages (2 of which I needed proficiency certifications for) and am currently learning a 4th. The world is grand of a place to not understand how different languages work and learning a foreign language is absolutely invaluable.
While you may not recall any individual vocabulary, no doubt if you were put in a position where you had to learn a romance language you would find it much easier having taken French in highschool.
Let CS be for H-1Bs, go law... (Score:2, Interesting)
There is interest in CS, but the fact that any CS job will be done by someone with an H-1B, if the job isn't completely offshored makes it not worth it. Why bother going into lifelong debt into a field that you have to fight for scraps?
Instead, best thing for people interested in CS is to go law. There is no such thing as an unemployed lawyer, and a J. D. + Bar membership is a meal ticket for life. No, one may not work for Dewey, Cheatham, & Howe... but you can definitely earn that Audi or BMW you ha
No. Nor should Hamiltonian mechanics be a req (Score:2, Insightful)
Let's start with what I mean by Hamiltonian mechanics. I mean exactly the formulation of classical mechanics formulated by Lagrange, Hamilton, Noether, Pioncare, and the rest during the 19th and early 20th centuries. With abstract algebra of linear operators, Lie derivatives, and all.
And while I'm at it, I'll also add the mathematical details of the Schroedinger wave functions and the Copenhagen interpretation of quantum mechanics to the list of things that one should not have to demonstrate mastery of in o
Re: (Score:2)
Exactly. Well said.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Hell No (Score:5, Insightful)
I can't imagine forcing someone into coding. It's intense enough when you *like* doing it, it would be a nightmare if it wasn't your thing.
Upper class wants... (Score:5, Interesting)
... to deskill CS to lower wages, let's be honest.
Re: (Score:3)
Yep, the whole point of this CS-everywhere drive is to lower industry pay. We have lots and lots of qualified computer scientists, but not a whole lot who are willing to accept low pay. There are lots and lots of open positions, but very few employers willing to pay appropriately.
Re: (Score:2)
Hey, what's special about CS people? We have way too many retail and food service workers too, so their wages have been driven down. Why don't we stop people from going into retail work so that retail workers can get paid six figures too? Would you be in favor of that? Just make every kind of worker super expensive. What could go wrong?
Re: (Score:2)
That they feel threatened by that is telling...
Re: (Score:2)
... to deskill CS to lower wages, let's be honest.
If you're implying that a highschooler will graduate with the skills of a CS, then frankly CS is being massively overpaid.
In other news JP Morgan wants to deskill accountants by teaching pre-schoolers to count using their fingers. Oh the humanity!
No, CS is just a shop class, not a core class (Score:2)
Should CS Be Required for a High School Degree?
No, in high school, CS (he theory and practice of software development) is just a "shop" class, a vocational class, not a core class.
Like a shop class it's perfectly fine to encourage students to take a class to see if they have an interest in it. If they have interest or curiosity, provide a series of CS classes. But don't force it on the uninterested.
That said, computer literacy is something completely different than CS. A computer literacy class or two should be required. a computer is a tool peopl
Re: (Score:2)
But don't force it on the uninterested.
If we let kids only take the classes they were interested in, they wouldn't learn much of anything.
a computer is a tool people need to understand how to use. However that is something very different from the theory and practice of software development.
Nonsense. Programming is very easy to learn and has immense practical value. It is absolutely a basic computer skill.
This is so hilarious! (Score:2)
So... you don't want children to do homework, you don't want children to be taught algebra, you don't want... ...but you want them to learn CS? Seriously?
I mean, we can teach children LaTeX to do math homework and we could kill two birds with a single shot, we can teach children algorithms so they can program and optimize routines (using a B-tree to optimize their spare time), etc.
But that would mean they have do it at home...
No (Score:2, Informative)
Re: (Score:2)
Nope (Score:3)
CS is a specialist skill, there is no sane reason to require it in general. Same goes for programming.
I'd rather they had to take basic law. (Score:3)
If ANY new requirements should be added to High School graduation, it's basic law.
By the time a student has graduated High School, he/she is required to obey the laws on the books - which they weren't born knowing, and which are written in a technical jargon, ditto. They can be fined, jailed, or even executed for failing to follow these rules. Ignorance of them is no excuse. So they should be able to understand them and have been notified of what they are.
I'd also like to see, in addition to the jury of twelve, a jury of six recent highschool graduates - to rule on whether the law is understandable to them and, as understood by them, actually prohibits the act/omission of which the defendant is accused.
- Unanimous "Yes we understand that and the accusation would be a violation." or no conviction.
- Unanimous "This doesn't make sense." and the law is struck (or at least the case automatically goes to an appellate court on that issue).
(The cryptic and bloated pile of laws and regulations, already to big to learn in a hundred lifetimes and being generated faster than it can be read, needs a mechanism besides repeal and challenge (by someone already at risk if the challenge fails) to cut it down to size. Do we need more laws than can be taught and understood by graduation from high school? How else can young adults reasonably be expected to obey?)
No, CS should not be required. (Score:5, Interesting)
Re: (Score:2)
Computer Literacy (Score:2)
There should be a general computer literacy requirement. You should need to know how to properly use a word processor, spreadsheet, and basics on how computers and the internet work. You could throw a *very* basic coding unit in there so you know the fundamentals, but that should be it.
Nearly all of my son's course work in grade school is done on a tablet. He knows how to use a word processor and spreadsheet but, having never taken a formal class in either, has a *basic* understanding of how to use them. I
A teaching of philosophy would be better (Score:2)
So why put barriers in the way of people who do not need it in order to be productive and happy citizens?
This seems to me to be an arrogant overreach, perhaps if philosophy was taught in high school rather than CS this board of experts would understand why.
Harvard CS50 would make an excellent choice (Score:2)
The Harvard CS50 course for HS graduation would be a good choice.
https://www.edx.org/course/int... [edx.org]
Don't teach math (Score:2)
People are getting taught too many complex subjects, and that's driving the wages of professional work down. It's all a conspiracy. Education itself should just be very basic, if at all. Just keep everyone stupid so that we can get paid.
Re: (Score:2)
Worried you can't compete with a high school graduate? LOL!
Wages haven't been stagnant for 40 years because kids were getting a better high school education. You can blame anti-union propaganda, Republican policies, and conservative media for that.
No. (Score:2)
Look, I know YOU think CS is important.
Russian history majors think Russian History is important.
Shop teachers think shop is important.
Meteorologists believe theirs is the most important field.
And we used to think humanity was the center of the universe. Then we grew out of that silliness.
Curriculum is the problem (Score:2)
Consider if it were to be made mandatory. The curriculum would be decided by committees, and would lag years behind. There is need to get everybody understanding computers, coding, and generally how stuff works. But how is the question.
No, it should not. Go back to Business Machines. (Score:2)
Most people don't need Computer Science knowledge, much like they don't need Calculus or more than introductory Physics, Chemistry and Biology. There should be a very basic introductory class, 1 semester at most, teaching the basics of what an algorithm is, what a program is, how to write basic scripts like you'd use to automate putting headings on documents or calculations in a spreadsheet. From there the biggest need isn't CompSci, it's what used to be called "business machines": teaching how to use the s
Basic literacy (including computers) first (Score:2)
How about we focus on computer literacy. As in, knowing how to actually use a computer including basic troubleshooting? And while we're at it, focus back on basic literacy and numeracy.
This is just a ploy to sell products. (Score:2)
Selling products to schools is big business. This could easily create a new multi billion dollar industry selling CS products: professional development for teachers, new cert exam fees, computers, software packages, textbooks, etc. This isn't about students or churning out coders to drive down wages. It's about selling products.
it's a business, offtopic but relevant (Score:2)
The local universities are doing tons of construction to accommodate thousands of staff and students. From what I can see they are barely keeping up to service currently staffing levels. In other words, business is brisk and the growth outlook is optimistic.
It a doesn't seem surprising that standards of understan
What does CS even entail these days? (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Nope (Score:2)
So, Those With No Aptitude Will Flunk Out? (Score:2)
Teaching CS! funny (Score:2)
Probably not (Score:3)
CS professor here, I've been attending SIGCSE for a few years now. I'm not sure we should REQUIRE CS in high school. I'm glad it's an option that some students can take. But as a requirement in HS school that would be very different.
For instance, teaching programming is probably counter productive. It takes a while to learn, and I doubt you'll be able to carve more than one year in the curriculum, so doesn't seem particularly helpful.
Ideally you'd want to teach computational thinking, how automated systems work and why they are designed like that. But that seems relatively hard to teach at high school level.
So I'm not saying there is not a proposal that could make sense. But gut intuition is "probably no".
Shouldn't be required but it can help learn logic. (Score:2)
Basic logic and proofs go together very well with programming and CS more generally. A good program is made up of logic that you can prove achieves some desired purpose. Programming can be a hands-on way of learning how to manipulate logic and how to consider and tie up all the loose ends and edge cases.
Basic deductive and inductive reasoning along with probability and statistics don't get nearly enough attention in K-12.
All of those topics are vastly more useful to most people in their lives than the usual
No (Score:2)
No
(Not everyone can be an artist, not everyone should be a programmer)
Total insanity (Score:2)
As long as the kids graduating high school cannot read, write, and do math AT GRADE LEVEL (hardly an unreachable goal given that previous generations could do it on one tenth of the per-pupil spending) there's no excuse for teaching them ANYTHING else. Reading, writing, and math are foundational - if you can do those things well, you can learn anything else later either on your own or with further schooling.
After the schools prove they can get kids to be competent at reading, writing, and math, then you add
Force teaching it? Yes. Required for degree? No. (Score:2)
I'm sure nobody really means "computer science". An introduction to using computers and programming them would be something that kids would benefit from. If, as the presentation claims, there are schools and students with no access to computers, and the government helps supports such schools (hell, there's probably enough e-waste to provide everyone with PCs), then that's a good thing.
Then supporting any students who want to learn more, that would be good too.
Forcing everyone to take it and be tested on it?
First define "CS" (Score:2)
One problem here is that CS means different things to different people. To some it means basic competency with e.g. Word and Excel; to some it means programming and software engineering; to some it means an understanding of the theoretical underpinnings of data structures and algorithms...
Absolutely not (Score:2)
Have you seen ChatGPT? This is the worst time in history to get into programming. If you're already a skilled programmer, you probably have a future maintaining old code, or writing really complex new stuff that software hasn't already figured out how to copy, maybe.
This would have made sense like thirty fucking years ago, not now.
Re: (Score:3)
Why? For the same reason I shouldn't have to learn how to read or write legal code in high school.
The world would absolutely be a better place if more people knew how to do both of those things. Also, the world would be a better place if more people understood poetry or could play music.
It's not a question of whether learning computer science is good for high school students. It is good, 100%. The only question is whether it's worth displacing other topics in favor of computer science. Students don't have infinite time.
It's a tradeoff.
Re: (Score:2)
I don't know if it would be good if more people understood poetry, or computer science.
If a person doesn't want to know or care about poetry why are you forcing them to learn it? You are subjecting these people to hours of boredom for the only purpose thinking you are making a better world. Why is it better world where someone can force you do something that serves no significant purpose?
I think if people want to learn society should support them through higher education. We should make sure they know esse
Re: (Score:2)
If a person doesn't want to know or care about poetry why are you forcing them to learn it?
The reason they don't care is because they don't understand it.
Wiser people make the world a better place. That's a fact. Unless you like living in a world of idiots.
Re: Absolutely Not (Score:2)
Re: (Score:2)
Computer Science is a specialized skill that most minds aren't good at.
Oh, bullshit. You are not special and you do not have a special mind. Get over yourself.