4 ms·
I recently used AI assistants for help with programming homework. My usual prompts include "help me think in the right direction", "is my thinking correct" etc.
by alabhyajindal 2y ago
I recently used AI assistants for help with programming homework. My usual prompts include "help me think in the right direction", "is my thinking correct" etc. I also find myself copy pasting a question in chat to understand it better.
I had the suspicion that this is not aiding in my learning process even though I am able to "solve" more problems. Nice to see this confirmed. Time to stop!
- dailykoder 2y agoI learned programming before genAI, but with plenty of video tutorials and stackoverflow available. Someday I noticed that I would automatically hit up the search engine within seconds when I hit a road block. It's kinda the same as with GenAI. You just have to know how to query search engines efficiently. I got stuff done, but I often did not learn much and sometimes didn't even understand what I was doing. So I started to force myself to use data- or reference sheets and try to come up with a solution myself. And if that wasn't good enough or I had real trouble, then I tried using some different resource. And it improved my programming experience tremendously. It's hard, but it's worth it.
- tomcam 2y agoI am super intuitive and also suspect that you probably coded frequently. In fact, I would assumed you did so on… a daily basis ;)
- onehair 2y ago> I also find myself copy pasting a question in chat to understand it better. This is different fromt students relying on ChatGPT to pass tests. Your use is much more adulty and you're trying to understand before proceeding. You use ChatGPT like a tutor rather than a calculator, which is improving what you know rather than taking from it
- alabhyajindal 2y agoThanks! I think the problem is when I ask for assistance. It's perfectly fine to reach for help after a fair attempt. However, I sometimes catch myself reaching for help too quickly. This happens mostly when I'm tired which leads me to think of homework as something to get done with, rather than a learning exercise.
- godelski 2y agoKey part of the study is that it gets the logical steps wrong. Worse, it's convincing, so be careful. LLMs are great for finding key words in a domain you don't know which you can then use to search. As a mostly self taught programmer the advice I'll give it to read docs and learn to read code. This is when my skills really increased. It's easy to get caught up in trying to just find the answer and doing these things definitely takes longer. But it has a multiplicative effect. You'll not only learn to be able to do it faster but you'll need to do it less often. So never pass up the opportunity to learn. There are times you need to rush but they're far less often than you think. The other big advice I have is two strategies when coding. First write it quick and fast. Sloppy is okay, you're learning to solve the problem (move fast and break things). Then while you're cleaning up the mess you made, document. While you're doing that it'll stress the lessons into your memory and you'll almost always discovery things you missed. It is literally the rubber ducky method. Plus, you get the benefit of docs (others will read your code. And months or years later you'll come back, asking what idiot wrote this garbage to only find it's you. But also, that's a good sign, because you improved!). The second point is that the best code is flexible code. Remember that you suck at code (the secret is we all do) and you're going to have to come back, edit, and debug. So by writing flexible code you're making life easier for future you. It's really easy to forget these lessons because we think in the moment and our egos don't want us to admit we're bumbling idiots, but like in a video game, when it gets harder it means you're progressing. Don't misinterpret that signal.
- alabhyajindal 2y agoThanks for the advice! > As a mostly self taught programmer the advice I'll give it to read docs and learn to read code. This is when my skills really increased. How did you improve your ability to read code? It's currently hard for me to understand a largish codebase written by others without much documentation. eg. I thought of contributing to htmx [1], cloned the repo but couldn't make heads or tails of the codebase - even though it's a single file, albeit a long one. 1. https://htmx.org https://htmx.org
- godelski 2y ago> How did you improve your ability to read code? You're going to hate me for this, but it's by reading lots of code and being very very confused. When tackling a large code base I still pull out pen and paper and create flow charts. And don't fret that you suck at it now. These are really hard things but they take time