“AI, Make Me A Degree Certificate”

One of the fun things about writing for Hackaday is that it takes you to the places where our community hang out. I was in a hackerspace in a university town the other evening, busily chasing my end of month deadline as no doubt were my colleagues at the time too. In there were a couple of others, a member who’s an electronic engineering student at one of the local universities, and one of their friends from the same course. They were working on the hardware side of a group project, a web-connected device which with a team of several other students, and they were creating from sensor to server to screen.

I have a lot of respect for my friend’s engineering abilities, I won’t name them but they’ve done a bunch of really accomplished projects, and some of them have even been featured here by my colleagues. They are already a very competent engineer indeed, and when in time they receive the bit of paper to prove it, they will go far. The other student was immediately apparent as being cut from the same cloth, as people say in hackerspaces, “one of us”.

They were making great progress with the hardware and low-level software while they were there, but I was saddened at their lament over their colleagues. In particular it seemed they had a real problem with vibe coding: they estimated that only a small percentage of their classmates could code by hand as they did, and the result was a lot of impenetrable code that looked good, but often simply didn’t work.

I came away wondering not how AI could be used to generate such poor quality work, but how on earth this could be viewed as acceptable in a university.

There’s A Difference Between Knowledge, and Skill

A Bode plot of a filter response curve
The poles and zeroes part of my first year undergraduate course was forever damaged by awful practical scheduling. Brews ohare, CC BY-SA 4.0

I’m going to admit something here for the first time in over three decades, I cheated at university. We all did, because the way our course was structured meant it was the only thing you could do. It went something like this: a British university has a ten week term, which meant we had a set of ten practicals to complete in sequence. Each practical related to a set of lectures, so if you landed one in week two which related to a lecture in week eight, you were in trouble.

The solution was simple, everyone borrowed a set of write-ups from a member of the year above who had got them from the year above them, and so on. We all turned in well written reports, which for around half the term we had little clue about because we’d not been taught what they did. I’m sure this was common knowledge at all levels but it was extremely damaging, because without understanding the practical to back up the lectures, whatever the subject was slipped past unlearned.

For some reason I always think of poles and zeroes in filters when I think of this, because that was an early practical in my first year when I had no clue because the lecture series was six weeks in the future. I also wonder sometimes about the unfortunate primordial electronic engineering class who didn’t have a year above to crib from, and how they managed.

As a result of this copying, however, our understanding of half a term’s practicals was pretty low. But there’s a difference between understanding, or knowledge, and skill, or the ability to do something. When many years later I needed to use poles and zeroes I was equipped with the skill as a researcher to go back and read up on it.

That’s a piece of knowledge, while programming is a skill. Perhaps my generation were lucky in that all of us had used BASIC and many of us had used machine code on our 8-bit home computers, so we came to university with some of that skill already in place, but still, we all had to learn the skill programming in a room full of terminals and DOS PCs. If a student can get by in 2025 by vibe coding I have to ask whether they have acquired any programming skill at all.

Would You Like Fries With Your Degree?

I get it that university is difficult and as I’ve admitted above, I and my cohort had to cheat to get through some of it, but when it affects a fundamental skill rather than a few bits of knowledge, is that bit of paper at the end of it worth anything at all?

I’m curious here, I know that Hackaday has readers who work in the sector and I know that universities put a lot of resources into detecting plagiarism, so I have to ask: I’m sure they’ll know students are using AI to code, is this something the universities themselves view as acceptable? And how could it be detected if not? As always the comment section lies below.

I may be a hardware engineer by training and spend most of my time writing for Hackaday, but for one of my side gigs I write documentation for a software company whose product has a demanding application that handles very high values indeed. I know that the coding standards for consistency and quality are very high for them and companies like them, so I expect the real reckoning will come when the students my friends were complaining about find themselves in the workplace. They’ll get a job alright, but when they talk to those two engineers will the question on their lips be “Would you like fries with that?”

