Student programmers, ChatGPT is not your friend

  Переглядів 10,323

Jacob Sorber

Jacob Sorber

2 місяці тому

Patreon ➤ / jacobsorber
Courses ➤ jacobsorber.thinkific.com
Website ➤ www.jacobsorber.com
---
Student programmers, ChatGPT is not your friend // All the rage or an apocalyptic harbinger of doom, people are loving and hating generative AI. This video talks about why using generative AI tools as a student programmer is probably a not a great idea-useful to a skilled developer, but as a student, not your friend.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: I'm a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
www.jacobsorber.com
people.cs.clemson.edu/~jsorber/
persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon --- [ / jacobsorber ]
Source code is also available to Patreon supporters. --- [jsorber-youtube-source.heroku...]

КОМЕНТАРІ: 108
@weirdmaninshirt
@weirdmaninshirt 2 місяці тому
ChatGPT is like a rubber ducky that can respond. Or like a slightly incompetent assistant that you have to double check if he is not lying.
@edgeeffect
@edgeeffect 2 місяці тому
I question your use of "slightly". ;)
@yevgeniygrechka6431
@yevgeniygrechka6431 2 місяці тому
Honestly this gives chatGPT more credit than it deserves. In my experience, there are basically two use cases for genAI code: 1. quick documentation retrieval. 2. boilerplate code In both cases the developer has to be able to quickly determine whether the code is correct or not. In any even slightly complex use case, genAI fails pretty badly and you can in no way rely on it to solve your problems.
@Blaineworld
@Blaineworld 2 місяці тому
i think i agree. when i was first learning rust, chatgpt was very helpful in reminding me what syntax to use for certain things but it utterly failed at, for example, nearly anything involving a library
@vvert1506
@vvert1506 2 місяці тому
best tutor, worst assistant.
@yevgeniygrechka6431
@yevgeniygrechka6431 2 місяці тому
@@vvert1506 I definitely don't agree with the "best tutor" part. You rely on your tutor to be correct which is certainly not guaranteed with chatGPT. Its an ok "idea generator" I guess.
@gosnooky
@gosnooky 2 місяці тому
And unit tests. Just be sure to proofread them.
@grimvian
@grimvian 2 місяці тому
An intermediate C coder here: I can't agree more. In a longer session, it made the same error three times, although 'we' agreed, that it was totally wrong. It also tried to typecast a char to a byte. For me a second opinion had never been more true. In another lengthy session, it manage to make a simple working client server code in for Linux and C code boiler plates using CUBS in Linux. It have been a help in CodeBlocks, Raylib graphics and Linux and gave me a great transition from Windows to Linux Mint LMDE. Now I have a small working relational database, with a graphical interface, editing, search and printing. But a save lot of time using it as a super search engine I have some mystical dyslectic issues and it's helps me a lot and learning English.
@gosnooky
@gosnooky 2 місяці тому
I find ChatGPT to be wrong more often than it's right. The most annoying thing is it seems to "forget" stuff you said earlier: 1) Ask for A 2) A comes back wrong 3) Ask for A with additional context B 4) A comes back wrong using context B 5) Elaborate on context B 4) A comes back wrong again 5) Ask for A using B and additional context C 6) A comes back with C, but not B 7) Remind it to use context B 8) A comes back wrong using context B, but not C 9) And over, and over, and over again. Yeah... I'm not worried about AI taking my job anytime soon.
@disekjoumoer
@disekjoumoer 2 місяці тому
Ahmen, you don't learn anything if you let someone else do it for you.
@USSR04
@USSR04 2 місяці тому
100% 👍👍👍
@haroldcruz8550
@haroldcruz8550 2 місяці тому
ChatGPT is just like automated Stackoverflow without the comments and upvote.
@dkkogmaw1311
@dkkogmaw1311 2 місяці тому
Depends on how you use it
@edgeeffect
@edgeeffect 2 місяці тому
Especially if the someone else has an IQ of actually zero.
@zDoubleE23
@zDoubleE23 Місяць тому
Chatgpt or overly program friendly libraries?
@hawkbirdtree3660
@hawkbirdtree3660 2 місяці тому
ChatGPT made programming so much harder for me. It's like getting advice from someone who thinks they know what you're thinking, but they have no idea what your taking about; just tons of assumptions.
@mushroomcrepes4780
@mushroomcrepes4780 2 місяці тому
It's great at doing basic things but once you ask it to do something a little more specific it'll just hallucinate a bunch of stuff or misinterpret you completely. I just use it to give me some advice on things I could refactor or clean up, it's pretty decent at that.
@user_insert_name_here
@user_insert_name_here 2 місяці тому
Best use for chatgpt is to write comments for functions . u give it the template for a comment and then you feed it the function and it writes the comments . Ususally you need to change a thing or two but damn it does a great job
@judsenhembree7697
@judsenhembree7697 2 місяці тому
Something copilot IS really good for is when you know how to program more or less, but you don't know a languages std library. Ex. I know C but my boss wants to throw me into cpp for a while. Your velocity is much higher when you know what you want to do, but not the function calls/syntax needed to do it. That said it won't be as good as knowing the libs yourself.
@sanderbos4243
@sanderbos4243 2 місяці тому
No pain, no gain
@coolbrotherf127
@coolbrotherf127 2 місяці тому
It's ok at generating simple programs for languages that have a lot of documentation and example code for the AI model to train on, but it absolutely sucks at generating code for less popular languages or low level stuff like Assembly. A first year student could probably throw all their simple JavaScript assignments in and get working code, but the later projects are too complex and too difficult for an AI to generate anything coherent. They'd spend more time fixing broken code than actually learning the things correctly the first time.
@sacksis
@sacksis 2 місяці тому
When I develop, I often use it to quickly boilerplate things. I also often find innefficiences in its output or crashes
@a.v7998
@a.v7998 2 місяці тому
My experience using Chat GPT to learn: 1) its a Very good tool to learn Simple Concepts, or if you want to breakdown an Algorithm and Understand how it works 2) You can also Use Chat gpt like an interviewer or prepare for a test to ask you questions if you (although it has a Tendency to Repeat the same content) 3) You shouldnt just Copy paste code from GPT, as It can Make Minor mistakes in Syntax, like a Missing Semi-colon or a colon or Missing Statements or Even Logical errors. If your working an A large code base or building a Project using GPT might not be A good Idea Overall using GPT while learning to code is pretty nice tool, if you have Some Understanding and Patience to actually read the code and Debug it!
@Flad.
@Flad. 2 місяці тому
This was an absolutely excellent video on the current state of AI. It put my thoughts into words almost flawlessly, especially the bit at the end that it can't solve new problems. I really great video to see after months of hearing people treat AI as though it was actually a genius that could eventually replace every programmer on earth one day. I'd try various things myself and the second I'd give it one of my real world problems that I solved (but there isn't a stackoverflow solution for) it'd pretty much break down and give complete garbage, once I told it that a particular part of the code was wrong to see if it'd fix it, and it actually argued that it was correct, before explaining that it did exactly opposite of what it did.
@adriangonzalezgomez4632
@adriangonzalezgomez4632 2 місяці тому
This reminds me of something that happened at work a few weeks ago. I asked a colleague, who I consider more skilled than me, a question after reading the documentation, so he proceeded to ask BingGPT about the topic and, a few minutes after that, he answered with the same thing I had already read in the documentation. I don't think he even saved time by doing that, which is... curious, to say the least
@Tachiguro
@Tachiguro 2 місяці тому
waited long for such video👌
@JoseFernandez-yz1sf
@JoseFernandez-yz1sf 2 місяці тому
That code looks like to be used within Code Composer Studio, did you try that code in CCS
@mr.mirror1213
@mr.mirror1213 2 місяці тому
Lol , makes sense as to why there were soo many mistakes
@rustycherkas8229
@rustycherkas8229 2 місяці тому
The very-few times I asked ChatGPT to generate some C code for a problem, its first few "upbeat" solutions failed to account for edge cases (eg: division by zero or negative numbers). Additionally, its data representation was "beginner level" and its suggested algorithms simply "brute force". Don't expect "Quake Square Root (approximation)" to fall out of its machinations. Is "good enough" really good enough?
@low-key-gamer6117
@low-key-gamer6117 2 місяці тому
I read that gnu pthread runs at kernel level, are there any threading library in linux that runs at user level? I mean like kernel is unaware of the threads.
@edgeeffect
@edgeeffect 2 місяці тому
If the kernel is unaware of the threads... then they're not really threads.
@Hofer2304
@Hofer2304 Місяць тому
Do you have tried to use TDD with LLMs? You write the tests and ask the LLM to write the program, that makes the tests pass. The LLM gets all your test results, the compiler output and, if an executable program was created, the test results of your test program.
@wrycoder
@wrycoder 2 місяці тому
I used ChatGPT to adapt a straight command-line dos sound utility to Windows. All of the real work was being done in the SoX library, which I linked statically, so the Windows code was basically a wrapper. ChatGPT saved me some time, but it was only plugging in code that any commercial IDE would have auto-generated. Just boilerplate.
@edgeeffect
@edgeeffect 2 місяці тому
You say it saved you some time... but.... did it?
@krissplayer99
@krissplayer99 2 місяці тому
I think that for documentation or if I'm stuck with an error can help me to figure it out, like googling or use stack overflow but finding the solution in a faster way. Of course for projects or programs with some logic it makes errors and doesn't work, but I think that is not the point.
@_________________404
@_________________404 2 місяці тому
Nah for documentation it's horribe as the training data is not up to date.
@krissplayer99
@krissplayer99 2 місяці тому
@@_________________404 I use it for making examples and exercises without the solution, and trying to solve myself. I didn't use in high level programming but only for studying.
@MaikTheSloth
@MaikTheSloth 2 місяці тому
Even if those tools would work better, the actual question is: How good is the use of natural languages to describe/express a computing specific problem vs the use of programming languages to describe/express the same problem. Kind of similar to maths, a few symbols might express something uniquely vs expressing it with a text which might be ambiguous
@Jonathan-ru9zl
@Jonathan-ru9zl 2 місяці тому
In my experience you can use chatgpt to write scripts in tcl, Linux bash or python for your actual code whether it is c , cpp etc, it may help find errors in your code, or draw ideas Keep in mind that chatgpt doesn't even compile the code it generates
@ookiiokonomiyaki
@ookiiokonomiyaki 2 місяці тому
The question is whether you should learn programming at all at this point. AI is growing at a neck breaking rate. Despite it not being actually intelligent, it may be just good enough most of the time. This example shows that chat GPT is not good enough yet in this particular use case. However, the companies may develop their own AIs generating code, suited for their needs. This may not be a silver bullet, but can reduce the required workforce. That just the guesstimation now. We'll see what the future brings when it comes. Personally I would rather advice young people to work in the manual labor now. More and more often it pays as well as mid level developer job. Additionally, I doubt that real estate bubbles ever pop, as the governments happily support them. At the same time, IT eldorado seems to be ending now.
@lawdpuliix
@lawdpuliix 2 місяці тому
ChatGTP launched at around the same time I started learning C on this channel, it was mostly useless for me then because it spewed out code and these technical words (my knowledge of programming terms was low then). it was only when i stopped using it that i saw improvements (C was not a good language to begin with 🤣).
@rob876
@rob876 2 місяці тому
It's quite impressive if it wasn't wrong most of the time. I've resorted to using it for cooking recipe advice.It's quite good at that. If you don't like cinnamon on your wheetabix, you ask for alternatives until it gives you one you like.
@marcelijankowski9593
@marcelijankowski9593 Місяць тому
I'd be cool if you made one about C mocking libraries.
@higgsboson6274
@higgsboson6274 2 місяці тому
it can't do creative coding for you sure it gives you idea of existing code and famous algorithm, just give it any competitive programming quenstion from codeforces it struggle
@JannisAdmek
@JannisAdmek 2 місяці тому
I see ChatGPT as a junior developer. Does it replace a senior dev? No, but it can sometimes provide good suggestions. But I'm saying this as someone who lerned programming before AI, as a beginner it may tempting to use it, and it may be fine if you use it complementary to other learning methods like code examples, documentation, books, practise and so on.
@haroldcruz8550
@haroldcruz8550 2 місяці тому
Not even close, ChatGPT is overrated, it has some uses but it's nowhere close to a human developer except maybe Frontend JS developers.
@JannisAdmek
@JannisAdmek 2 місяці тому
​@@haroldcruz8550 Yes, maybe junior dev was overstating its capabilities. I don't have expectations towards its solutions, It's more like here is some code that resembles the average of what people write in similar situations. If the situation is easy it's very helpful, like parse this file line by line in this programming language I'm not so familiar with. The downside is that it gets details dangeriously wrong.
@questionmarc8
@questionmarc8 2 місяці тому
10:21 This code is right but the comments are somewhat wrong, because if you remove the initalization, the ints in the array might contain trap representations and reading from a trap representation causes undefined behavior.
@ajitghising8112
@ajitghising8112 Місяць тому
What do you have to say about Devin?
@3bdo3id
@3bdo3id 2 місяці тому
I agree with you, our professor asked "would progressive impressive new GAN replace us?" and all the yes answers were naive
@darcash1738
@darcash1738 Місяць тому
better for intuition and common stuff than complex stuff
@zokalyx
@zokalyx 2 місяці тому
my best use case for ChatGPT is for a quick refresher on a topic and the worst one is asking for something specific. It will get it wrong.
@danieleccleston7928
@danieleccleston7928 2 місяці тому
I barely use it
@ruhumunkavgalarl
@ruhumunkavgalarl 2 місяці тому
as an Ecole 42 student we don't have teachers. Some projects come and system say "do it, i know you don't know anything about this project but you will learn while doing this project". In this situation of course i'm using chatgpt. But "Hey GPT, this is my subject pdf. Write all of this project" is not my prompt. Besides, GPT can't make all project by itself (yet). Generally my prompt is "Gpt, what is deadlock? can you give me an example?". İ am learning so many thing with this method. We must catch the train but not let AI do all the work and make us lazy. We must push ourselves.
@ekaterinamikhailova5201
@ekaterinamikhailova5201 2 місяці тому
I agree, if you ask short well structured questions it is really helpful. I'm also into Philosophers now😊
@ruhumunkavgalarl
@ruhumunkavgalarl 2 місяці тому
@@ekaterinamikhailova5201 Ah, good to see a an Ecole 42 student :D, where are you from? I finished cub3d yesterday. My intra nick is yciftci xd
@shantanushekharsjunerft9783
@shantanushekharsjunerft9783 15 днів тому
ChatGPT reduces the amount of documentation you have to read and the second good use is to ask it to explain code you cannot understand. I haven’t found good usage other than that.
@kestreljack6411
@kestreljack6411 2 місяці тому
Great 👍🏼
@ryshask
@ryshask 2 місяці тому
LLMs are a better search engine for coding... Being exposed to code is being exposed to code... What are you going to do... Go back to writing assembly? What are you going to do... stop using a calculator... Remember you won't have a calculator with you all the time in the future so you got to learn the maths! LOL... Use a code specific LLM... Learn the weaknesses.. and then forget all that in a few months as it improves...
@Thanos-hp1mw
@Thanos-hp1mw 23 дні тому
Beyond high school, chatGPT gets wrong so often, that using it slows your work.
@LacrimosaEX
@LacrimosaEX Місяць тому
you could be teaching yr students how to program their own ai and learning how it works instead of trying to fight against the grain. how about making them write an ai and everyone has to use that to take a test based on what it was trained on instead of trying to discourage use, anyone who ignores the utility of ai will fall further behind
@Welther47
@Welther47 Місяць тому
I'm sure in time, AI will be able to do most of it. But I think the goal is to make AI lighten the workload, i.e. the programmer can write more natural statements in the way human think and speak.
@LukeAvedon
@LukeAvedon 2 місяці тому
Was this tested on chatgpt 4.0? seems even more in-accurate than usual.
@tbird81
@tbird81 2 місяці тому
Nah, he did it with 3.5. what did he expect? Is he too cheap for a subscription?
@mrcrackerist
@mrcrackerist 2 місяці тому
Using gpt 4.0 for C and I would say its just as bad.
@zxuiji
@zxuiji 2 місяці тому
3:54...how can you have 5 and a *half* pins? it's either 5 or 6. It's not physically possible for a pin to both exist and not exist.
@JacobSorber
@JacobSorber 2 місяці тому
not sure if you're joking. 🤔 P5.5 means port 5 pin 5.
@zxuiji
@zxuiji 2 місяці тому
@@JacobSorberAh, that makes more sense, never done embedded programming or whatever it was called. Had no projects that I wanted to do in that direction so would've been a pointless expense
@vr10293
@vr10293 2 місяці тому
Students need to do it in two parts - learn programming, and once they have some level of comfort, learn tools at least enough to convince employers. Thankfully, employers don't ask for certifications in common IDEs, so hopefully they don't ask for chatgpt/copilot certifications.
@mehmetfatiherdem7074
@mehmetfatiherdem7074 2 місяці тому
well the bigger question is are we friends to chatgpt cuz if not, it definitely is coming for us
@hossein_haeri
@hossein_haeri 2 місяці тому
Asking ChatGPT to write a gient complex script? No no no ... Using LLM-based Copilot for coding? YES! YES! YES!
@Hofer2304
@Hofer2304 Місяць тому
The problem with LLMs is, they are not honest.
@mrcrackerist
@mrcrackerist 2 місяці тому
To me chatGPT is a glorified rubber duck and sometimes useful to find document.
@SimGunther
@SimGunther 2 місяці тому
Tell that to every employer 😂😂😂
@bbro1681
@bbro1681 Місяць тому
You used the gpt 3.5, this is inaccurate version
@tbird81
@tbird81 2 місяці тому
Chatgpt4 gives this: #include // Assuming the button is connected to P1.1 // and using the internal pull-up resistor void setup() { // configure button pin as input with pull-up resistor pinMode(PUSH2, INPUT_PULLUP); // enable interrupt on the button pin attachInterrupt(PUSH2, wakeUp, FALLING); } void enterLowPowerMode() { // enter low power mode __bis_SR_register(LPM4_bits + GIE); // Enter LPM4 w/interrupt } void wakeUp() { // This function will be called when the button is pressed // Exit low power mode __bic_SR_register_on_exit(LPM4_bits); } void loop() { enterLowPowerMode(); // Your normal code goes here }
@balloney2175
@balloney2175 Місяць тому
Excellent point! ChatGPT is for the unmotivated lazy, one of the characters of the TV series South Park, and brainless bug.
@theAIex2
@theAIex2 Місяць тому
In short, web developers you are deprecated chat gpt is smart enough to do make websites 🤣 , embedded developers are not been replaced in the near future 😎
@danieltkach2330
@danieltkach2330 24 дні тому
You are using 3.5, it's really a mess, but hold on, try GPT 4, you will totally change your mind... I dare you try it and re-record. Otherwise this video is useless, the point is to create it using version 4. We all know version 3.5 is a mess.
@theoriginalneckbeard
@theoriginalneckbeard 2 місяці тому
I find your video a bit unfair. LLMs and especially ChatGPT 3.5 are not meant to be used with your brain in hibernation mode, at least yet. You still have to be able to question ChatGPTs output, especially with niche or complex prompts and you still have to have somewhat of a clue about the topic you're asking it about and double check its answers accordingly, especially if something seems way off. But imo ChatGPT in 90% of the cases gives precise answers to, and thats the magic word: PRECISE prompts. I would never just directly copy what ChatGPT outputs, but it gives a nice overview about certain concepts and how to possibly implement them.
@JacobSorber
@JacobSorber 2 місяці тому
The video is commenting on how I see students using ChatGPT, not how it could or should be used.
@BrutalInsights
@BrutalInsights 2 місяці тому
Misleading title, simply calling a tool useless is like calling yourself useless which isn't true. Anyone and everyone are only as good as they use the tool around them. Don't blame the tool, blame it's wielder or person using it. If you're not using AI as a tool in aiding you solve tasks then you will be left behind. This video is like saying "don't use calculators because if you mess up your math is messed up". Which is terrible logic, it comes down to the person using the tool and providing accurate information to the tool to better aid you in reaching an end resolution.
@BrutalInsights
@BrutalInsights 2 місяці тому
Continued: in the instance of this video, the creator used lazy , inaccurate , incomplete , and no real directions to chatGPT which we all know is required for it to more accurately provide a working base solution for the user to extrapolate and refactor as necessary.
@_________________404
@_________________404 2 місяці тому
This comparison doesn't make sense. Calculator always produces deterministic results, it's always right about the expression you enter in. Meanwhile chatgpt or any other AI is in no way deterministic, it produces different result for the same input each time. So no, it's not "about the person", more like about luck and about quality of the AI's training data.
@BrutalInsights
@BrutalInsights 2 місяці тому
@@_________________404 Not true, if your doing basic arithmetic then maybe your logic holds true. But if your doing math that involves time and session based parameters your argument goes out the window. Instead of trying to think of outliers that aren't relevant look at the substance of the post made. Which is where you will see i'm discussing how the video is misleading and that tools are only as good as they are used or created. Seeing as AI is made by programmers, it too falls into this category of reliance upon it's creators and users. So sorry friend, i think you have it confused, it is entirely 'about the person' and if you fail to understand that then you need to understand what AI even is. Many of us programmers have made our own forms of AI in different usage cases and so we clearly understand AI has many implicating factors but mostly comes down to how well 'I' the programmer build or implement it and then after it's ready for use, it comes down to how well I use the tool or how well I made the tool.
@_________________404
@_________________404 2 місяці тому
@@BrutalInsights If you ever built any AI then you'd know what the training dataset is and that almost all forms of "ai" are in some way non-determinisitic. You don't seem to understand that a calculator is simply a digital circuit, or some instructions executed on a general purpose CPU, which means that for the same input there will always be the same result. LLM AI is not like that, it's not some circuit which would always provide the correct answer, it's trying to produce an output by using statistics / probability and the training dataset.
@JacobSorber
@JacobSorber 2 місяці тому
wow, I think I touched a nerve. But, I'm not saying what you seem to think I'm saying.
@riicky_bobby
@riicky_bobby 2 місяці тому
Bad advice….use the tools around you. We won’t have programmers for much longer anyway
@haroldcruz8550
@haroldcruz8550 2 місяці тому
You're funny
@SimGunther
@SimGunther 2 місяці тому
I like that you're the reason more engineers will be hired to clean up the garbage you make with ChatGPT and CoPilot 😊
@riicky_bobby
@riicky_bobby 2 місяці тому
@@SimGuntherrevisit this in 5 years. Programming is not some special gift from god. It’s logic. And most of the code written today is crap btw. Good luck champ
How to make memory read-only in your C programs.
12:57
Jacob Sorber
Переглядів 18 тис.
ChatGPT’s Amazing New Model Feels Human (and it's Free)
25:02
Matt Wolfe
Переглядів 53 тис.
Эффект Карбонаро и пончики
01:01
История одного вокалиста
Переглядів 8 млн
Эта Мама Испортила Гендер-Пати 😂
00:40
Глеб Рандалайнен
Переглядів 9 млн
The Good and Bad of Automatic Make Rules
11:24
Jacob Sorber
Переглядів 9 тис.
GPT-4o - Full Breakdown + Bonus Details
18:43
AI Explained
Переглядів 156 тис.
Is LangGraph the Future of AgentExecutor? Comparison Reveals All!
9:26
How principled coders outperform the competition
11:11
Coderized
Переглядів 1,5 млн
What's the Best Way to Copy a Struct in C and C++?
13:44
Jacob Sorber
Переглядів 33 тис.
New GPT-4o VS GPT-4 - Ultimate Test (Prompts Included)
13:52
Skill Leap AI
Переглядів 28 тис.
A GENIUS Way to use ChatGPT for Presentations!
7:38
Jeff Su
Переглядів 59 тис.
unlock the lowest levels of coding
7:05
Low Level Learning
Переглядів 214 тис.
Why Does Diffusion Work Better than Auto-Regression?
20:18
Algorithmic Simplicity
Переглядів 4,6 тис.
OpenAI SHOCKED Everyone! Voice, Vision, & Free?!
8:58
Theoretically Media
Переглядів 24 тис.