Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N1)

Sylabus przedmiotu Automatyczne generowanie oprogramowania:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Automatyczne generowanie oprogramowania
Specjalność Inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania i Cyberbezpieczeństwa
Nauczyciel odpowiedzialny Marek Pałkowski <Marek.Palkowski@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL6 16 2,00,50zaliczenie
wykładyW6 10 1,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Podstawowe umiejętności programistyczne z przedmiotów: Programowanie 1 i 2

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z tematem automatycznego generowania oprogramowania.
C-2Przygotowanie studentów do samodzielnego wykorzystywania dostępnych narzędzi umożliwiających automatyczne generowanie oprogramowania.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1ChatGPT - Sprawozdanie z funkcjonalności chatGPT - Praktyczne ćwiczenia z wykorzystaniem chatGPT do generowaniaprostych fragmentów kodów (C++, SQL, Python)3
T-L-2ChatSonic - Sprawozdanie z funkcjonalności ChatSonic - Praktyczne ćwiczenia z wykorzystaniem ChatSonic do generowania kodów(C++, SQL, Python)2
T-L-3Google Bard - Sprawozdanie z funkcjonalności Google Bard - Praktyczne ćwiczenia z wykorzystaniem Google Bard do generowania kodów(C++, SQL, Python)3
T-L-4Github Copilot - Praktyczne ćwiczenia do generowania kodu w Visual Code dla języków: C++, SQL, Python3
T-L-5Codellama - instalacja i konfiguracja wtyczki - generacja kodów(C++, SQL, Python)3
T-L-6llm-vscode - instalacja i konfiguracja wtyczki - generowanie kodów (C++, SQL, Python)2
16
wykłady
T-W-1Wprowadzenie do automatycznego generowania oprogramowania1
T-W-2ChatGPT2
T-W-3ChatSonic1
T-W-4Google Bard1
T-W-5Github Copilot2
T-W-6Modele sztucznej inteligencji do generowania kodu(codellama, llm-vscode)3
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach16
A-L-2Praca własna34
50
wykłady
A-W-1uczestnictwo w wykładach10
A-W-2Praca własna13
A-W-3Konsultacje2
25

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykłady oparte na prezentacjach multimedialnych.
M-2Pokazy praktyczne - demonstracje użycia narzędzi programistycznych
M-3Ćwiczenia praktyczne z użyciem komputera.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena zadań zrealizowanych w ramach laboratorium.
S-2Ocena formująca: Ocena zadań domowych
S-3Ocena podsumowująca: Całościowa ocena umiejętności praktycznych zdobytych podczas ćwiczeń laboratoryjnych.
S-4Ocena podsumowująca: Sprawdzenie wiedzy teoretycznej dotyczącej automatycznego generowania oprogramowania.

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_D03.04_W01
Student zna oraz rozumie nowoczesne metody projektowania, analizowania, wytwarzania przy pomocy narzędzi wspomagających ten proces. Zna podstawowe narzędzia automatyzujące oraz zakres ich stosowalności.
I_1A_W03, I_1A_W04C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6M-1, M-2S-4

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_D03.04_U01
Student potrafi generować i analizować kod oraz testy dla tego kodu przy pomocy podstawowych narzedzi automatyzujących proces wytwarzania oprogramowania. Rozumie wygenerowany przy pomocy narzedzi kod i jest w stanie go modyfikować i uruchomić.
I_1A_U04, I_1A_U05, I_1A_U07C-2T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6M-3S-1, S-2, S-3

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_D03.04_W01
Student zna oraz rozumie nowoczesne metody projektowania, analizowania, wytwarzania przy pomocy narzędzi wspomagających ten proces. Zna podstawowe narzędzia automatyzujące oraz zakres ich stosowalności.
2,0
3,0ma podstawową wiedzę o narzędziach do automatycznego generowania oprogramowania.
3,5ma wiedzę o narzędziu Github Copilot do automatycznego generowania oprogramowania
4,0ma wiedzę o przynajmniej dwóch chatbotach oraz o Github Copilot do automatycznego generowania oprogramowania
4,5ma wiedzę o narzędziach ChatGPT, ChatSonic, Google Bard, Github Copilot do automatycznego generowania oprogramowania
5,0ma wiedze o narzędziach ChatGPT, ChatSonic, Google Bard, Github Copilot oraz ma wiedzę o modelach sztucznej inteligencji do generowania oprogramowania(codellama, llm-vscode)

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_D03.04_U01
Student potrafi generować i analizować kod oraz testy dla tego kodu przy pomocy podstawowych narzedzi automatyzujących proces wytwarzania oprogramowania. Rozumie wygenerowany przy pomocy narzedzi kod i jest w stanie go modyfikować i uruchomić.
2,0
3,0potrafi zintegrować i wykorzystać Github Copilot do automatycznego generowania kodu
3,5potrafi wszystko na ocenę 3,0 oraz potrafi zintegrować i wykorzystać narzędzie ChatGPT do automatycznego generowania kodu
4,0potrafi wszystko na ocenę 3,5 oraz potrafi zintegrować i wykorzystać narzędzie ChatSonic do automatycznego generowania kodu
4,5potrafi wszystko na ocenę 4,0 oraz potrafi zintegrować i wykrozystać narzędzie Google bard do automatycznego generowania kodu.
5,0potrafi wszystko na ocenę 4,5 oraz potrafi zintegrować i wykorzystać modele sztucznej inteligencji do automatycznego generowania oprogramowania.(codellama, llm-vscode)

