System komunikacji na odległość ze studentami IIUWr
Kategorie kursów
Pomiń dostępne kursy
Dostępne kursy
- Nauczyciel: Klaudia Dynak
- Nauczyciel: Mikołaj Słupiński
- Nauczyciel: Maria Szlasa
- Nauczyciel: Piotr Wnuk-Lipiński
- Nauczyciel: Artur Jeż
- Nauczyciel: Witold Karczewski
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Wojciech Janczewski
- Nauczyciel: Łukasz Jeż
- Nauczyciel: Artur Kraska
- Nauczyciel: Tomasz Jurdziński
- Nauczyciel: Artur Kraska
- Nauczyciel: Marek Materzok
- Nauczyciel: Piotr Witkowski
- Nauczyciel: Witold Charatonik
- Nauczyciel: Piotr Wieczorek

C++ to obiektowo zorientowany język programowania. Został on zaprojektowany przez Bjarne'a Stroustrupa z myślą o programowaniu systemowym oraz do zaawansowanych obliczeń inżynierskich. Świadome używanie C++ do rozwiązywania problemów algorytmicznych daje dużo satysfakcji doświadczonym programistom, zwłaszcza dlatego, że generowany przez kompilator kod jest bardzo efektywny.
Celem kursu jest zapoznanie studentów z bogatą składnią języka C++, różnorodnymi technikami stosowanymi w programowaniu w C++ oraz z obszernymi fragmentami biblioteki STL.
- Nauczyciel: Bartłomiej Królikowski
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Łukasz Piwowar
- Nauczyciel: Paweł Rzechonek

- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Dariusz Biernacki

- Nauczyciel: Grzegorz Stachowiak
- Nauczyciel: Tomasz Wierzbicki

Strona poprzedniej edycji przedmiotu. Opis w Systemie Zapisy. Ostatnia synchronizacja z systemem Zapisy: 23/02/2026 14:25.
- Nauczyciel: Tomasz Wierzbicki

Kurs ten stanowi praktyczne wprowadzenie do wszechstronnego i darmowego programu Blender, pokrywając kluczowe aspekty tworzenia grafiki 3D. Rozpoczynając od podstaw interfejsu, nawigacji i operacji na obiektach, uczestnicy przejdą krok po kroku przez proces modelowania na trójkątach, wykorzystanie modyfikatorów, przygotowanie modeli do teksturowania (UV mapping) oraz tworzenie realistycznych materiałów PBR przy użyciu systemu bloczków. Kurs obejmuje również techniki oświetlania scen, konfigurację ustawień renderowania w silnikach Eevee i Cycles, a także podstawy animacji obiektów. W dalszej części poruszone zostaną bardziej zaawansowane zagadnienia, takie jak wstęp do riggingu postaci, rzeźbienia cyfrowego, modelowania proceduralnego z Geometry Nodes, symulacji fizycznych (tkaniny, ciała sztywne), unikalne możliwości rysunku 2D w 3D dzięki Grease Pencil oraz postprodukcji obrazu w Compositorze
- Nauczyciel: Łukasz Piwowar

- Nauczyciel: Fateme Abbasi
- Nauczyciel: Kamil Matuszewski

Wykład jest wprowadzeniem do projektowania układów cyfrowych. Celem wykładu jest nauczenie zasad rządzących funkcjonowaniem elektroniki cyfrowej oraz typowych rozwiązań stosowanych przy projektowaniu układów. Wiedza zdobyta na wykładzie pomoże w zrozumieniu zasady działania mikroprocesorów i mikrokontrolerów oraz zasad rządzących programowalnymi układami logicznymi FPGA.
- Nauczyciel: Marek Materzok

