AI가 코딩 학습을 도와준다고?

코딩을 처음 배우는 사람들은 남이 만든 코드를 보고 따라 하면서 배우는 경우가 많아요. 그런데 남의 코드를 이해하고 내 아이디어를 추가하는 게 생각보다 어렵습니다. 연구진은 AI를 활용해 이 과정을 도와주는 도구를 만들었어요.

컴퓨터 프로그래밍을 배우는 방법 중 하나는 이미 완성된 코드를 보고 그대로 따라 하거나, 조금 바꿔서 내 것으로 만드는 거예요. 이런 방식을 '리믹스'라고 하는데, 창작 코딩을 가르치는 커뮤니티에서 특히 인기가 많습니다. 하지만 초보자에게는 남의 코드가 어떻게 돌아가는지 파악하고, 그 위에 내 생각을 덧붙이는 일이 매우 어렵게 느껴집니다. 이 연구는 바로 이 두 가지 어려움을 해결해 주는 새로운 프로그래밍 환경을 제안합니다.

어떤 도구를 만들었나?

연구진은 '플로우코드(Flowcode)'라는 이름의 프로그래밍 환경을 개발했습니다. 여기에는 두 가지 중요한 기능이 들어 있습니다. 하나는 코드의 구조를 그림으로 보주는 '순서도'이고, 다른 하나는 AI와 대화하면서 코딩을 배울 수 있는 '채팅 인터페이스'입니다. 순서도는 코드가 어떤 순서로 실행되는지를 한눈에 볼 수 있게 해 줍니다. 채팅 인터페이스에서는 '이 부분이 무슨 뜻이에요?', '이걸 이렇게 바꾸고 싶은데 어떻게 해야 하나요?' 같은 질문을 자연스럽게 할 수 있습니다. AI가 친절하게 설명해 주고, 수정할 코드도 직접 제안해 줍니다.

연구 결과는 어땠나?

연구진은 두 차례에 걸쳐 초보 코딩 학습자들을 대상으로 실험을 했습니다. 첫 번째 실험에서 얻은 피드백을 바탕으로 플로우코드를 개선했고, 두 번째 실험에서 다시 효과를 확인했습니다. 그 결과, 순서도 덕분에 학습자들이 코드의 전체 흐름을 더 쉽게 이해할 수 있었습니다. 또한 AI 채팅 기능은 '무엇을 모르는지도 모르는' 초보자들에게 큰 도움이 되었습니다. 연구진은 이 과정에서 '마찰(friction)'이라는 개념을 강조합니다. 너무 쉽게 모든 걸 해결해 주면 학습자가 스스로 생각할 기회를 잃을 수 있기 때문에, 적절한 수준의 어려움을 남겨 두는 것이 중요하다고 설명합니다.

이 연구가 의미하는 바는 단순히 새로운 도구를 만들었다는 것 이상입니다. 요즘에는 '바이브 코딩(vibe coding, AI야 이거 만들어 줘 하면서 코딩)'이라는 말이 생길 정도로 AI가 코드를 대신 작성해 주는 경우가 많아졌습니다. 하지만 그렇게 하면 진짜 실력은 늘지 않을 수 있습니다. 플로우코드는 AI의 도움을 받되, 학습자가 코드의 구조를 이해하고 직접 수정해 보는 기회를 제공합니다. 앞으로 코딩 교육 현장에서 AI를 어떻게 활용해야 할지에 대한 좋은 방향을 제시해 주는 연구입니다.

📖 원문 보기: arXiv 원문

본 요약은 AI로 작성되었습니다. arXiv 논문을 바탕으로 재구성되었습니다.