5 ms·
Simplifying programming with AI-tutors
- sayonidroy 2y agoOnline courses have stayed the same for decades. You read blogs, watch videos and you learn. That's it! But god forbid if you have a doubt --- brace yourself to sift through endless comments and discussions. We at Edmigo deeply believe that this should change! So, we've built an AI-tutor powered comprehensive DSA course at edmigo.in In addition to quality materials, you get a personal tutor that can resolve all your unique doubts and help you code in LeetCode. This is our first attempt to figure out if we can simplify online education. If you also believe that learning should not be this difficult, please check Edmigo out and give us some feedback. Thanks :)
- tedmundy 2y agoi've done a few on coursera, and they've added an AI to talk with, which seems OK. can't say much about other sites. GL with your course :)
- sayonidroy 2y agoThanks for the feedback
- devjab 2y agoHaving done the MIT and Harvard CS courses on EDX.org I have to say that any course that doesn’t put you on a GitHub code space with auto-mated tests is a bad course. I did them because I’m an external examiner for CS students and when I stated I wanted to brush up on all the stuff you learn during your first years, but I was blown away with how good they were. It has been a long time since so maybe they’ve changed. I’d worry about AI tutors considering how often they get things blatantly wrong. In our internal statistics and analytics on AI assisted programming it’s a very bad option for “junior” programmers. Basically it reduces productivity by quite a lot, it also produces a lot more pull request rejections due to really bad code. On the flip-side, things like co-pilot makes experts in their field of programming sooooo much more efficient. What is really worrying though, is when LLMs get explanations completely wrong. Which means they are teaching the actually engineering wrong, and it can be years before it gets “fixed” if it ever does. I’ve worked in plenty of places where people would never be challenged on wrong knowledge. Often because their co-workers simply didn’t know any better either.
- mnky9800n 2y agoYeah but this is really a cottage industry. If companies didn't expect applicants to grind leetcode this ai tutor wouldn't exist. The tutor isn't there to actually teach or innovate education in any way (as the authors claim in another post). It's there to reduce the friction between unemployment and employment.
- nottorp 2y ago> In our internal statistics and analytics on AI assisted programming it’s a very bad option for “junior” programmers. Basically it reduces productivity by quite a lot, it also produces a lot more pull request rejections due to really bad code. On the flip-side, things like co-pilot makes experts in their field of programming sooooo much more efficient. There's been a study already. "AI" assisted beginners learned ... about nothing compared to the control beginners group. I think it was linked here on HN. A LLM might help if it does not give you code but only answers short questions. Unless it's as good as those support chatbots.
- sayonidroy 2y agowe totally agree that AI giving you coding solutions doesn't help. So Edmigo never provides solutions unless explicitly requested. Instead it gives hints to help learners think
- nottorp 2y agoIt would get banned from StackOverflow then :)
- devjab 2y agoI must not have expressed myself clear enough, sorry English isn’t my first language. What I meant was actually the opppsite or what you say. AI is fancy auto-complete for programmers who know when to ignore it. It’s terrible at answering questions. It will tell you the most amazing things about how computers work. I know it’s not that different from Google programming, probably even more accurate, but the key difference we’ve found is that people tend to trust the AI more than what they find on Google.
- creata 2y ago> brace yourself to sift through endless comments and discussions. That's half the fun!
- sayonidroy 2y agoHaha! That's an interesting way to look at it
- raister 2y agoSorry for the very basic question, but, is DSA, in this context, Disabled Students' Allowance?
- mockingbirdz 2y agoData Structures and Algorithms
- alabhyajindal 2y agoData Structures and Algorithms. Very common acronym here in India. All CS "students" just want to "crack" "DSA". I hate this terminology and more so the underlying idea and motivation behind doing all this. That CS is a rote mechanical thing to do for the end goal of getting a job.
- farhanhubble 2y agoI'm yet to come across a "leetcoder" type who can write even basic code without constant help, even if it's mostly algorithmic in nature.
- deleted 2y ago[deleted]
- __loam 2y agoUsing LLMs to learn about a topic you're not familiar with is very dangerous.
- sayonidroy 2y agoAgreed! That's why Edmigo is backed by content we hand-crafted
- kgeist 2y agoI tried learning PyTorch with ChatGPT and it's not so bad. It explains certain topics and provides examples. And if you run it side-by-side with a Python shell and type examples yourself you can see yourself if it hallucinates or not.
- blharr 2y agoI've done the same, and it's decent, but in ML having the minor bugs that chatGPT introduces was awful for me to debug. Like, it doesn't fail catastrophically, but it just gave me really bad models. I basically got poor performance at the end for all of my models and didn't learn enough from it to debug the issues. At the end of the day, pytorch was way simpler to just learn. Have you gotten good results in some models using chat gpt with pytorch?
- todotask 2y agoNextJS undefined error in the console log.
- sayonidroy 2y agoOh! Can you please share the error?
- suryo 2y agoLoved the idea. I think ability to solve problem on edmigo itself would be great.
- sayonidroy 2y agoThanks suryo
- lynx23 2y agoThe more I use this stuff, the less I am convinced it can be used as a tutor. Actually, I think the reverse is true. It could be used to generate bad code for code reviewers to spot! Just recently gave it a 80 line header-only C++20 code snippet to comment on. As first item, it concluded that my header should be split into a .hpp/.cpp combination. And it proceeded to take one of my template functions, and move the definition into the .cpp file... This is wrong, and broken. Because now, nobody can call that template. And that is with gpt-4o, the latest flagship thingy... I am sure Claude users will now tell me their pet is more perfect. Frankly, I think we are trying to beat a dead horse here. This is not helpful.
- sayonidroy 2y agoWe've tried to fix these issues with Edmigo. You can give it a try!
- blharr 2y agoGpt-4o, in my unprofessional opinion, is miles worse than the old gpt-4. I believe it has higher scores on benchmarks, but only because it spits out paragraphs and paragraphs of useless information.
- mnk47 2y ago>And that is with gpt-4o, the latest flagship thingy... I am sure Claude users will now tell me their pet is more perfect. It's definitely much better than GPT-4o for most programming tasks, yes. And that's just the free version.
- ashmil 2y agowhat if it teaches some wrong content due to hallucination ?
- sayonidroy 2y agoWe have provided LLMs with reference materials we created ourselves. Additionally we are running validators to check the output. I agree that the LLM will still not be 100% accurate but it should work pretty well
- lionkor 2y agoIf you have validators check that the output is near 100% accurate, you could just cut out the AI and just use the validators as tutors.
- JCharante 2y agoI disagree with the title. Programming isn’t learning DSA.
- sayonidroy 2y agoWe're starting with DSA. But we are planning to expand to other programming concepts soon
- kingkongjaffa 2y agoThe main issue with LLM powered learning is you need to have at least a surface level understanding of the topic to recognise if the output is wrong. That requires some basic knowledge, a specific mental model for interacting with LLM’s, and a modicum of good taste in code to be able to correct for the code smells that LLM’s fall victim to. You can never let the LLM take the wheel, you need to be the driver knowing what you want. This works if for example you know how to something in language x but need it in language Y, but it doesn’t work if you have never been able to solve the problem before. For something like leetcode however which is far from novel, there are that many correct answers in the training data that the risk is low.
- creesch 2y ago> you need to have at least a surface level understanding of the topic to recognise if the output is wrong. Often overlooked point. The only reason I even consider LLMs a useful tool for my work is because for the things I request from them I do have the prerequisites to validate their output.
- dailykoder 2y agoVery very good point and often understated imo. Yes, LLMs are okay-ish at javascript and python, but if I ask it to generate me some VHDL, it often just produces plain garbage. And without a basic understanding of hardware design you wouldn't even know what to look out for. It's just not possible to learn anything from it.
- Joel_Mckay 2y agoThe classic "How Many R's in 'Strawberry'?" LLM test is amusing to students... Still useless for trying to understand subtle complex concepts not previously well-defined in the data sets. The numerous slop articles posted on YC that obviously were partially written with LLM help often makes the alleged authors sound like they had a stroke. lol =3
- sayonidroy 2y agoAgreed. But LLMs are pretty good at answering questions and helping students understand concepts from fixed datasets ie. courses. That is what we're trying to achieve at Edmigo
- vkweb 2y agoI would not recommend beginners to use LLMs to learn to code. LLMs are most helpful for already-learned developers. Learn from CS50, understand the fundamentals well. Then use Cursor or LLMs heavily since you know what's going around.
- sayonidroy 2y agoWe have high quality materials that the learner's can learn from, very similar to CS50. The LLM is there to resolve doubts and help learners if stuck which is currently impossible to do with static resources like CS50. Thoughts?
- MisterBastahrd 2y agoIf you can't figure it out without the help of an LLM, you're gonna be in a world of hurt in a real world application where you're dealing with a mature codebase and aren't playing with toys you built yourself. Part of being a quality developer is learning how to get unstuck on your own.
- blharr 2y agoI get the idea, and I've considered using AI similarly, but one thing I realized: Being stuck is often the time where you learn the most. (And when you find out how to un-stick yourself is part of the most enjoyable parts of engineering). Having the immediate aid of an LLM in a lot of ways also does hurt your reasoning capabilities in my experience. I'm curious how you would address this.
- sayonidroy 2y agoI believe this was in a pre-AI world. With AI you don't expect developers to dig through thousands of websites to find out why something isn't working. I will just ask ChatGPT because it saves me time. In the context of learning, students usually look at answers directly because they don't have a lot of other options currently. with Edmigo, we're trying to give them hints instead of telling them the answer directly so they can learn to solve on their own.
- renegat0x0 2y agoI sometimes pasted my code into llm to check if it can be simplified. sometimes it worked, sometimes not, sometimes it gave valid points. Once it told me really nice beautiful soup optimization, I did not I could make cast soup to string, or something. This is obviously done on my private code. Legality issues more often prohibits the use of AI
- sayonidroy 2y agoYeah this is something we also experimented with. We realized we needed to configure the LLM for very specific use cases for it to work as expected
- codr7 2y agoSomeone out there apparently is in a hell of a hurry to get rid of all the pesky professionals who are standing in the way of their digital aspirations. Little do they stop to consider the fact that most of the time they don't have an effing clue what they want until someone conceptualizes and builds it for them. If I simply built what people asked for, as opposed to trying to understand their needs and problems, that would lead to very awkward situations once someone actually tried to use the system.