Metody programowania to jeden z przedmiotów obowiązkowych. Jego zasadniczym celem jest objaśnienie zasad rządzących językami programowania oraz ich implementacjami: interpreterami i kompilatorami. Przedmiot ma charakter praktyczny: zagadnienia są prezentowane przy użyciu funkcyjnego języka programowania. Kładziony jest nacisk na używanie języków programowania jako formalnych narzędzi komunikacji między ludźmi.
- Nauczyciel: Marek Materzok
- Nauczyciel: Maciej Piróg
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Klaudia Dynak
- Nauczyciel: Rafał Nowak
- Nauczyciel: Mikołaj Słupiński
- Nauczyciel: Adrian Urbański

Celem wykładu jest przystępne przedstawienie pewnych algorytmów symbolicznych stosowanych w takich systemach algebry komputerowej jak Maple czy Mathematica. Swoją uwagę skupimy głównie na metodach związanych z tzw. sumowaniem symbolicznym i symbolicznym dowodzeniem tożsamości. Przekazana wiedza może być szczególnie przydatna osobom interesującym się m.in. algorytmiką, matematyką dyskretną czy kombinatoryką. Wszystko zacznie się od krótkiego kursu Maple'a, który będzie podstawowym narzędziem tego wykładu (patrz też strona PAS w SKOSie).
Pierwsze spotkanie: 3 marca, godz. 10.15, s. 105.
- Nauczyciel: Paweł Woźny

- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Maciej Piróg
- Nauczyciel: Filip Sieczkowski

Język C# i platforma .NET to kluczowe elementy ekosystemu platformy Windows - i nie tylko, z uwagi na multiplatformowość środowiska. Otwiera to rozliczne zastosowania, w tym programowanie aplikacji desktop, web, gamedev czy devops. W trakcie wykładu szczegółowo zapoznamy się z możliwościami języka i platformy. Zajęcia skierowane do wszystkich zainteresowanych poszerzeniem swojego warsztatu.
- Nauczyciel: Wiktor Zychla

Wykład skierowany jest do przyszłych architektów i projektantów systemów informatycznych oraz do wszystkich programistów zainteresowanych udoskonaleniem swojego warsztatu. Celem wykładu jest zapoznanie studentów z kanonem współczesnych narzędzi w zakresie projektowania obiektowego oprogramowania.
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Wiktor Zychla
- Nauczyciel: Artur Jeż
- Nauczyciel: Witold Karczewski
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Filip Zagórski

Niektórzy uważają, że każdy informatyk powinien zaimplementować ray tracer. W ramach przedmiotu na wykładzie przedstawiane są podstawy teoretyczne, a na pracowni realizujemy implementacje ray tracera od prostego klasycznego, aż do fizycznie poprawnego opartego o metody Monte Carlo.
- Nauczyciel: Andrzej Łukaszewski

Seminarium jest rozszerzeniem wykładu z analizy numerycznej. Jego celem jest zapoznanie uczestników z nowymi oraz z klasycznymi, ale nieomawianymi na wykładzie z analizy numerycznej, metodami i algorytmami numerycznymi rozwiązywania różnego rodzaju zadań matematyki obliczeniowej i grafiki komputerowej. Do zaliczenia zajęć konieczne będzie wygłoszenie referatu na temat ustalonej z prowadzącym seminarium metody numerycznej (patrz też strona SANG w SKOSie).
Pierwsze spotkanie: 25 lutego, godz. 10.15, s. 103.
- Nauczyciel: Paweł Woźny

- Nauczyciel: Marcin Bieńkowski
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Piotr Witkowski
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Filip Zagórski

- Nauczyciel: Małgorzata Biernacka

Algorytmy online podejmują nieodwracalne decyzje, nie znając przyszłości, na podstawie danych, które przychodzą sekwencyjnie.
Czy można mimo to generować rozwiązania, które są dobre w porównaniu z optymalnymi? BYĆ MOŻE.
- Nauczyciel: Marcin Bieńkowski

- Nauczyciel: Jakub Kowalski
- Nauczyciel: Marek Szykuła
- Nauczyciel: Piotr Wieczorek
- Nauczyciel: Filip Zagórski

