Wybrane technologie webowe
1000-I1WTWeb
Przedmiot koncentruje się na wykorzystaniu nowoczesnych metod sztucznej inteligencji w całym cyklu wytwarzania oprogramowania: od zrozumienia problemu biznesowego, przez projektowanie i implementację rozwiązania, po jego optymalizację i wdrożenie na środowisko produkcyjne.
Zajęcia prowadzą studentów od fundamentów uczenia maszynowego aż po współczesne duże modele językowe (LLM). Pozwala to zrozumieć nie tylko, jak korzystać z gotowych narzędzi, ale również na jakich zasadach działają i jakie mają ograniczenia.
Ponieważ dziedzina sztucznej inteligencji rozwija się bardzo dynamicznie, tematyka zajęć jest elastyczna i dostosowywana do aktualnych trendów. Plan zajęć może w związku z tym ulegać zmianom w trakcie semestru.
Cele przedmiotu
- Zbudowanie solidnych podstaw z zakresu uczenia maszynowego oraz -zrozumienie działania współczesnych modeli językowych.
- Rozwinięcie umiejętności przekładania problemów biznesowych na rozwiązania wykorzystujące sztuczną inteligencję.
- Nauka praktycznego stosowania narzędzi AI w procesie tworzenia, optymalizacji i dostarczania oprogramowania.
- Zdobycie doświadczenia w pracy zarówno z rozwiązaniami chmurowymi, jak i z modelami oraz narzędziami uruchamianymi lokalnie.
Zakres tematyczny (orientacyjny)
- Podstawy uczenia maszynowego: dane, modele, trening, ewaluacja.
- Sieci neuronowe i głębokie uczenie.
- Architektura i działanie dużych modeli językowych (LLM).
- Praca z LLM w praktyce: prompt engineering, RAG, agenci AI, integracja przez API.
- Narzędzia AI wspierające programistę w tworzeniu oprogramowania.
- Usługi chmurowe AI a modele lokalne: porównanie, koszty, bezpieczeństwo danych.
- Optymalizacja rozwiązań oraz wdrażanie modeli i aplikacji AI na produkcję (MLOps / LLMOps).
Forma zaliczenia
Zaliczenie przedmiotu odbywa się na podstawie projektu. Projekt powinien odzwierciedlać rzeczywisty problem biznesowy i przedstawiać jego rozwiązanie z wykorzystaniem nowoczesnych metod sztucznej inteligencji.
Dobór stosu technologicznego jest dowolny i powinien wynikać ze specyfiki realizowanego projektu.
Całkowity nakład pracy studenta
● 30 godz. - ćwiczenia
● 15 godz. - przygotowanie się do zajęć, studiowanie dokumentacji / literatury
● 60 godz. - przygotowanie projektu zaliczeniowego
---
● Razem: 105 godz. (3 pkt ECTS)
Efekty uczenia się - wiedza
● K_W10 ma ogólną wiedzę na temat różnych paradygmatów programowania i języków programowania (imperatywny, obiektowy, funkcyjny, logiczny, skryptowy, maszyna wirtualna, podstawy translacji, deklaracje i typy, odśmiecanie, mechanizmy abstrakcji); szczegółowo zna metody projektowania i programowania obiektowego (kapsułkowanie i ukrywanie informacji, klasy i podklasy, dziedziczenie, polimorfizm, hierarchie klas) (X1A_W01, X1A_W03, X1A_W04, X1A_W05)
● K_W11 ma wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania
● K_W03 zna podstawowe konstrukcje programistyczne (przypisanie, instrukcje sterujące, wywoływanie podprogramów i przekazywanie parametrów) oraz pojęcia składni i semantyki języka programowania (PHP ASP.NET JAVAEE JAVASCRIPT NODJS I JQUERY)
● K_W02 - ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, technologii sieciowych, grafiki i komunikacji człowiek-komputer,
● K_W12 - ma uporządkowaną wiedzę w zakresie bezpieczeństwa i budowy aplikacji sieciowych, model klient-serwer,
● K_W13 - ma podstawową wiedzę dotyczącą prawnych i społecznych aspektów informatyki (w zakresie stron internetowych, uwzględniając aspekty ochrony danych osobowych)
Efekty uczenia się - umiejętności
● K_U03 potrafi pracować indywidualnie, potrafi zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów
● K_U22 projektuje oprogramowanie zgodnie z metodyką obiektową
● K_U14 posiada umiejętność tworzenia prostych, bezpiecznych aplikacji internetowych z wykorzystaniem baz danych
● K_U15 potrafi zaprojektować wygodny interfejs użytkownika ze szczególnym uwzględnieniem aplikacji internetowych
● K_U26 tworzy, ocenia i realizuje plan testowania oprogramowania K_U22 projektuje oprogramowanie zgodnie z metodyką obiektową (MVC)
● K_U01 - potrafi zastosować wiedzę matematyczną do formułowania, analizowania i rozwiązywania prostych zadań związanych z informatyką
● K_U02 - potrafi pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie
● K_U13 - potrafi dbać o bezpieczeństwo danych, w tym o ich bezpieczne przesyłanie; posługuje się narzędziami kompresji i szyfrowania danych
Efekty uczenia się - kompetencje społeczne
● K_K02 Kreatywność: Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań
● K_K04 Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny
● K_K06 Jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych
Koordynatorzy przedmiotu
Wymagania wstępne
● podstawowa wiedza dot. sztucznej inteligencji
● podstawowa znajomość programowania obiektowego i strukturalnego
● podstawowa znajomość języka zapytań SQL
● podstawowa znajomość wzorców
projektowych
Kryteria oceniania
Zaliczenie ćwiczeń odbywa się na podstawie zrealizowania projektu
Praktyki zawodowe
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: