Подумайте самі, чи хочете ви, щоб ШІ навчив вас кодувати

Подумайте самі, чи хочете ви, щоб ШІ навчив вас кодувати

Вихідний вузол: 3087147

особливість Зі штучним інтелектом навчитися програмувати, мабуть, тепер легше, ніж будь-коли, хоча інструменти, які підказують або генерують для вас вихідний код, потрібно використовувати з розумом. 

Програмування вимагає терпіння та наполегливості, особливо на початку процесу навчання, коли нічого не має сенсу. Правила написання коду здаються заплутаними. Існують усілякі розділові знаки та символи, які потрібно використовувати обережно. Відсутність двокрапки чи коми, або неправильний відступ може призвести до помилок, залежно від мови, що використовується. З часом, після достатньої практики, він стає на місце.

Як і більшість початківців, які вивчають програмування в Інтернеті, я почав із перегляду навчальних посібників і розв’язування задач у наборах вправ із програмування. Коли я застряг на проблемі, було дуже спокусливо звернутися до ChatGPT, який легко допоміг мені знайти правильне рішення. Ці типи помічників добре справляються з генеруванням простого коду, а деякі з них навіть можуть дати вам повну відповідь, як ви її описуєте.

Я зрозумів це, коли боровся з реалізацією певної функції, і вимкнув функцію автозаповнення GitHub Copilot у Visual Studio Code, щоб утримати себе від шахрайства.

Не просто копіюйте та вставляйте

Девід Малан, професор інформатики Гарвардського університету, викладає CS50, популярний вступний курс інформатики (який можна пройти безкоштовно онлайн), погодилися, що ШІ іноді може бути надто корисним. 

Щоб переконати студентів використовувати для виконання завдань такі інструменти, як ChatGPT від OpenAI або Bard від Google, викладачі запропонували їм альтернативу: віртуальну гумову качку. Качка CS50 — це чат-бот для кодування, який працює на базі GPT-4, але має поручні, щоб студенти не шахрайство.

Налагодження гумової качки, як ви, можливо, знаєте, це річ у розробці програмного забезпечення: якщо ви застрягли на якомусь коді, обговорення проблеми з якоюсь іграшкою чи іншим неживим об’єктом може допомогти вам самостійно знайти рішення. Це досить ефективно.

Налагоджувач CS50 duck є даниною цьому: бот був розроблений, щоб бути дружнім і підтримувати, він відповідає лише на запити, пов’язані з курсом, і не дає відповіді на проблеми з домашніми завданнями, сказав Малан. Реєстр

«Наша політика на початку курсу полягає в тому, що студенти не можуть використовувати програмне забезпечення сторонніх розробників, наприклад ChatGPT і Copilot; вони просто схильні бути надто корисними, надто готові надати студентам прямі рішення, а не направляти їх до них, як це може зробити хороший учитель. Але учням дозволяється та заохочується до використання власного програмного забезпечення CS50 на основі штучного інтелекту, яке має ці педагогічні огородження», — сказав він.

Качка CS50 була представлена ​​минулого року, і відгуки про неї були переважно позитивними. Маючи під рукою віртуального репетитора, студенти можуть звернутися за допомогою в будь-який час. Але, як і всі моделі штучного інтелекту, вона може припускатися помилок і не завжди точна. Початкові тести показали, що він здатний правильно відповісти приблизно на 88 відсотків питань, пов’язаних з навчальною програмою. 

Бот для кодування також корисний інструкторам; це дає їм більше часу, щоб допомогти учням в інших сферах, крім домашніх завдань. У дослідницькій роботі [PDF] аналізуючи вплив налагоджувача duck, викладачі з Гарварду сказали, що їхній експеримент зі створення віртуального помічника кодування ШІ окупився. Вони вірять, що «генеративний штучний інтелект [може] сприяти навчанню учнів, а не просто заважати йому», і шукають способи застосування цієї технології в інших предметах.

Економія часу з меншим пошуком у Google

Якщо це варте, моя академічна освіта пов’язана з фізикою та науковою журналістикою, а не з інформатики. Я почав вчитися кодувати незадовго до появи останнього покоління чат-ботів. Раніше я намагався зрозуміти концепції програмного забезпечення або виправляти помилки, як і багато людей, читаючи публікації в блогах або шукаючи приклади подібного коду на таких сайтах, як Stack Overflow. AI дозволяє мені скоротити цей процес.