- Nauczyciel: Dominik Boszko
- Nauczyciel: Jakub Michaliszyn

- Nauczyciel: Grzegorz Stachowiak

Zajęcia odbywają się w poniedziałki w godzinach 14:16–18:00 w sali 104. Opis zajęć w systemie Zapisy.
- Nauczyciel: Tomasz Wierzbicki

C++23 to najnowsza wersja języka C++. Język C++ prawdza się, gdy chcemy zapewnić wysoką wydajność programu. Doskonale nadaje się do zastosowań systemowych, inżynierskich i algorytmicznych. Język ten jest stale rozwijany a kolejne jego specyfikacje, czyli C++11, C++14, C++17, C++20 i C++23, przyniosły wiele zmian i udogodnień. W porównaniu z językiem C++98 (standard z roku 1998) przeszedł on tak dużą transformację, że można śmiało powiedzieć, że jest to nowy język programowania. Aby w pełni wykorzystać potencjał współczesnego języka C++ należy go używać wraz z biblioteką standardową STL. C++ i STL to doskonałe narzędzie do zaimplementowania oprogramowania bardzo wysokiej jakości.
- Nauczyciel: Paweł Rzechonek

Java to współczesny obiektowy język programowania stworzony przez Jamesa Goslinga z firmy Sun Microsystems. Od momentu powstania w połowie lat 90-tych XX wieku przeżył on dynamiczny rozwój a zainteresowanie nim nie maleje. Język Java przyciągnął do dziś wiele milionów programistów. Znajduje zastosowanie w każdej ważniejszej gałęzi przemysłu informatycznego i jest obecny w różnego rodzaju urządzeniach, komputerach i sieciach. Popularność Javy wynika przede wszystkim z przenośności programów i niezależności od konkretnej platwormy sprzętowej, a co za tym idzie, ma zastosowanie w Internecie oraz ogólnie w aplikacjach sieciowych. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, odśmiecanie pamięci) oraz z języka C++ (znaczna część składni i słów kluczowych).
- Nauczyciel: Paweł Rzechonek

- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Łukasz Piwowar

Półsemestralny kurs (15h wyklad + 15h pracowni) obejmuje naukę podstaw programowania równoległego kart graficznych w oparciu o bibliotekę CUDA firmy NVIDIA. Zajęcia będą w nietypowym półsemestralnym wymiarze i rozpoczną się 20 listopada.
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Wiktor Zychla

- Nauczyciel: Fateme Abbasi
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Piotr Ostropolski-Nalewaja

- Nauczyciel: Łukasz Piwowar

- Nauczyciel: Kuba Nowak
- Nauczyciel: Piotr Wieczorek
Przedmiot jest kontynuacją Logiki dla Informatyków przeznaczoną dla studentów zainteresowanych teorią informatyki. Celem jego jest rozszerzenie podstaw wiedzy z zakresu logiki matematycznej i dziedzin pokrewnych o narzędzia potrzebne do zaawansowanych studiów w obszarach związanych z logiką i weryfikacją czy teorią języków programowania, bez wchodzenia w tematykę ściśle badawczą. W tym celu będziemy koncentrować się na podstawowych zagadnieniach trzech aspektów logiki matematycznej: algebry uniwersalnej, teorii dowodu i podstawach semantyki logik, z naciskiem na perspektywę i użyteczność w informatyce
- Nauczyciel: Filip Sieczkowski
- Nauczyciel: Jerzy Marcinkowski
- Nauczyciel: Piotr Ostropolski-Nalewaja

- Nauczyciel: Bartosz Bednarczyk
- Nauczyciel: Witold Charatonik

- Nauczyciel: Bartosz Bednarczyk
- Nauczyciel: Jakub Michaliszyn

- Nauczyciel: Grzegorz Stachowiak

- Nauczyciel: Łukasz Jeż
- Nauczyciel: Katarzyna Paluch

