Hacker News new | ask | show | jobs
by AthLado 2498 days ago
This is very interesting - my eyes stuck on the programming for non-programmers as we in MOOCTORS (https://www.mooctors.com) we are building a tutoring platform for MOOC students who are not necessarily programming experts. We invite technology experts and everyone who can code to register as tutors on their free time, help students on their MOOC courses, and earn an extra income for doing that. How Synthesis could power tech/coding tutoring?

best, Athanasios

1 comments

Hi Athanasios, program synthesis has been used to automatically repair introductory programming assignments (a sample of papers is at the end). This technology could make tutors more productive: [1] says that 81% of synthesized repairs were of high quality. This is very impressive but the tutor is still needed to check the quality. Also, synthesis cannot repair all programs (an empty submission cannot be repaired). Finally, this automatic repair allows the tutor to focus on giving guidance, rather than on finding the bug in a programming assignment.

[1] https://arxiv.org/pdf/1603.03165.pdf [2] https://rishabhmit.bitbucket.io/papers/icse18.pdf

I should add that Rishabh Singh, one of the lead authors of of the repair papers, will speak at the conference.
Thanks Ras for the above pointers! I also wanted to add that there is a demo of the system with different levels of feedback mechanism hosted here: http://sketch2.csail.mit.edu/python-autofeedback/new-encodin...

It uses constraint-based synthesis to search for small repairs. We also did some follow up work on learning from other student's solutions to learn to correct similar mistakes: https://rishabhmit.bitbucket.io/papers/sarfgen_pldi18.pdf https://rishabhmit.bitbucket.io/papers/dyn_iclr18.pdf