46 thoughts on ““AI, Make Me A Degree Certificate”

  1. In germany, at alot of Univeristies the programming exams are done on a piece of paper with 0 elektronics involved. This is kinda damaging to the ones who actually can code, but forget stuff like imports and some semicolons cause the IDE will tell them. But those who have no idea how to code will be visible.

    1. Ooof thats rough.

      I am one of those oddities that for the most part use a text editor to write code (there are exceptions, but python/go/and C I only use a text editor). So I often miss semicolons and such, then when a compiler complains I go “oh yeah”.

      1. Notepad++ user here, or at least was until I killed off my last win10 machine.

        I don’t know why but I find it easier to use than most IDEs.

        I guess I’m going to need to learn a new approach now..

    2. Here in the Netherlands, I’ve had several exams like that, but we were always allowed to keep whatever notes we wanted. Some students even printed out c-reference documents and whatnot hoping it’d help them.
      In the end the teacher didn’t even grade the works based on absolute correctness, but just on how well you understand it and whether your solution would’ve worked after making it compileable.

      Of course this kind of exam stresses out students who don’t know what to expect, but in my experience these exams were actually the fairest ones to determine one’s programming skills. Later in life you probably end up in front of a whiteboard during a job interview, and you’ll be prepared.

    3. In germany, at alot of Univeristies the programming exams are done on a piece of paper with 0 elektronics involved.

      In Poland too.

      What was the prof’s answer when I asked him why the hell do we have to write code of our C++ assignments on A4 paper, scan it and then e-mail it to him? It’s pure nonsense.

      “This way you’ll memorize the syntax.”

      F… you. It’s been 15 years and I still haven’t touched C++ since then.

      I’ve done C, assembly for various MCUs, Python, Java, some Bash and now I’m transitioning into farming and small-time machining workshop. I just can’t get myself to ever again do #include <iostream> or something.

      1. So the digital pixel-art image I personally created using my computer as the canvas and then printed on my printer to frame it and hang it on the wall is not considered art to you, since there are two involved machines in the productive process. Confusing.

        I really hope you mean the creative process.

        1. It’s not playing a key role in that example, it’s simply replicating something a human can do by hand. The point is that you are still being creative.

          The ultimate test is creativity. You can imagine a car painted in the style of Van Gogh, for example, a computer could not on its own and would need to be shown that to reproduce it (which is what AI ‘art’ is doing, just stealing, copying and pasting).

          1. Is the creativity not in the origination of the idea then, because if it’s not then you’ve negated the value of pretty much every piece of art and code that was inspired by another…

          2. Ugh, posted too soon by accident, that’ll teach me to not put my phone in my pocket before I’ve finished.

            I agree that AI art is wrong but from a philosophical point of view, it’s as much a valid piece of art as many others (financial value, value to the art world and human culture notwithstanding) and thus disagree that the machines or tools used negate the value of the output as art or even valid code.

            If that were the case then any piece of art, music etc drawn, painted, sculpted etc after the first person saw a cow then used a brush, a chisel, pastel, charcoal etc was of zero value because the artist used the same tools and subject as someone who’d gone before.

            So there has to be artistic value in the idea and the formulation of the technique used to bring it to life.

            Therefore you could argue that the person who ‘configures’ the AI with a prompt and iterates on that configuration to achieve their vision is the artist no?

            The masters used to take apprentices who learned techniques and often copied works of the masters, does that make their later work less valid?

      2. Sounds simple at first, but is it? Aren’t we biological machines, too to a certain extent?
        And if not, how do we exactly define the difference herr? These things can get philosophical really quick.
        I mean, we could jokingly say that in the future LLMs will do the “liberal arts”, so humans can do focus entirely on field works (hard, manual labor). ;)

        1. Please see above. A machine doesn’t understand, it cannot create. Try to get an AI to imagine a pink elephant and make an image of that without a pink elephant being in its training set, you can’t.

          1. Hi, no offense, but did you even mentally comprehend what I tried to imply here?
            Proving consciousness or a soul is an near impossible task.
            We can’t even do that for ourselves so far.
            Yet same time we agree on the general idea that people around us have consciousness, too.

            So from a philosophical, ethical or moralic point of view
            there’s the question if we shouldn’t speak in favor of the accused when in doubt?
            Granting an A.I. rights “when in doubt” is more humane than denying them, after all.

            PS: There’s an episode of TNG that mentions the matter.
            https://www.youtube.com/watch?v=WkO9yDCW2n4

            Voyager had one, too, when the doctor fought for his rights as an author.
            https://www.youtube.com/watch?v=m6Bi7tJK-j8

            Sure, that’s “just” science fiction. But the fundamental dilemma is same.
            At which point does a “set of algorithms” become a consciousness?
            And how does someone figure that out?
            And at which stage exactly is young human life sentinent?
            These are some questions of our society.

          2. Another circumstance is, I think, that LLMs just have started.
            Who knows how they influence the world in the next few years after they have passed a few generations..
            I’m a bit worried, to be honest. 😟
            It could change the value or whole meaning of work and change human society as such.
            Because the current model of capitalism is basically based on needs, goods and human exploit.., err, labor.

          3. Your pink elephant example is badly flawed, try asking someone who’s never seen or heard of an elephant to draw one, they can’t, because it’s not in their ‘training set’ either.

      3. then most art does not exist at all because any implement that could be used to create it could probably be considered a machine, such as a pencil, an ink pen, or definitely a camera.

    1. Your remark evoked another thought… I wonder… Ultimately, what good is a programming “language” to an AI?

      If we allow AI to optimize workflow to its logical conclusion, why wouldn’t it ultimately produce binaries directly from our design prompts, as opposed to source code?

      I get it… source code lets you intervene to understand/approve the underlying mechanism that the AI came up with, but it also presumes there is a human programmer interested in reviewing the code.

      People are lazy and corporations are greedy, never missing an opportunity to seize on a cost savings by eliminating a human someplace. Put another way, corporations are perfectly content with the production of mediocrity so long as it benefits stock price.

      I think we’re looking at of future filled with crapware.

      1. “If we allow AI to optimize workflow to its logical conclusion, why wouldn’t it ultimately produce binaries directly from our design prompts, as opposed to source code?”

        Because we ask it to and because we know it’s flawed, so we want to be able to intervene, I do wonder if one might be able to produce binaries for something like a C64 or Atari VCS etc where there are far fewer levels of abstraction between the language and the bare metal hardware…?

  2. Admittedly I use AI to assist ME in coding. It’s more for taking my previous code and tweaking. I am always guiding the build and NEVER have I had AI code anything that worked without some amount of adjustment.

    Will AI coding be obvious? Yes. It does not work well out of the box for me, and unless you’re doing some basic things it will show itself. For third party integration, it is far from useful without a conductor to guide the ideas and results.

  3. Vibe coding, like google/stackoverflow reliance, is a gift and a curse. To the newbies it feels like a library of answers, to professionals it is shortcutting and lazy. Unmaintainable code is always the result of this strategy. Vibe coding should be considered plagiarism, much like copy and pasting wikipedia articles without citation is. The point of coding is not always runnable code, but to demonstrate knowledge and proficiency gained.

  4. IMHO, wrong task.

    Ai, build me a house for under $200K in the location of my choosing, at the size of my needing. While at it, find me a job as a CEO of some kind of large corporation with no responsibility for its actions, or win me a lottery, your choice.

      1. Eliza was a chatbot, too and no psychotherapist.. ;)
        – That didn’t stop her from doing her duty, though.

        Anyway, the current development leads to LLMs becoming an “super app”.
        Search engines already transform from research tools to service tools.
        Rather than just finding information, they will start to provide them.
        So you can ask Google to book an airplane flight reservation, for example.

        The downside is, that the sources (websites etc) will nolonger see clicks/users because of this.
        So they may vanish in the process.

        We have no idea how big the influence of LLMs right now, I’m afraid.
        The “old” internet as we know it is dying rapidly, and it’s not just a fad.

  5. True vibe coding (adjust the prompt until something works but don’t look at any of the code) is a real problem but AI assisted coding is the way of the future. Asking for boilerplate code to access an unfamiliar API, providing options that might optimize a section, and AI pair programming where the AI suggests some code or double checks you’re for errors are all good uses. Learning to effectively use these techniques should be included in any modern computer degree program.

    1. I’d prefer to look up an example in the manual/online tutorial. This AI vibecoding will only add to the huge volume of crap code/apps out there.How the blazes can you secure the code when you don’t know what it is doing? This laziness or lack of ability/knowledge is unlikely to be coupled with any rigorous testing for security or even robust functionality.
      Fie on vibe coding!!!

  6. Navigating the consequences of easily-available generative AI is a big struggle for most everyone I know in education. Can LLMs be a useful tool for learning in theory, and not just a way to avoid actual learning and work? Yes, in fact. will they be used as such in practice? time will tell..

    For programming, I see the situation as something akin to the impact of the electronic calculator on mathematics (albeit with a much more complex, sophisticated and ethically fraught calculator). There’s a reason we still insist on teaching basic math by hand in school before we let kids anywhere near a calculator. Once you intuitively understand the fundamentals, then you can learn how to properly use the tool.
    so much “vibe coding” is like trusting the answer from the calculator without even being able to tell if the answer is orders of magnitude away from what it should be.

  7. Am i the only one who’s kinda happy that LLMs are making college assignments and a lot of academic institutions lose their importance? I loved being in college, loved interacting with professors and other lecturers. What i didn’t like the pointless of a lot of it.
    Assignment were rigid, and not very fun. They were okay for teaching the subject material but i would have preferred more open ended problems. Something like “here’s what you need to do, do it however you feel like”. Projects were always a blast

  8. I didn’t cheat in college.

    I did however use AI to build a server process to fetch data from an API, do some basic manipulation on it and republish it to a Redis data store and an MQTT server so it can be consumed by a pico W and display sports scores for live games based on subscribing to a team.

    I’ve built this process multiple times, and each time the AI does a better job off the hop. Yesterday’s results were a 98% solution. Functional code without bugs; basic functionality, only missing a few optimizations.

    I’m perfectly capable of writing the optimizations myself, but I’m having more fun corralling the AI into giving me perfect results.

    You do you, but I’ll be sitting over here getting good results.

    And I have the skills to debug or rewrite it as-required.

  9. I’m less worried about AI grads because IMO the skill level of college grads with engineering degrees has been pretty abismal for decades, at least here in the US.

    From the late 1990’s through the early 2000’s I was interviewing 10-20 EE job candidates a year. My part in the interviews was to evaluate their technical skills. I had to make my quiz easier and easier until I started with a simple resistor divider, 5V, 2k, 3k, GND, “what is the middle voltage”. Probably half of EE graduates said “2.5V” and when I said no, look again, many were not able to figure it out and started guessing. There was no understanding of the most basic principals.

  10. I just want to circle back to this in the original post

    “It went something like this: a British university has a ten week term, which meant we had a set of ten practicals to complete in sequence. Each practical related to a set of lectures, so if you landed one in week two which related to a lecture in week eight, you were in trouble.”

    So… Your university had ten lectures and ten lab sessions in a given course, and they couldn’t be bothered to coordinate lab#1 with lecture #1, etc?

    This went on for years?

    Everyone just shrugged and thought it was normal?

    Not trying to cast shade here, but it kinda seems your university needs to take Course Design 101.

  11. I had to look up Vibe coding, and then realized I have alway done with with same java code (just for fun, someone in a local RBTC lecture mentioned how he created a timer using ChatGPT and so I spent the weekend doing that, including getting instructions on how to set up java on my computer)

  12. “AI, Make Me A Degree Certificate”

    I envision a robot smashing me in a press between two sheets of absorbent media, hanging the flattened me on clothes line until I’ve dessicated, sheering me into a nice 8-1/2 x 11 rectangle, running me through a laser printer and… for good measure, embossing a gold star at the lower right.

    “There,” says the AI, “I made you a Degree Certificate.”

  13. Big Tech “software engineers” issue?

    Legal and maintenance liabilities along with
    software complexity measured by number
    of lines of code and failure to require
    certified software will drive most
    companies involved in software
    into bankruptcies?

    Mainframe mentality/Big Tech software technologies to blame?

    why is high-level software disassembly important for
    software certification and portability?

    AI Overview
    High-level software disassembly is important for
    software certification and portability because it

    Seattle job market is past its ‘golden age’
    for tech workers.

    The biggest backup mistake everybody
    makes, and how to avoid it.

    AI Overview

    Several companies offer “data center in a box”
    solutions, which are typically portable, modular,
    and self-contained units for rapid deployment
    in various environments, often used for edge
    computing or quick expansion of existing
    infrastructure.

    Key companies working on these solutions include:

    what roles does linux play in llvm implementation?

    AI Overview

    Linux primarily serves as both a host platform
    for LLVM development and deployment and a
    target environment for code generated by the LLVM
    toolchain, including the Linux kernel itself.

    Key roles include:

    Hosting the LLVM Toolchain: Linux
    distributions provide packages (e.g., the
    LLVM Toolset in Red Hat Enterprise Linux)
    that allow developers to use the full suite
    of LLVM tools, including the Clang compiler,
    LLDB debugger, and LLD linker, for
    developing applications that run on Linux.

    Compilation Target: The LLVM backend
    can generate machine code for numerous
    CPU architectures (x86, ARM, PowerPC,
    etc.) that the Linux kernel runs on,
    enabling the creation of Linux-compatible binaries.

    Hosting the LLVM Toolchain: Linux
    distributions provide packages (e.g., the
    LLVM Toolset in Red Hat Enterprise Linux)
    that allow developers to use the full suite
    of LLVM tools, including the Clang compiler,
    LLDB debugger, and LLD linker, for
    developing applications that run on Linux.

    Compilation Target: The LLVM backend
    can generate machine code for numerous
    CPU architectures (x86, ARM, PowerPC,
    etc.) that the Linux kernel runs on,
    enabling the creation of Linux-compatible
    binaries.

    Linux Kernel Compilation: LLVM/Clang
    is now capable of producing production-ready
    Linux kernels, offering an alternative to the
    traditional GCC compiler. This allows kernel
    developers to leverage LLVM’s specific code
    analysis tools (like clang-tidy and
    clang-analyzer) and optimizations
    (like Link Time Optimization, LTO).

    Operating System Features: The
    LLVM runtime environment and tools
    rely on fundamental Linux kernel
    features for managing hardware
    resources like CPU, memory, and
    I/O devices, and for basic OS
    services like file system access
    and process management.

    Unix/Linux utilities such as ar, ranlib,
    sh, and grep, facilitating seamless
    use within the existing Linux build
    environments.

    Platform for Research and
    Optimization: The open nature
    of Linux and LLVM makes them a
    common platform for research into
    new compiler technologies, such as
    optimizing the Linux kernel with tools
    like LLVM BOLT (a post-link optimizer).

  14. The people getting degrees by cheating with AI will end up with degrees for jobs that can be replaced by AI. They’ve basically figured out how to use cars to become kings of the buggy whip market.

    AI is in the process of devaluing the ‘degree as a nonspecific employment certificate’ industry. There’s a category of students, teachers, curricula, certification bureaucracy, and HR departments that could be replaced by AI slop without anyone noticing a difference. They represent a job market that will disappear, just like the rooms full of people with adding machines from the 1950s.

    The people who think they can use expert systems with LLM front ends to compensate for lack of skill and experience are missing the fact that ‘lack of skill and experience’ is an easy commodity to replace. The people who think expert systems with LLM front ends can replace skill and experience have missed the last 45 years of expert systems generating complex alternatives rather than simple answers.

    Case in point, three pieces of code do the same thing: one uses extra memory to minimize runtime, the second uses extra processing to minimize memory footprint, the third is bone-stupid simple. Which one do you choose? Does your answer change if the code is called from a loop that busy-waits to the end of a 500ms interval? What if it needs to run every 10ms, sending and receiving 64-byte packets over a 115200 baud serial connection?

    Meanwhile, the vibe coders are asking Reddit “why doesn’t this VAX 11/780 code run on my ESP32?”

Leave a Reply to JoshuaCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.