Kurs przedmiotu Metody Implementacji Algorytmów w roku 2025/2026.
- Nauczyciel: Bartłomiej Dudek
- Nauczyciel: Artur Kraska
- Nauczyciel: Krzysztof Loryś
- Nauczyciel: Karol Pokorski

Kurs o modelach językowych. Do czego służą, jak są zbudowane i czy (już) śnią o elektrycznych owcach.
- Nauczyciel: Paweł Rychlikowski

- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Filip Chudy
- Nauczyciel: Joanna Jędrzejkowska
- Nauczyciel: Wojciech Leśniewski
- Nauczyciel: Jan Otop
- Nauczyciel: Marcin Preisner
- Nauczyciel: Piotr Wieczorek
- Nauczyciel: Paweł Woźny

- Nauczyciel: Mateusz Basiak
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Bartłomiej Królikowski
- Nauczyciel: Jakub Michaliszyn
- Nauczyciel: Piotr Ostropolski-Nalewaja

Na wykładzie wprowadzone jest teoria i podstawowe metody, które umożliwiają efektywne programowanie grafiki z użyciem kart graficznych. Wykład nie jest jednak kursem biblioteki OpenGL.
- Nauczyciel: Andrzej Łukaszewski

- Nauczyciel: Patrycja Balik
- Nauczyciel: Maciej Piróg
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Filip Sieczkowski

Wykład jest wprowadzeniem do projektowania układów cyfrowych przy użyciu języka opisu sprzętu Verilog oraz ich implementacji na układach FPGA. W ramach zajęć student nauczy się również metod testowania sprzętu oraz zapozna się z podstawami formalnej weryfikacji układów cyfrowych.
- Nauczyciel: Marek Materzok
- Nauczyciel: Piotr Witkowski

- Nauczyciel: Jakub Kowalski
- Nauczyciel: Dawid Skowronek
- Nauczyciel: Łukasz Jeż

- Nauczyciel: Jakub Kowalski
- Nauczyciel: Jarosław Byrka
- Nauczyciel: Rafał Nowak

- Nauczyciel: Kamil Matuszewski

- Nauczyciel: Patrycja Balik
- Nauczyciel: Arkadiusz Kozdra
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Piotr Witkowski

- Nauczyciel: Szymon Jędras
- Nauczyciel: Piotr Polesiuk

Wykład jest wprowadzeniem do programowania systemów wbudowanych. W ramach wykładu student zapozna się z architekturą popularnych mikrokontrolerów, nauczy się wykorzystywać ich peryferia do sterowania różnorodnymi urządzeniami zewnętrznymi, a także pozna popularne magistrale używane w systemach wbudowanych.
- Nauczyciel: Marek Materzok
- Nauczyciel: Tomasz Wierzbicki

- Nauczyciel: Jan Otop
- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Klaudia Dynak
- Nauczyciel: Łukasz Halada
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Mikołaj Słupiński
- Nauczyciel: Piotr Wnuk-Lipiński

- Nauczyciel: Mateusz Biłyk
- Nauczyciel: Maria Szlasa
Wstęp do informatyki 2025/26
- Nauczyciel: Tomasz Jurdziński
- Nauczyciel: Artur Kraska
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Piotr Ostropolski-Nalewaja
- Nauczyciel: Artur Kraska
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Agnieszka Tatarczuk