Замість того, щоб переглядати безліч інформації, щоб знайти рішення, які найкраще відповідають моїй проблемі, тепер я можу звернутися до великої мовної моделі для прямої допомоги. Я навчаюся, щоб краще розуміти технології, які використовують інші; ці цифрові помічники допомагають мені швидше, ніж переглядати кілька статей про, скажімо, фрагменти та масиви, або гортати проекти програмного забезпечення інших людей.

Однак машинний код не завжди корисний, але може знизити якість кодової бази. Якби я скопіював і вставив вихід помічника штучного інтелекту в своє джерело, він часто створював нові помилки, оскільки він не підходив до решти моєї програми. Спроба виправити ці помилки може бути складною, особливо якщо ви не розумієте, що було згенеровано. Як новачок, мені не завжди було зрозуміло, чи були помилки тому, що код був просто неправильним, чи він використовувався в неправильному контексті.

«Я вважаю, що якщо хтось хоче навчитися кодувати [за допомогою поточного] набору інструментів штучного інтелекту, він повинен поставитися до цього з двома цілями: знайдіть час, щоб навчитися кодувати достатньо, щоб знати, що інструмент генерує. [І] візьміть на себе роль «рецензента коду» та вивчіть, як виявляти та покращувати поганий код», – Зед Шоу, розробник програмного забезпечення та автор Дізнайтеся про Python Hard Way, Повідомив Реєстр

Програмісти повинні вміти виявляти помилки в машинному коді та не повинні повністю довіряти роботам. «Той факт, що ChatGPT надає рішення швидше, загорнуті в заспокійливі фрази на кшталт «Я думаю, це має вирішити вашу проблему…», робить це так, що ми вимикаємо наше критичне мислення та не ставимо під сумнів його рішення так ретельно, як слід», — сказав Чарльз Северанс, професор інформатики Школи інформації Мічиганського університету, який має випущений безкоштовні онлайн-курси кодування.

«Завжди вважайте, що ChatGPT є менш досвідченим програмістом, ніж ви. Єдиний безпечний спосіб використовувати інструменти штучного інтелекту – це коли ви впевнені, що рішення, яке він створює, правильне», – додав він. 

Ви повинні знати, що ви робите

Щоб ефективно використовувати ці інструменти, ви повинні розуміти свою проблему та чітко пояснити її у підказці. Якість коду, що повертається на виході, залежить від того, як ви формуєте свої запитання у вхідних даних, сказав Інбал Шані, директор із продуктів GitHub. Реєстр.

Користувачі повинні взаємодіяти з Копілот GitHub ніби вони розмовляли з колегою, припустила вона. «Чим більше ви розкажете помічнику, який сидить поруч, про ваші наміри, куди ви збираєтеся вирішити проблему, яку намагаєтеся вирішити, тим кращу відповідь ви отримаєте, оскільки штучний інтелект отримує більше контексту. Він знає, як зробити більш детальний пошук, щоб знайти потрібний фрагмент коду або порекомендувати правильну інфраструктуру тестування для вас», – сказала вона. 

Мови програмування, які ми використовуємо, стали більш узгодженими з людською мовою; Інструменти чату – лише наступний крок у цій еволюції

Філіп Компо, доцент Університету Карнегі-Меллона, який створив Розалінд платформа і Програмування для закоханих підручник, для людей, які цікавляться комп’ютерною біологією, згоден.

Коли він навчає студентів, які починають кодувати, він закликає їх триматися подалі від ШІ. Але для більш просунутих студентів, які знають основи, він навчає їх, як використовувати технології, щоб бути більш продуктивними та ефективними у своїй роботі.

«Одна з речей, яку я показую студентам, полягає в тому, що найкращий спосіб отримати чисту правильну відповідь від інструмента штучного інтелекту, який генерує код, — це якщо ви зможете чітко та правильно вказати, що саме має робити комп’ютер. Це саме визначення програмування комп’ютера, і з часом мови програмування, які ми використовуємо, стали більш узгодженими з людською мовою; Інструменти чату – лише наступний крок у цій еволюції», – сказав він Реєстр

З’ясування того, що ви хочете, щоб ваша програма робила, як вона має працювати та де вона пішла не так, є вирішальним у кодуванні. Учні можуть розвивати ці основні навички лише з часом, постійно практикуючись. Ви не можете пропустити цей процес, покладаючись на ШІ, якщо хочете бути компетентним розробником програмного забезпечення. Але якщо ви використовуєте його з розумом, ви можете швидко вдосконалюватись і стати хорошим програмістом – і, можливо, це буде навіть весело. ®

Часова мітка:

Більше від Реєстр