AI가 코딩 방법을 가르쳐주기를 원한다면 스스로 생각하십시오.

AI가 코딩 방법을 가르쳐주기를 원한다면 스스로 생각하십시오.

소스 노드 : 3087147

특색 AI를 사용하면 프로그래밍 방법을 배우는 것이 그 어느 때보다 쉬워졌지만, 소스 코드를 제안하거나 생성하는 도구는 현명하게 사용해야 합니다. 

프로그래밍에는 인내심과 끈기가 필요합니다. 특히 아무것도 이해되지 않는 학습 과정을 시작할 때 더욱 그렇습니다. 코드 작성 규칙이 혼란스러워 보입니다. 주의 깊게 사용해야 하는 온갖 종류의 구두점과 기호가 있습니다. 콜론이나 쉼표가 누락되거나 들여쓰기가 엉망이 되면 사용되는 언어에 따라 오류가 발생할 수 있습니다. 시간이 지남에 따라 충분한 연습을 통해 제자리에 고정됩니다.

온라인으로 코딩하는 방법을 배우는 대부분의 초보자와 마찬가지로 저는 튜토리얼을 보고 프로그래밍 연습 세트에서 문제를 해결하는 것으로 시작했습니다. 문제에 봉착했을 때 ChatGPT를 사용하고 싶은 유혹이 매우 많았습니다. 이는 올바른 솔루션을 찾는 데 쉽게 도움이 되었습니다. 이러한 유형의 도우미는 간단한 코드를 생성하는 데 능숙하며 일부는 설명하는 대로 완전한 답변을 제공할 수도 있습니다.

나는 특정 기능을 구현하려고 씨름할 때 이것을 깨달았고, 부정 행위를 막기 위해 Visual Studio Code에서 GitHub Copilot의 자동 완성 기능을 꺼 두었습니다.

그냥 복사해서 붙여넣지 마세요

인기 컴퓨터 과학 입문 과정인 CS50을 강의하고 있는 하버드 대학의 컴퓨터 과학 교수인 David Malan(무료로 수강 가능) 온라인), AI가 때로는 너무 도움이 될 수 있다는 데 동의했습니다. 

학생들이 OpenAI의 ChatGPT나 Google의 Bard와 같은 도구를 사용하여 과제를 완료하지 못하도록 설득하기 위해 교사는 가상 고무 오리라는 대안을 제안했습니다. CS50 오리는 GPT-4로 구동되는 코딩 챗봇이지만 학생들이 부정 행위.

고무 오리 디버깅은 여러분도 알고 계시겠지만, 일이다 소프트웨어 개발에서: 일부 코드에서 막히는 경우 장난감이나 기타 무생물의 문제에 대해 이야기하면 스스로 해결책을 찾는 데 도움이 될 수 있습니다. 꽤 효과적입니다.

CS50 덕 디버거는 이에 대한 경의입니다. 봇은 친절하고 지원적이어야 하며 과정과 관련된 쿼리에만 응답하고 숙제 문제에 대한 답변은 제공하지 않는다고 Malan은 말했습니다. 등록

“과정 시작 시 우리 정책은 학생들이 ChatGPT 및 Copilot과 같은 타사 소프트웨어를 사용할 수 없다는 것입니다. 그들은 단지 너무 도움이 되는 경향이 있고, 훌륭한 교사처럼 학생들에게 해결책을 안내하기보다는 솔직하게 해결책을 제공하려는 의지가 너무 강합니다. 그러나 학생들은 교육학적 가드레일을 갖춘 CS50의 자체 AI 기반 소프트웨어를 사용하도록 허용되고 권장됩니다.”라고 그는 말했습니다.

CS50 덕은 지난해 출시됐는데, 피드백은 대부분 긍정적이었다. 가상 교사가 있다는 것은 학생들이 원할 때 언제든지 도움을 요청할 수 있다는 것을 의미합니다. 그러나 모든 AI 모델과 마찬가지로 실수가 있을 수 있으며 항상 정확하지는 않습니다. 초기 테스트에서는 커리큘럼과 관련된 질문의 약 88%에 올바르게 답할 수 있는 것으로 나타났습니다. 

코딩 봇은 강사에게도 유용합니다. 숙제 이외의 다른 영역에서 학생들을 도울 수 있는 더 많은 시간을 제공합니다. 연구 논문에서 [PDF] 오리 디버거의 영향을 분석하면서 하버드의 교사들은 가상 AI 코딩 도우미를 구축하는 실험이 성과를 거두었다고 말했습니다. 그들은 “생성 AI가 학생의 학습을 단순히 방해하는 것이 아니라 강화할 수 있다”고 믿으며 이 기술을 다른 과목에 적용할 수 있는 방법을 모색하고 있습니다.

인터넷 검색 횟수를 줄여 시간 절약

그만한 가치가 있는 것은 내 학문적 배경이 컴퓨터 과학이 아니라 물리학과 과학 저널리즘이라는 점입니다. 저는 최신 세대의 챗봇이 등장하기 직전에 코딩 방법을 배우기 시작했습니다. 이전에는 많은 사람들처럼 블로그 게시물을 읽거나 Stack Overflow와 같은 사이트에서 유사한 코드 예제를 검색하여 소프트웨어 개념을 이해하거나 버그를 수정하려고 노력했습니다. AI를 사용하면 이 프로세스를 단축할 수 있습니다.