Wstępny kurs programowania na przykładzie języka Python.
- Nauczyciel: Bartosz Bednarczyk
- Nauczyciel: Mateusz Biłyk
- Nauczyciel: Łukasz Halada
- Nauczyciel: Kamil Matuszewski
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Wiktor Zychla
Na seminarium czytać będziemy prace dotyczące rozstrzygalności i złożoności problemów spełnialności (czy dana formuła ma model), skończonej spełnialności (czy dana formuła ma model skończony) oraz związanych z nimi problemów odpowiadania na zapytania do baz danych/baz wiedzy (dla danej bazy D, teorii logicznej T i zapytania q, czy prawdą jest, że każdy model/skończony model D i T spełnia q?)
Interesować nas będą fragmenty logiki pierwszego rzędu (two-variable fragment, guarded fragment, unary negation fragment, guarded negation fragment, …) oraz logiki deskrypcyjne.
Materiał będzie się częściowo pokrywał z materiałem przedmiotu Problemy Decyzyjne w Logice, ale będzie też sporo innych rzeczy i osoby, które ten przedmiot zaliczyły mogą śmiało zapisać się na seminarium.
Niewykluczone, że spotkamy się z pewnymi problemami otwartymi, które będzie można próbować rozwiązać.
- Nauczyciel: Emanuel Kieroński

Celem zajęć jest przedstawienie podstawowych metod i algorytmów rozwiązywania typowych zadań obliczeniowych. Omawiane zagadnienia mają wielorakie zastosowania m.in. w obliczeniach naukowych czy grafice komputerowej.

PWO++ to najlepszy język programowania (autor animacji wykorzystującej krzywe Béziera: Jan Lachowski).
- Nauczyciel: Filip Chudy
- Nauczyciel: Witold Karczewski
- Nauczyciel: Rafał Nowak
- Nauczyciel: Paweł Woźny
- Nauczyciel: Piotr Wnuk-Lipiński
- Nauczyciel: Wojciech Janczewski
- Nauczyciel: Artur Jeż
- Nauczyciel: Witold Karczewski
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: Artur Kraska
- Nauczyciel: Karol Pokorski
- Nauczyciel: Kuba Nowak
- Nauczyciel: Artur Kraska
- Nauczyciel: Marek Materzok
- Nauczyciel: Kuba Nowak
- Nauczyciel: Piotr Witkowski

- Nauczyciel: Piotr Wieczorek

- Nauczyciel: Andrzej Łukaszewski

- Nauczyciel: Bartłomiej Dudek
- Nauczyciel: Jerzy Marcinkowski
- Nauczyciel: Jan Otop

- Nauczyciel: Tomasz Jurdziński

- Nauczyciel: Grzegorz Stachowiak

Krzywe i powierzchnie to podstawowe obiekty grafiki komputerowej. To właśnie przy ich pomocy można modelować skomplikowane kształty i sceny, którym nadaje się później cechy realistyczne i wykorzystuje na przykład w animacji komputerowej.
Głównym celem wykładu jest przedstawienie podstawowych wiadomości na temat narzędzi pozwalających efektywnie reprezentować i modelować krzywe oraz powierzchnie różnego typu i wygładzać przy ich pomocy dane. Szczególny nacisk położony będzie na omówienie odpowiednich technik i algorytmów z tym związanych, które pozwolą uczestnikom zajęć przygotować własny edytor krzywych i powierzchni.
- Nauczyciel: Paweł Woźny
C++ to obiektowo zorientowany język programowania. Został on zaprojektowany przez Bjarne'a Stroustrupa z myślą o programowaniu systemowym oraz do zaawansowanych obliczeń inżynierskich. Świadome używanie C++ do rozwiązywania problemów algorytmicznych daje dużo satysfakcji doświadczonym programistom, zwłaszcza dlatego, że generowany przez kompilator kod jest bardzo efektywny.
Celem kursu jest zapoznanie studentów z bogatą składnią języka C++, różnorodnymi technikami stosowanymi w programowaniu w C++ oraz z wybranymi fragmentami biblioteki STL.
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Wojciech Janczewski
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Paweł Rzechonek

- Nauczyciel: Łukasz Piwowar

- Nauczyciel: Fateme Abbasi
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Kamil Matuszewski
- Nauczyciel: Radosław Miernik
- Nauczyciel: Łukasz Piwowar

