


How Do You Teach Computer Science in the Age of AI? (thestar.com.my) 112
"A computer science degree used to be a golden ticket to the promised land of jobs," a college senior tells the New York Times. But "That's no longer the case."
The article notes that in the last three years there's been a 65% drop from companies seeking workers with two years of experience or less (according to an analysis by technology research/education organization CompTIA), with tech companies "relying more on AI for some aspects of coding, eliminating some entry-level work."
So what do college professors teach when AI "is coming fastest and most forcefully to computer science"? Computer science programs at universities across the country are now scrambling to understand the implications of the technological transformation, grappling with what to keep teaching in the AI era. Ideas range from less emphasis on mastering programming languages to focusing on hybrid courses designed to inject computing into every profession, as educators ponder what the tech jobs of the future will look like in an AI economy... Some educators now believe the discipline could broaden to become more like a liberal arts degree, with a greater emphasis on critical thinking and communication skills.
The National Science Foundation is funding a program, Level Up AI, to bring together university and community college educators and researchers to move toward a shared vision of the essentials of AI education. The 18-month project, run by the Computing Research Association, a research and education nonprofit, in partnership with New Mexico State University, is organising conferences and roundtables and producing white papers to share resources and best practices. The NSF-backed initiative was created because of "a sense of urgency that we need a lot more computing students — and more people — who know about AI in the workforce," said Mary Lou Maher, a computer scientist and a director of the Computing Research Association.
The future of computer science education, Maher said, is likely to focus less on coding and more on computational thinking and AI literacy. Computational thinking involves breaking down problems into smaller tasks, developing step-by-step solutions and using data to reach evidence-based conclusions. AI literacy is an understanding — at varying depths for students at different levels — of how AI works, how to use it responsibly and how it is affecting society. Nurturing informed skepticism, she said, should be a goal.
The article raises other possibilities. Experts also suggest the possibility of "a burst of technology democratization as chatbot-style tools are used by people in fields from medicine to marketing to create their own programs, tailored for their industry, fed by industry-specific data sets." Stanford CS professor Alex Aiken even argues that "The growth in software engineering jobs may decline, but the total number of people involved in programming will increase."
Last year, Carnegie Mellon actually endorsed using AI for its introductory CS courses. The dean of the school's undergraduate programs believes that coursework "should include instruction in the traditional basics of computing and AI principles, followed by plenty of hands-on experience designing software using the new tools."
The article notes that in the last three years there's been a 65% drop from companies seeking workers with two years of experience or less (according to an analysis by technology research/education organization CompTIA), with tech companies "relying more on AI for some aspects of coding, eliminating some entry-level work."
So what do college professors teach when AI "is coming fastest and most forcefully to computer science"? Computer science programs at universities across the country are now scrambling to understand the implications of the technological transformation, grappling with what to keep teaching in the AI era. Ideas range from less emphasis on mastering programming languages to focusing on hybrid courses designed to inject computing into every profession, as educators ponder what the tech jobs of the future will look like in an AI economy... Some educators now believe the discipline could broaden to become more like a liberal arts degree, with a greater emphasis on critical thinking and communication skills.
The National Science Foundation is funding a program, Level Up AI, to bring together university and community college educators and researchers to move toward a shared vision of the essentials of AI education. The 18-month project, run by the Computing Research Association, a research and education nonprofit, in partnership with New Mexico State University, is organising conferences and roundtables and producing white papers to share resources and best practices. The NSF-backed initiative was created because of "a sense of urgency that we need a lot more computing students — and more people — who know about AI in the workforce," said Mary Lou Maher, a computer scientist and a director of the Computing Research Association.
The future of computer science education, Maher said, is likely to focus less on coding and more on computational thinking and AI literacy. Computational thinking involves breaking down problems into smaller tasks, developing step-by-step solutions and using data to reach evidence-based conclusions. AI literacy is an understanding — at varying depths for students at different levels — of how AI works, how to use it responsibly and how it is affecting society. Nurturing informed skepticism, she said, should be a goal.
The article raises other possibilities. Experts also suggest the possibility of "a burst of technology democratization as chatbot-style tools are used by people in fields from medicine to marketing to create their own programs, tailored for their industry, fed by industry-specific data sets." Stanford CS professor Alex Aiken even argues that "The growth in software engineering jobs may decline, but the total number of people involved in programming will increase."
Last year, Carnegie Mellon actually endorsed using AI for its introductory CS courses. The dean of the school's undergraduate programs believes that coursework "should include instruction in the traditional basics of computing and AI principles, followed by plenty of hands-on experience designing software using the new tools."
Conversations with a robot (Score:2)
You now need to teach them how to talk to a robot/ai
Re: (Score:2)
Re: Conversations with a robot (Score:2)
Re: (Score:2)
I guess the plan is to use current senior programmers until AI is good enough to replace them too.
Re: (Score:3)
Re: (Score:2)
Yep, that may be the plan. It is assured to fail though, because LLMs have very hard and low limits on the complexity they can handle. And they have not really gotten better for a while now. All that is done is increasing efficiency and cosmetic changes.
Re: (Score:2)
Exactly. And, one step further into the argument, how do we get AI on the level of an inexperienced junior programmer for new languages or after larger changes?
Yep, we do not. In fact, LLM models already show signs of ageing because updating training data gets more and more tricky due to too much AI Slop out there and model collapse.
Actual understanding and working on problems yourself cannot be replaced by anything at this time. Maybe if (and that is a big if) if we get AGI at some time. Or not.
Re: (Score:2)
AGI - what ever that exactly means - would not change much.
It will take a long time until some AI is one the same mental level as a human, sentient even, or self conscious/self aware. And ... kind of "adult".
And what does one expect from such "a construct"? It is good in math, physics, chemistry, biology and ... social science? Law?
Good in math, okay. That we can perhaps kind of do. Considering that math is only split up into a few dozen subtopics, cough cough.
Physics, easy peasie!! After all it is only app
Re: (Score:2)
That really is the question, isn't it? People seem to assume an AGI will come fully formed and fully competent into the world and will be a lot smarter and a lot faster than smart and mentally fast humans. But there really is no rational reason to expect AGI to be faster or smarter than an average person. That is all people with little clue projecting their hopes or fears. You know, average people. Which then already gives us a first estimate for the limits AGI may well come with.
Well, the only known form o
Re: (Score:2)
Well, that is easy!
They wait for the next general election, go to a random retirement home, and ask the elderly if they like to go to the voting booth. Explaining the shiny new computers they have there ...
If they explain to the Alzheimers, that they have to be "fluent" with the command line, they probably get some top notch Aspergers who easily fix "what is wrong with the voting machine" ...
Re: Conversations with a robot (Score:2)
How can that qualify as c.s. ?
Re: Conversations with a robot (Score:2)
Not sure that holds up when you are using it as a coding assistant, but if it does, CS may need to take inspiration from language courses.
Re: (Score:2)
Language courses? Hahahahaha! My students need to take some "communication courses". One part-time student summarized the quality level of these as "if I communicate like that for a day, I will get fired".
Re: (Score:2)
Most AIs for coding are actually taught with "speech amoung colleagues", you talk to them like you would talk to a co-worker.
You probably try to hard to find the "right way of asking".
I may be "old fashoned", but... (Score:5, Insightful)
Re: (Score:3)
How will the kids ever learn about computers without first sorting stacks of punch cards and replacing burnt out vacuum tubes?
The Bigger Problem To Solve. (Score:2)
How will the kids ever learn about computers without first sorting stacks of punch cards and replacing burnt out vacuum tubes?
Exactly. As if the carburetor rebuilding I learned as a kid will do wonders for the EV Generation who plugs in the lawnmower.
Greed is wanting to replace the human mind in the workplace. Not sure why the hell we’re assuming we can fracture that education problem down to “computer science”. That’s merely one of many dominos to fall as AI progresses. And it has. And it will. And, no. It will not take AGI or even “perfect” AI to replace most at their job. Human workers
Re:I may be "old fashoned", but... (Score:4, Insightful)
Replacing Z80 with ARM would make it valid today. Basic still does the job.
Re: (Score:2)
Re: (Score:2)
Perfect and relevant are two different things. The Z80 doesn't tech anything, it's an architecture. What should be taught it the basics using a common sense approach on an architecture that is currently in use.
BASIC is architecture independent and does a wonderful job as an introduction to procedural programming. But even then there's little reason to not switch to C which in its simplest form can also be incredibly basic.
Re: (Score:2)
My students learn C and some assembly in their OS class. Almost none of them think it is wasted effort. Comes in handy when I teach them about buffer overflows, race conditions, numeric safety, etc.
Re: (Score:2)
I do not know much about the (the internals of) current ARMs.
But the ARM 2 and ARM 3 (basically the same as ARM 2) had a wonderful simple and orthogonal and straight forward assembly language (ISA).
While at that time Z80 and 808x looked powerful, in relation to 6502 and 6809 etc. they looked pretty awkward.
Similar to ARM, I kind of liked 68k and its successor models, also very nice and not really over CISC-ed.
Re: I may be "old fashoned", but... (Score:2)
I have tought many times to switch to basic or assembler for a very simple processor. But... with Ai demanding its place, I think this would demotivate a lot of students. From a pure educational point of view though, basic would be a go
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Well done! You now understand logarithms! Here's a slide rule, please sit anywhere you like :)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Yep, finding out how little you can actually fit into the (for example) 10MP of memory a deep-memory 100MHz oscilloscope has is pretty eye-opening. It gives you a new perspective on signal data processing. My second eye-opener was when I found a peak at 103MHz in the spectrogram and realized it was a local radio station.
Re: (Score:2)
Python seems very instinctive to me. It seems very similar to BASIC.
Python is nothing like BASIC. The comparison is both misleading and, to beginners, actively harmful.
Re: (Score:2)
Re: I may be "old fashoned", but... (Score:2)
Re: (Score:2)
As you've probably already figured out, Python is a terrible language for beginners.
It takes a while before they realize the poor computer executes the code line by line and does not interpret anything.
Python obscures many basic concepts. For example, I've also found that the whitespace rules obscure blocks, making it very difficult for beginners to understand control flow. Even simple for loops are needlessly burdened. BASIC makes these things so simple and obvious that they almost don't require any explanation.
basic would be a good starting point for some.
No question. Dijkstra was wrong about BASIC [virginia.edu].
Education is however a world build on compromises, would be nice to research though.
If you haven't already, Papert's Mindstorms [amazon.com] is worth a read.
Re: I may be "old fashoned", but... (Score:2)
Re: (Score:2)
Well, some people would say: if a person can not grasp Python on the first glance, CS is not the right thing for you.
For example, I've also found that the whitespace rules obscure blocks, making it very difficult for beginners to understand control flow.
That might be true for some people. But I personally never met one. Using Python as first language is pretty common.
BASIC makes these things so simple and obvious that they almost don't require any explanation.
I started with Apple BASIC (which is actually M
Re: (Score:2)
I teach high-school kids to program in python. A lot of kids struggle with the concept of what a programming language does. Some even use it chatgpt style. It takes a while before they realize the poor computer executes the code line by line and does not interpret anything. I have tought many times to switch to basic or assembler for a very simple processor. But... with Ai demanding its place, I think this would demotivate a lot of students. From a pure educational point of view though, basic would be a good starting point for some. Education is however a world build on compromises, would be nice to research though.
When teaching the basics of mathematics to a toddler, exactly no one starts with a calculator. Screw how bored a student may be. Education isn’t called entertainment for valid reason. When it doesn’t make sense to compromise, you shouldn’t. Plain and simple.
If they’re using it “chatgpt style”, who’s teaching who here?
Re: (Score:2)
BBCBasic would be kind of cool perhaps. :(
It runs on everything (the executable, not sure about the "IDE"), including iOS/Android, Raspberry PI's, Chromebooks etc. p.p. you name it. Unfortunately not on my grandma's Cray in the basement
https://www.bbcbasic.co.uk/bbc... [bbcbasic.co.uk]
Teach code reviewing (Score:5, Insightful)
All code has to be reviewed before going live, whether it's written by a human or an AI.
So how do you teach people how to review code? You teach them to code.
Re: (Score:3, Interesting)
So how do you teach people how to review code? You teach them to code.
Problem is (and feel free to disagree with me) - I don't think you really learn to code in college. Sure, you learn the languages and the theory... but it's not until you start using those languages to solve practical problems, plus then start having to maintain an existing code base, that you really learn to code.
At least, that's how it was for me (of course that was way back at the dawn of time - plus I was a physics and engineering major, not CS). I studied fortran, I studied assembly language, I studied
Re: (Score:2)
Re: (Score:2)
While this is true, a solid foundation in theory and exposure to different ideas and methodologies, as well as the math behind them is what enables you to learn from experience best.
You need both education and experience.
Re: (Score:2)
Re: (Score:2)
Re: Teach code reviewing (Score:2)
It is all there these days. Want to make an animation? Plenty of programs and websites that ease the process. Want it in code? Someone made a beautiful library that does that.
I also was interested in electronics, so I bought an A
Re: Teach code reviewing (Score:2)
I bet plenty of incentive will be there to bypass the reviewing process. I would not be surprised if more focus will be placed on testing and reporting errors that AI then can correct. Sounds like Ai will do the fun part.
Re: (Score:3)
Ideally an introduction course should be a course where you come in, sit down, and program all class period. For an entire semester. They can read the course material between classes (that is the new homework). By the end of the semester, the students will have written a lot of code, and have a decent introduction to programming.
Re: (Score:2)
In this industry, nobody teaches you anything; you teach yourself.
Re: (Score:2)
Indeed. And, as it turns out, competent code review is much harder and much slower than writing code and takes a lot more experience. Kind of puts a pretty hard limit on LLL generated code, because hallucinations cannot be fixed for that tech.
Set Theory and Logic (Score:3)
Re: (Score:1)
Re: Set Theory and Logic (Score:3)
Re: (Score:2)
For me, it was mostly coding stupid exercises in Maple (obscurest lang ever?), then printing them out, chopping the prints with scissors, then gluing it into a composition notebook with my handwritten answers to whatever questions I had to answer.
So basically, as I was taught: It's like 3rd-grade level papercraft with a sprinkling of stuff so obvious, you wouldn't think it needed its own branch of study.
Re: (Score:2)
Re: (Score:2)
I agree. I found more math in programming than I had expected. I know that not all programming involves math, like apps that gather data from external sources or search databases for data, but many graphical routines are heavily dependent on mathematical routines. Math is so important we have dedicated GPU processors just to offload the math from the CPU. AI can scan millions of lines of code to suggest close matches to what you want, but if you don't understand bit-wise mathematics, trigonometric funct
Re: (Score:2)
Re: (Score:2)
LOL. That is my personal experience from programming in different environments for the past 45 years. I started on systems that required flipping switches to set the computer to boot mode and inputting the boot code via paper tape. I've used systems booting from 8 inch floppy drives and learned the hard way not to remove Winchester drives until they finished spinning down.
I've programmed in assembly on multiple architectures and cut my teeth using Borland's Turbo Assembler. I have not programmed in ever
Re: (Score:2)
Re: Set Theory and Logic (Score:2)
Math in the age of the calculator (Score:3)
How did they teach math after the calculator was invented?
Re: (Score:2)
Re: (Score:2)
I guess a few just find numbers fun, like I do. I constantly multiply numbers in my mind. Others... will be lazy money grubbers who make my profession look like crap.
Multiplying numbers, especially primes, has been my obsession for at least 30 years. Good to know I'm not alone there
Re: (Score:2)
Re: Math in the age of the calculator (Score:2)
Re: Math in the age of the calculator (Score:2)
Computer science is more than just computer programming.
Re: (Score:2)
Well, it used to be anyway...
We covered more CS content in my intro course than kids get today in 4 years. The average CS undergrad program is little more than a glorified programming bootcamp these days.
Re: (Score:2)
This is probably not an accurate analogy. Imagine the first calculators that came out. They were probably correct 99.99% of the time (with only the more obscure functions possibly being buggy in the very earliest days of calculators). These LLMs we're dealing with often provide incorrect results. Imagine trying to do math on a device where it tells you that sin(239834+29348)=.497823 (Completely made up numbers all around). The answer looks correct (sin values are always between -1...1) but just lookin
It will still have value (Score:5, Interesting)
"A computer science degree used to be a golden ticket to the promised land of jobs"
It will still have value for the talented who study hard
The days of mediocre programmers making big bucks is over
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I call people like you "script kitties"
On the Internet, nobody knows you're a cat?
The expression is "script kiddie". It has nothing to do with kittens.
AI literacy (Score:2)
I moved to coding mostly with AI assistance about 8 months ago. Its definitely a different way of working and it takes getting used to. You have to learn how the AI typically behaves, what it has to be told, and what it can and can't do. If you can get comfortable with it you can get an awful lot of work done.
Getting a lot of work done, way more than people can usually do without the assistance, is a skill that's worth money. It is what employers are now coming to expect. Any good hiring manager these days
Re: (Score:1)
Re: (Score:2)
You're certainly producing more code, but that doesn't mean you're more productive, only that you're producing more code. What a lot of people are discovering is that they're getting a lot of 'dead' code and redundant code, particularly when using agents. Here [youtube.com] is one guy's experience, if you're curious.
The writing is on the wall. The promised improvements are never going to materialize, as I've been saying for years, due to fundamental limitations of LLMs. Using AI might make you feel more productive,
Re: (Score:2)
I also have used llm assisted coding and I'm not sure I agree. superficially it seems very fast but then coding using modern languages and libraries (I use Rust and ofc cargo) is also extremely fast these days. when I use LLMs I often have to spend significant time correcting errors made by the LLM and I estimate the time gain to be negative in these circumstances.
admittedly in certain cases , for example building boiler plate to get database rows into structures, LLM coding is spectacularly faster than my
Re: (Score:2)
Re: (Score:2)
The biggest gains IMO are reduced need to type everything, using a common library or function without having to look it up, and writing unit tests.
Try to use it for anything else and it often fails spectacularly. A generative LLM learns patterns and regurgitates them. For anything that has been written hundreds or thousands of times by other people, it's very good at generating the same or slight variations. For anything that is completely unique to your use case, it has no examples to fall back onto and is
People untrained to detect hallucinations... (Score:2)
"a burst of technology democratization as chatbot-style tools are used by people in fields from medicine to marketing to create their own programs, tailored for their industry, fed by industry-specific data sets."
Yeah, that's going to work as well as the lawyers who file documents created by ChatGPT (or other LLMs).
OK, I don't care too much if marketing/advertising material is created by an LLM, but I sure as hell care if my doctor is using a program that may be hallucinating about my healthcare.
Re: (Score:2)
Simple (Score:1)
"Siri, train these brats and git me a sandwich!"
Re: (Score:2)
Not sure (Score:2)
Why it should be different.
Do you really know c.s. in the first place or are you reverting to a.i. to "know your" stuff?
Then, can you tech someone how to make an omelette?
If so, then you are good to go. You need some practice of course and possibly no a.i. Even to "teach" a.i.
Re: (Score:2)
Re: Not sure (Score:2)
Do you use a.i. to teach c.s. or do you use a.i. to overcome some syntax or semantics doubt over not-so-well-known languages?
Re: (Score:2)
Ahead of the Game (Score:4, Insightful)
Re: Ahead of the Game (Score:2)
Personally, I learn my students (basic course in high school) to use AI as a teacher. Use it when you are stuck, ask it to explain an error. You really have to force an llm not to give the full solution. More than once it solved the complete exercise when asked to explain an error. It i
Re: (Score:2)
That's why colleges should teach the solid fundamentals and not The Next Big Thing. That stuff is "boring", but important.
The hot new trends that may come and go... you learn that stuff on the job.
How to teach a kid about Computer Science? (Score:2)
Proper CS involves little programming (Score:2)
The reality is that a good, solid CS education has generally involved very little programming. CS, at its core, is applied math, logic, and various conceptual architectures, algorithms, etc
Yes, you pick up programming because you have to do the course in something, but with a solid programming, the language and technology itself doesn’t really matter. Hell, by the time people graduate, most technologies they have learned are obsolete. But the concepts, the actual knowledge is there. If you just teach
Re: (Score:3)
The invention of the automatic transmission ... (Score:2)
Some people need to know how to get from basic physics to AI - and that is what Universities are there for.
Others need to know to explain what they want - whether to AI or to their mates. That is what friends and families are for. Or, failing that Schools, and failing that, Google. (Arrgh).
In German we have a word: "Betriebsblind" (Score:3)
Betriebsblind means: you are so busy with your operations (Betrieb) that you are blind (surprisingly: blind), to what is at hand.
Regarding the completely stupid question:
You teach both in tandem. (a) Computer Science and/or (b) Software Engineering and/or (c) programming - what ever the actual course is - together with how to utilize an LLM.
And depending on a, b or even c: you teach "how to craft an LLM", aka you teach machine learning from early stages.
To use an LLM to get a simple data model and the first SQL for simple CRUD operations and simple UI in "insert toy language of the day" you do not need to be a full graduate, nor do you need to know already the difference between "dynamic programming" and "divide and conquer" algorithms.
However, if you tell the LLM what you actually want to do with the "data model" mentioned above, and ask for a specific kind of algorithm: it will happily spit one one out.
And if all this does not work out of the box: then let he students make assignments as team work. And advanced student from semester #3 teamed up with one from semester #1.
The details are left as an exercise for the reader ...
Against popular believes: all the science behind LLMs and the more advanced ones that can do reasoning (as in explaining what they are doing, or trying to do), comes from majour universities. They know how to teach crafting LLMs and everything else around machine learning.
Should not be so difficult to either tailor the existing courses down to "non finished computer scientists", or just let them use them as tools.
I used compilers long long long before I had an official "compiler construction course" (yes, for most computer scientists, CCC was mandatory in university. Hence the most famous German computer club is called CCC, too).
Only OpenAI experts with +20 years experience (Score:3)
wanted by them companies.
Same as always (Score:2)
Seriously. The only thing I add is a warning that using LLMs as a replacement for thinking and learning will atrophy your mind and will make you fail your studies. Interestingly, by year 2 or so, most of my students have already figured that out and only use LLMs as a reserve mechanism when they have failed to find out things by themselves for a time and the smarter ones will then add a step where they make sure they really understand the LLM answer.
So, no big changes, just somewhat better (but less reliabl
Re: (Score:2)
Most people have kids not because they want to, but because they think it is expected of them. Same for most decisions most people make.