내 문제에 가장 적합한 솔루션을 찾기 위해 많은 정보를 조사하는 대신 이제 직접적인 도움을 받기 위해 대규모 언어 모델을 사용할 수 있습니다. 나는 다른 사람들이 사용하는 기술을 더 잘 이해할 수 있도록 배우고 있습니다. 이러한 디지털 보조 장치를 사용하면 슬라이스 대 배열에 관한 여러 기사를 자세히 살펴보거나 다른 사람의 소프트웨어 프로젝트를 살펴보는 것보다 더 빠르게 정보를 얻을 수 있습니다.

그러나 기계로 작성된 코드가 항상 유용한 것은 아니며 품질을 낮추다 코드베이스의. AI 보조자의 출력을 복사하여 소스에 붙여넣으면 프로그램의 나머지 부분과 맞지 않기 때문에 종종 새로운 오류가 발생했습니다. 이러한 실수를 수정하는 것은 까다로울 수 있으며, 특히 생성된 내용을 이해하지 못하는 경우 더욱 그렇습니다. 초보자로서 오류가 코드가 완전히 잘못되었기 때문에 발생한 것인지, 아니면 잘못된 컨텍스트에서 사용된 것인지 항상 명확하지는 않았습니다.

“누군가 [현재의] AI 도구를 사용하여 코딩하는 방법을 배우고 싶다면 두 가지 목표를 가지고 접근해야 한다고 생각합니다. 도구가 생성하는 내용을 알 수 있을 만큼 충분히 코딩하는 방법을 배우는 시간을 가지십시오. [그리고] '코드 검토자'의 역할을 맡아 잘못된 코드를 식별하고 개선하는 방법을 연구합니다.” 소프트웨어 개발자이자 어려운 길을 파이썬 배우기, 말 등록

프로그래머는 기계가 만든 코드에서 오류를 찾아낼 수 있어야 하며 봇을 완전히 신뢰해서는 안 됩니다. "ChatGPT가 '이렇게 하면 문제가 해결될 것 같아요...'와 같은 안심할 수 있는 문구로 솔루션을 더 빠르게 제공한다는 사실 때문에 우리는 비판적 사고를 끄고 솔루션에 대해 신중하게 질문하지 않게 됩니다."라고 Charles는 말했습니다. 미시간 대학 정보대학원의 컴퓨터 과학 교수인 세브란스(Severance)는 출시 온라인 무료 코딩 강좌.

“항상 ChatGPT가 당신보다 기술이 부족한 프로그래머라고 가정하십시오. AI 도구를 사용하는 유일한 안전한 방법은 그것이 생성하는 솔루션이 정확하다는 확신을 갖는 것입니다.”라고 그는 덧붙였습니다. 

당신은 당신이 무엇을하고 있는지 알아야합니다

이러한 도구를 효과적으로 사용하려면 문제를 이해하고 프롬프트에서 명확하게 설명해야 합니다. 출력으로 반환되는 코드의 품질은 입력에서 질문을 구성하는 방식에 따라 달라진다고 GitHub의 최고 제품 책임자인 Inbal Shani는 말했습니다. 등록.

사용자는 다음과 상호작용해야 합니다. GitHub 부조종사 마치 동료와 얘기하듯이 그녀가 제안했다. “당신의 의도가 무엇인지, 해결하려는 문제를 위해 어디로 가는지에 대해 옆에 앉은 보조자에게 더 자세히 제공할수록 AI가 더 많은 맥락을 확보하기 때문에 더 나은 응답을 얻을 수 있습니다. 올바른 코드 조각을 찾기 위해 더 자세한 검색을 수행하거나 적합한 테스트 인프라를 추천하는 방법을 알고 있습니다.”라고 그녀는 말했습니다. 

우리가 사용하는 프로그래밍 언어는 인간의 언어와 더욱 일치하게 되었습니다. 채팅 도구는 이러한 진화의 다음 단계일 뿐입니다

카네기멜론대학교의 조교수인 필립 콤포(Phillip Compeau)는 로잘린 플랫폼 및 연인을 위한 프로그래밍 컴퓨터 생물학에 관심이 있는 사람들을 위한 튜토리얼이 동의했습니다.

그는 코딩을 시작하는 학생들을 가르칠 때 AI를 멀리하라고 권합니다. 그러나 기본 사항을 알고 있는 고급 학생들을 위해 그는 기술을 사용하여 작업에서 보다 생산적이고 효율적으로 작업하는 방법을 가르칩니다.

“제가 학생들에게 보여주는 것 중 하나는 코드를 생성하는 AI 도구에서 깨끗하고 정확한 답을 얻는 가장 좋은 방법은 컴퓨터가 수행해야 하는 작업을 명확하고 정확하게 지정할 수 있다는 것입니다. 이것이 바로 컴퓨터 프로그래밍의 정의이며, 시간이 지남에 따라 우리가 사용하는 프로그래밍 언어는 인간의 언어와 더욱 일치하게 되었습니다. 채팅 도구는 이러한 진화의 다음 단계에 불과합니다.”라고 그는 말했습니다. 등록

프로그램이 무엇을 하길 원하는지, 어떻게 작동해야 하는지, 어디에서 문제가 발생했는지 파악하는 것은 코딩에서 매우 중요합니다. 학습자는 일관된 연습을 통해서만 시간이 지남에 따라 이러한 핵심 기술을 구축할 수 있습니다. 유능한 소프트웨어 개발자가 되고 싶다면 AI에 의지해 이 과정을 건너뛸 수 없다. 하지만 현명하게 사용하면 빠르게 실력이 향상되어 훌륭한 프로그래머가 될 수 있습니다. 어쩌면 재미있을 수도 있습니다. ®

타임 스탬프 :

더보기 등록