Celem projektu jest praktyczna nauka architektur komputerów poprzez ich implementację w formie umożliwiającej syntezę na układy FPGA. Pierwszym krótkoterminowym celem projektu jest zaimplementowanie minimalnego rdzenia RISC-V (RV32I) w mikroarchitekturze out-of-order. Implementacja będzie miała w założeniu modularny charakter „generatora rdzeni”, umożliwiający dodawanie, rekonfigurację i wymianę elementów składowych rdzenia bez głębokich zmian w kodzie.
- Nauczyciel: Marek Materzok

- Nauczyciel: Bartosz Bednarczyk

- Nauczyciel: Marek Materzok

- Nauczyciel: Marek Materzok
- Nauczyciel: Maciej Piróg
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Rafał Nowak
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Mikołaj Słupiński
- Nauczyciel: Adrian Urbański

- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Wojciech Janczewski
- Nauczyciel: Bartłomiej Królikowski
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Wiktor Zychla
- Nauczyciel: Rafał Nowak
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Wiktor Zychla
- Nauczyciel: Artur Jeż
- Nauczyciel: Witold Karczewski
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Filip Zagórski

Seminarium poświęcone jest automatom skończonym, algorytmom uczenia maszynowego oraz ich zastosowaniom w różnych dziedzinach. Program obejmuje zagadnienia od podstaw teoretycznych po zaawansowane metody uczenia i wykorzystanie automatów w różnych dziedzinach, w tym w weryfikacji formalnej. Przygotowanie i prezentacja wybranego tematu umożliwiają rozwinięcie umiejętności analizy, pracy z literaturą naukową oraz komunikowania złożonych zagadnień.
Każdy uczestnik dostanie jeden temat do przygotowania i zaprezentowania reszcie grupy.
- Nauczyciel: Jakub Michaliszyn

- Nauczyciel: Dariusz Biernacki

- Nauczyciel: Marcin Bieńkowski
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Piotr Witkowski
- Nauczyciel: Filip Chudy
- Nauczyciel: Michał Marcinkowski
- Nauczyciel: Radosław Miernik
- Nauczyciel: Piotr Ostropolski-Nalewaja
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Filip Zagórski

- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Dariusz Biernacki

Java to współczesny obiektowy język programowania stworzony przez Jamesa Goslinga z firmy Sun Microsystems. Od momentu powstania w połowie lat 90-tych XX wieku przeżył on dynamiczny rozwój a zainteresowanie nim nie maleje. Język Java przyciągnął do dziś wiele milionów programistów. Znajduje zastosowanie w każdej ważniejszej gałęzi przemysłu informatycznego i jest obecny w różnego rodzaju urządzeniach, komputerach i sieciach. Popularność Javy wynika przede wszystkim z przenośności programów i niezależności od konkretnej platwormy sprzętowej, a co za tym idzie, ma zastosowanie w Internecie oraz ogólnie w aplikacjach sieciowych. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, odśmiecanie pamięci) oraz z języka C++ (znaczna część składni i słów kluczowych).
Zajęcia te to kontynuacja kursu Javy z poprzedniego semestru. Celem tych zajęć jest poznanie najpopularniejszych obecnie technologii używanych przez zawodowych programistów Javy.
- Nauczyciel: Paweł Rzechonek

- Nauczyciel: Paweł Rajba

Celem zajęć jest przedstawienie podstawowych metod i algorytmów rozwiązywania typowych zadań obliczeniowych. Omawiane zagadnienia mają wielorakie zastosowania m.in. w obliczeniach naukowych czy grafice komputerowej.

- Nauczyciel: Filip Chudy
- Nauczyciel: Witold Karczewski
- Nauczyciel: Rafał Nowak
- Nauczyciel: Paweł Woźny

- Nauczyciel: Jakub Kowalski
- Nauczyciel: Radosław Miernik
- Nauczyciel: Marek Szykuła

- Nauczyciel: Paweł Rzechonek