Literatura podstawowa

  1. Christoffer Noring, Anjali Jain, Marina Fernandez, Ayşe Mutlu, Ajit Jaokar, AI-Assisted Software Development with GitHub Copilot and ChatGPT: A guide to optimizing developer productivity in machine learning, data science, and app and low code development, Packt Publishing, ebooks Account, 2024, 1835086055
  2. Jason Dwight, Master Code Generation with LLMs (Python/JavaScript): Write 10x More Code with AI, Independently published, ebook, 2024, 979-8877886957

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1ChatGPT - Sprawozdanie z funkcjonalności chatGPT - Praktyczne ćwiczenia z wykorzystaniem chatGPT do generowaniaprostych fragmentów kodów (C++, SQL, Python)3
T-L-2ChatSonic - Sprawozdanie z funkcjonalności ChatSonic - Praktyczne ćwiczenia z wykorzystaniem ChatSonic do generowania kodów(C++, SQL, Python)2
T-L-3Google Bard - Sprawozdanie z funkcjonalności Google Bard - Praktyczne ćwiczenia z wykorzystaniem Google Bard do generowania kodów(C++, SQL, Python)3
T-L-4Github Copilot - Praktyczne ćwiczenia do generowania kodu w Visual Code dla języków: C++, SQL, Python3
T-L-5Codellama - instalacja i konfiguracja wtyczki - generacja kodów(C++, SQL, Python)3
T-L-6llm-vscode - instalacja i konfiguracja wtyczki - generowanie kodów (C++, SQL, Python)2
16

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie do automatycznego generowania oprogramowania1
T-W-2ChatGPT2
T-W-3ChatSonic1
T-W-4Google Bard1
T-W-5Github Copilot2
T-W-6Modele sztucznej inteligencji do generowania kodu(codellama, llm-vscode)3
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach16
A-L-2Praca własna34
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w wykładach10
A-W-2Praca własna13
A-W-3Konsultacje2
25
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_D03.04_W01Student zna oraz rozumie nowoczesne metody projektowania, analizowania, wytwarzania przy pomocy narzędzi wspomagających ten proces. Zna podstawowe narzędzia automatyzujące oraz zakres ich stosowalności.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W03Ma szczegółową wiedzę w zakresie wybranych specjalności informatyki technicznej.
I_1A_W04Ma wiedzę o stanie obecnym i kierunkach rozwoju kluczowych obszarów informatyki i wybranych aspektów dyscyplin z otoczenia informatyki.
Cel przedmiotuC-1Zapoznanie studentów z tematem automatycznego generowania oprogramowania.
Treści programoweT-W-1Wprowadzenie do automatycznego generowania oprogramowania
T-W-2ChatGPT
T-W-3ChatSonic
T-W-4Google Bard
T-W-5Github Copilot
T-W-6Modele sztucznej inteligencji do generowania kodu(codellama, llm-vscode)
Metody nauczaniaM-1Wykłady oparte na prezentacjach multimedialnych.
M-2Pokazy praktyczne - demonstracje użycia narzędzi programistycznych
Sposób ocenyS-4Ocena podsumowująca: Sprawdzenie wiedzy teoretycznej dotyczącej automatycznego generowania oprogramowania.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0ma podstawową wiedzę o narzędziach do automatycznego generowania oprogramowania.
3,5ma wiedzę o narzędziu Github Copilot do automatycznego generowania oprogramowania
4,0ma wiedzę o przynajmniej dwóch chatbotach oraz o Github Copilot do automatycznego generowania oprogramowania
4,5ma wiedzę o narzędziach ChatGPT, ChatSonic, Google Bard, Github Copilot do automatycznego generowania oprogramowania
5,0ma wiedze o narzędziach ChatGPT, ChatSonic, Google Bard, Github Copilot oraz ma wiedzę o modelach sztucznej inteligencji do generowania oprogramowania(codellama, llm-vscode)
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_D03.04_U01Student potrafi generować i analizować kod oraz testy dla tego kodu przy pomocy podstawowych narzedzi automatyzujących proces wytwarzania oprogramowania. Rozumie wygenerowany przy pomocy narzedzi kod i jest w stanie go modyfikować i uruchomić.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U04Potrafi identyfikować związki i zależności w procesach zachodzących w systemach rzeczywistych i na tej podstawie tworzyć modele komputerowe oraz przeprowadzać ich symulacje.
I_1A_U05Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
I_1A_U07Potrafi samodzielnie posługiwać się materiałami źródłowymi w zakresie analizy i syntezy zawartych w nich informacji oraz poddawać je krytycznej ocenie w odniesieniu do problemów informatycznych.
Cel przedmiotuC-2Przygotowanie studentów do samodzielnego wykorzystywania dostępnych narzędzi umożliwiających automatyczne generowanie oprogramowania.
Treści programoweT-L-1ChatGPT - Sprawozdanie z funkcjonalności chatGPT - Praktyczne ćwiczenia z wykorzystaniem chatGPT do generowaniaprostych fragmentów kodów (C++, SQL, Python)
T-L-2ChatSonic - Sprawozdanie z funkcjonalności ChatSonic - Praktyczne ćwiczenia z wykorzystaniem ChatSonic do generowania kodów(C++, SQL, Python)
T-L-3Google Bard - Sprawozdanie z funkcjonalności Google Bard - Praktyczne ćwiczenia z wykorzystaniem Google Bard do generowania kodów(C++, SQL, Python)
T-L-4Github Copilot - Praktyczne ćwiczenia do generowania kodu w Visual Code dla języków: C++, SQL, Python
T-L-5Codellama - instalacja i konfiguracja wtyczki - generacja kodów(C++, SQL, Python)
T-L-6llm-vscode - instalacja i konfiguracja wtyczki - generowanie kodów (C++, SQL, Python)
Metody nauczaniaM-3Ćwiczenia praktyczne z użyciem komputera.
Sposób ocenyS-1Ocena formująca: Ocena zadań zrealizowanych w ramach laboratorium.
S-2Ocena formująca: Ocena zadań domowych
S-3Ocena podsumowująca: Całościowa ocena umiejętności praktycznych zdobytych podczas ćwiczeń laboratoryjnych.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0potrafi zintegrować i wykorzystać Github Copilot do automatycznego generowania kodu
3,5potrafi wszystko na ocenę 3,0 oraz potrafi zintegrować i wykorzystać narzędzie ChatGPT do automatycznego generowania kodu
4,0potrafi wszystko na ocenę 3,5 oraz potrafi zintegrować i wykorzystać narzędzie ChatSonic do automatycznego generowania kodu
4,5potrafi wszystko na ocenę 4,0 oraz potrafi zintegrować i wykrozystać narzędzie Google bard do automatycznego generowania kodu.
5,0potrafi wszystko na ocenę 4,5 oraz potrafi zintegrować i wykorzystać modele sztucznej inteligencji do automatycznego generowania oprogramowania.(codellama, llm-vscode)