Prof. Dr. Malte Schilling
Autonomous Intelligent Systems Group
Grundidee:
Debugging bezieht sich auf den Prozess, Fehler oder Bugs in einem Programm zu finden und zu beheben.
Debugger: Softwaretools, die beim Auffinden und Beheben von Fehlern helfen.
Eine IDE ist eine Software-Anwendung, die Software-Entwicklern eine umfassende Reihe von Tools zur Verfügung stellt, um die Softwareentwicklung zu erleichtern.
Sie integriert normalerweise einen Quellcode-Editor, Build-Automatisierungstools und einen Debugger.
Folien zu IDEs wurden durch ChatGPT zusammengestellt (und nachher angepasst), Kommunikation mit ChatGPT (4.0) am 20.5.2023.
Aufgabe zu Debugging. Hierfür soll VS Code im Hub genutzt werden (dies läuft am besten unter Chrome).
Im jupyter-book ist die Aufgaben angegeben:
Hierüber kann dann direkt auf dem Hub eine Umgebung gestartet werden, in der C++ interpretiert wird (wird die ersten Termine genutzt):
Don’t use AI chatbots like ChatGPT or Bard or Bing, as doing so “is equivalent to receiving assistance from another person.”
https://www.edsurge.com/news/2023-05-15-what-higher-ed-gets-wrong-about-ai-chatbots-from-the-student-perspective
Wie oft nutzen sie ein LLM wie ChatGPT (bitte nur eine Antwort auswählen)?
Für welche Aufgaben setzen Sie LLMs am häufigsten ein (sie können mehrere Antworten auswählen)?
Wie zufrieden sind Sie mit den Antworten, die sie von LLMs erhalten (bitte nur eine Antwort auswählen)?
Ergänzungen?
Haben sie solche LLMs schon genutzt in Übungsaufgaben oder Hausarbeiten (bitte nur eine Antwort auswählen)?
Wenn sie ChatGPT schon genutzt haben in Übungsaufgaben oder Hausarbeiten – wofür (mehrere Antworten möglich)?
Fühlen Sie sich durch einen Chat-Bot wie ChatGPT beim Lernen unterstützt (bitte nur eine Antwort auswählen)?
Wie hilfreich finden Sie ChatGPT speziell für den C++ Programmiereinführungskurs (bitte nur eine Antwort auswählen)?
Bei welchen Programmieraufgaben haben sie gute Erfahrungen mit ChatGPT / CoPilot / StarCoder gemacht?
Aktuelle (vorübergehende) Empfehlung der APA (American Psychology Association):
OpenAI’s ChatGPT, personal communication, 12.6.2023
Ideallerweise mit Prompt – für die Umfrage (1. bis 7.) wurde als Prompt genutzt
Ich möchte eine Umfrage zu dem Einsatz von ChatGPT machen. Dabei soll es immer mehrere Auswahlmöglichkeiten geben. Kannst du mir helfen Fragen zu erstellen? Dies richtet sich an Studierende, die so einen Chat-Bot einsetzen könnten. Über die vers. Fragen will ich rausbekommen, wieviel sie diesen einsetzen und in welchen Funktionen. Es sind Informatik-Studierende in einem C++ Programmiereinführungskurs.
Danach wurde zusätzlich dies von ChatGPT in das Markdown-Quiz-Format umgesetzt.
How are AI assistants used? Focus on software development activities.
481 programmers, 5 activities:
The overall opinion regarding code provided by AI assistants differs, with the most positive aspect being its usability and the most negative being its security.
Takeaway 2: … implementing new features is the most enjoyable and the least likely to be delegated to an assistant, while writing tests and writing natural-language artifacts are the most unpleasant and the most likely to be delegated.
The top reasons why developers are not using AI assistants are the
Stanford University study
47 participants (from undergraduate students to professional programmers)
Both groups were allowed to copy code from the web.
Complete security-themed coding tasks:
Authors evaluated responses manually: Are these functional and secure?
Participants who used Codex
As one noted: “Please do not assume the worst of us. Rather, teach us how to use this technology in the right way and learn alongside it.”
Diese funktionieren in klar umrissenen Teilaufgaben und Anwendungsfällen:
Größere Aufgabenstellungen sind schnell problematisch. Refactoring funktioniert in einem gewissen Maße noch gut – aber größere Projekte und Zerlegung in Aufgaben endet häufig in Sackgassen.
Als Pair Programming sehr gut einsetzbar.
Brockman (2023), The Inside Story of ChatGPT’s Astonishing Potential, TED-Talk May 2023, https://www.youtube.com/watch?v=C_78DM8fG6E
8 Rückmeldungen (Danke!) – mittlere Noten (aber extrem breite Streuung).
Anregungen:
Zusätzliche Rückmeldungen?
→ Kurz Kernkonzepte einführen, direkt anwenden – danach etwas Vertiefung, aber meiste Teil dann in Webseite auslagern
Was sind aus ihrer Sicht die Kernkonzepte (sammeln)?
Offen: Querbezüge zu A und D, Programmiereinführung – diese ausreichend / hilfreich / unnötig?
→ aber kleinere Aufgaben, begrenzterer Umfang
Zwischentasks – waren gedacht als größerer Kontext und programmieren in einenm schon teils vorgegebenem Kontext.
Wie ist hier ihre Einschätzung?