- Nauczyciel: Piotr Wieczorek
- Nauczyciel: Grzegorz Stachowiak

- Nauczyciel: Witold Charatonik
- Nauczyciel: Piotr Polesiuk

- Nauczyciel: Tomasz Wierzbicki

- Nauczyciel: Maciej Piróg

- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Łukasz Piwowar

- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Wiktor Zychla

- Nauczyciel: Paweł Rajba

- Nauczyciel: Marek Adamczyk
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Mikołaj Słupiński
- Nauczyciel: Maria Szlasa

- Nauczyciel: Łukasz Piwowar

Celem projektu jest praktyczna nauka architektur komputerów poprzez ich implementację w formie umożliwiającej syntezę na układy FPGA. Pierwszym krótkoterminowym celem projektu jest zaimplementowanie minimalnego rdzenia RISC-V (RV32I) w mikroarchitekturze out-of-order. Implementacja będzie miała w założeniu modularny charakter „generatora rdzeni”, umożliwiający dodawanie, rekonfigurację i wymianę elementów składowych rdzenia bez głębokich zmian w kodzie.
- Nauczyciel: Marek Materzok

- Nauczyciel: Bartosz Bednarczyk
- Nauczyciel: Witold Charatonik

- Nauczyciel: Jerzy Marcinkowski
- Nauczyciel: Jakub Michaliszyn
- Nauczyciel: Piotr Ostropolski-Nalewaja

- Nauczyciel: Katarzyna Paluch

- Nauczyciel: Grzegorz Stachowiak

- Nauczyciel: Bartłomiej Dudek
- Nauczyciel: Wojciech Janczewski
- Nauczyciel: Artur Kraska

- Nauczyciel: Marek Adamczyk
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Piotr Wieczorek

- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Filip Chudy
- Nauczyciel: Wojciech Leśniewski
- Nauczyciel: Jan Otop
- Nauczyciel: Marcin Preisner
- Nauczyciel: Piotr Wieczorek
- Nauczyciel: Paweł Woźny

- Nauczyciel: Andrzej Łukaszewski

- Nauczyciel: Patrycja Balik
- Nauczyciel: Maciej Piróg
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Piotr Witkowski

- Nauczyciel: Jakub Michaliszyn

- Nauczyciel: Jakub Kowalski
- Nauczyciel: Paweł Rychlikowski

- Nauczyciel: Kamil Matuszewski

- Nauczyciel: Patrycja Balik
- Nauczyciel: Arkadiusz Kozdra
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Piotr Witkowski

- Nauczyciel: Marek Materzok
- Nauczyciel: Kuba Nowak
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Artur Jeż

- Nauczyciel: Tomasz Jurdziński
- Nauczyciel: Artur Kraska
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Filip Zagórski
- Nauczyciel: Wojciech Janczewski
- Nauczyciel: Artur Kraska
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Łukasz Piwowar
- Nauczyciel: Agnieszka Tatarczuk

- Nauczyciel: Łukasz Halada
- Nauczyciel: Artur Kraska
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Paweł Garncarek
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Piotr Wieczorek
- Nauczyciel: Wiktor Zychla

- Nauczyciel: Tomasz Wierzbicki

Java to współczesny obiektowy język programowania stworzony przez Jamesa Goslinga z firmy Sun Microsystems. Od momentu powstania w połowie lat 90-tych XX wieku przeżył on dynamiczny rozwój a zainteresowanie nim nie maleje. Język Java przyciągnął do dziś wiele milionów programistów. Znajduje zastosowanie w każdej ważniejszej gałęzi przemysłu informatycznego i jest obecny w różnego rodzaju urządzeniach, komputerach i sieciach. Popularność Javy wynika przede wszystkim z przenośności programów i niezależności od konkretnej platwormy sprzętowej, a co za tym idzie, ma zastosowanie w Internecie oraz ogólnie w aplikacjach sieciowych. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, odśmiecanie pamięci) oraz z języka C++ (znaczna część składni i słów kluczowych).
Celem tych zajęć jest nauka programowania obiektowego w języku Java oraz zapoznanie z najważniejszymi pakietami z biblioteki standardowej i podstawowymi technologiami programistycznymi Javy.
- Nauczyciel: Karol Pokorski
- Nauczyciel: Paweł Rzechonek
Prace Churcha, Turing i Goedla z początków XX w. pokazały, że problem spełnialności (czy dana formuła ma model?) dla logiki pierwszego rzędu jest nierozstrzygalny. Wyniki te zapoczątkowały duży program badawczy, którego celem było ustalenie, które naturalne fragmenty logiki pierwszego rzędu są rozstrzygalne. Nieco później dodatkowym bodźcem dla tego programu stały się potencjalne zastosowania w informatyce (bazy danych, reprezentacja wiedzy, automatyczna weryfikacja programów i sprzętu, sztuczna inteligencja, itd.). Oczywiście, zwiększyły one też zainteresowanie badaczy dokładną złożonością obliczeniową problemu spełnialności w przypadku fragmentów rozstrzygalnych.
Na wykładzie przedstawię szereg wyników dotyczących rozstrzygalności/nierozstrzygalności i złożoności obliczeniowej logik motywowanych teorią informatyki.
W programie m.in.: logiki modalne, temporalne i deskrypcyjne, logiki z dwiema zmiennymi, fragmenty strzeżone, logika z unarną negacją. Wykład będzie oparty głównie na pracach opublikowanych w ciągu ostatnich dwudziestu kilku lat, choć opowiem oczywiście również o paru klasycznych wynikach, sięgając m.in. do prac Kurta Gödla.
Wymagania: Logika dla informatyków, Zalecane: Języki formalne i złożoność obliczeniowa
- Nauczyciel: Emanuel Kieroński
Course description:
This seminar will cover the latest research in generative AI, with a focus on generative models, such as variational autoencoders (VAEs), generative adversarial networks (GANs) and diffusion models (DDPM, or recent modifications LoRA, IP adapters, SORA, …).
The seminar will be based on recent papers and will cover a wide range of topics, including the theory of generative models, training and evaluation of GANs, and applications of generative models in computer vision, natural language processing, and other areas.
Each student will be required to present a paper, write a summary of the paper, and participate in discussions of the papers presented by other students.
Prerequisites:
Basic knowledge of machine learning and deep learning (e.g., completion of the Neural Networks course). Basic knowledge of probability theory and statistics (e.g., completion of the Probability and Statistics course). Basic knowledge of linear algebra (e.g., completion of the Linear Algebra course). The seminar will be held in English (or Polish if all participants prefer).
- Nauczyciel: Rafał Nowak

- Nauczyciel: Artur Jeż
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Mateusz Wasylkiewicz

- Nauczyciel: Artur Kraska
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Piotr Witkowski
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Piotr Wieczorek

- Nauczyciel: Bartłomiej Dudek
- Nauczyciel: Jerzy Marcinkowski
- Nauczyciel: Jan Otop

- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Daniel Górski
- Nauczyciel: Jakub Kowalski
- Nauczyciel: Grzegorz Stachowiak
Celem kursu jest zapoznanie studentów z bogatą składnią języka C++, różnorodnymi technikami stosowanymi w programowaniu w C++ oraz z obszernymi fragmentami biblioteki STL.
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Łukasz Piwowar
- Nauczyciel: Paweł Rzechonek

- Nauczyciel: Łukasz Piwowar

- Nauczyciel: Kamil Matuszewski
- Nauczyciel: Radosław Miernik
- Nauczyciel: Łukasz Piwowar

- Nauczyciel: Marek Materzok

- Nauczyciel: Marek Materzok
- Nauczyciel: Maciej Piróg
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Rafał Nowak
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Michał Stypułkowski























