System komunikacji na odległość ze studentami IIUWr
Course categories
Skip available courses
Available courses
- Teacher: Tomasz Elsner
- Teacher: Miłosz Krupski
- Teacher: Alexander Zakharov
- Teacher: Michał Krawiec
- Teacher: Tomasz Rolski
- Teacher: Paweł Lorek
- Teacher: Michał Marcinkowski
- Teacher: Miłosz Krupski
- Teacher: Andrzej Raczyński
- Teacher: Miłosz Krupski
- Teacher: Robert Stańczy
- Teacher: Anna Wysoczańska-Kula
- Teacher: Andrzej Raczyński
- Teacher: Tomasz Elsner
- Teacher: Jan Kraszewski
- Teacher: Krzysztof Krawczyk
- Teacher: Małgorzata Romanowska-Majsnerowska
- Teacher: Alexander Zakharov
- Teacher: Jakub Gismatullin
- Teacher: Michał Krawiec
- Teacher: Alexander Zakharov
- Teacher: Krzysztof Krawczyk
- Teacher: Andrzej Raczyński
- Teacher: Robert Stańczy
- Teacher: Maciej Tadej
- Teacher: Andrzej Raczyński

- Redaktor strony: Andrzej Raczyński
- Redaktor strony: Tomasz Wierzbicki

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

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

- Teacher: Artur Jeż

Opis przedmiotu. Zajęcia odbywają się we wtorki w godzinach 16:15–20:00 w sali 140. Ostatnia migracja danych z Systemu Zapisy: 12/10/2023.
- Teacher: 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 w języku Java oraz zapoznanie z podstawowymi technologiami Javy.
- Teacher: Karol Pokorski
- Teacher: Paweł Rzechonek
- Teacher: Marek Szykuła

- Teacher: Andrzej Łukaszewski
- Teacher: Łukasz Piwowar

- Teacher: Marek Adamczyk
- Teacher: Klaudia Balcer
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Marcin Młotkowski
- Teacher: Mikołaj Słupiński

- Teacher: Łukasz Piwowar

- Teacher: Andrzej Łukaszewski

- Teacher: Paweł Rzechonek

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.
- Teacher: Marek Materzok

- Teacher: Jerzy Marcinkowski
- Teacher: Jakub Michaliszyn

- Teacher: Bartosz Bednarczyk
- Teacher: Witold Charatonik

- Teacher: Katarzyna Paluch
- Teacher: Mateusz Wasylkiewicz

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

- Teacher: Małgorzata Biernacka
- Teacher: Wojciech Leśniewski
- Teacher: Jakub Michaliszyn
- Teacher: Jan Otop
- Teacher: Marcin Preisner
- Teacher: Piotr Wieczorek
- Teacher: Paweł Woźny

- Teacher: Mateusz Basiak
- Teacher: Bartłomiej Dudek
- Teacher: Paweł Garncarek
- Teacher: Jakub Michaliszyn
- Teacher: Filip Zagórski

- Teacher: Andrzej Łukaszewski

- Teacher: Piotr Lisowski
- Teacher: Maciej Piróg
- Teacher: Piotr Polesiuk

- Teacher: Marek Materzok

- Teacher: Krzysztof Dębicki
- Teacher: Aleksander Łukasiewicz

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

- Teacher: Paweł Rychlikowski

- Teacher: Kamil Matuszewski

- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
- Teacher: Piotr Witkowski

- Teacher: Piotr Polesiuk

- Teacher: Marek Materzok
- Teacher: Tomasz Wierzbicki

- Teacher: Maciej Piróg

- Teacher: Paweł Garncarek
- Teacher: Tomasz Jurdziński
- Teacher: Artur Kraska
- Teacher: Mateusz Wasylkiewicz
- Teacher: Filip Zagórski
- Teacher: Paweł Garncarek
- Teacher: Wojciech Janczewski
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Agnieszka Tatarczuk

- Teacher: Wojciech Janczewski
- Teacher: Kamil Matuszewski
- Teacher: Paweł Rychlikowski
- Teacher: Adam Gańczorz
- Teacher: Piotr Wieczorek
- Teacher: Wiktor Zychla

Opis przedmiotu. Zajęcia odbywają się we środy w godzinach 14:15–16:00 w sali 141. Ostatnia migracja danych z Systemu Zapisy: 12/10/2023.
- Teacher: Tomasz Wierzbicki
Advanced Distributed Algorithms, 2023

- Teacher: Artur Jeż
- Teacher: Emanuel Kieroński
- Teacher: Antoni Kościelski
- Teacher: Paweł Laskoś-Grabowski

Wykład oferuje intensywne wprowadzenie do budowy i zasad działania komputerów z punktu widzenia programisty. Po zaliczeniu przedmiotu studenci powinni rozumieć jaki wpływ ma architektura komputera na wydajność aplikacji, które przyjdzie im implementować w praktyce zawodowej.
- Teacher: Artur Kraska
- Teacher: Piotr Polesiuk
- Teacher: Piotr Witkowski
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Piotr Wieczorek
Digital Image Processing / Przetwarzanie Obrazów
- Teacher: Andrzej Łukaszewski
- Teacher: Daniel Górski
- Teacher: Jakub Kowalski

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 tak modnej ostatnio 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.
- Teacher: Paweł Woźny

Celem kursu jest rozwinięcie u uczestników praktycznych umiejętności zarządzania systemem Linux na komputerze osobistym lub serwerze. Zostaną przedstawione podstawowe informacje na temat budowy i sposobu działania systemów uniksopodobnych, a szczególnie różnych dystrybucji Linuksa. Zajęcia są adresowane do wszystkich studentów, którzy chcieliby sprawnie korzystać na co dzień z systemów linuksowych i którzy są zdania, że to użytkownik powinien mieć władzę na komputerem, a nie komputer nad użytkownikiem. Mimo że osiągnięcie tego celu wymaga sporego zaangażowania, wiedzy i praktycznych umiejętności, nie zakłada się wstępnego doświadczenia słuchaczy w zakresie administrowania Linuksem. Wystarczy wola odłączenia myszy i chęć pracy z terminalem tekstowym. Opis zajęć. Ostatnia synchronizacja z Systemem Zapisy: 2023-03-09 15:22:04
- Teacher: Tomasz Wierzbicki

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.
- Teacher: Andrzej Łukaszewski
- Teacher: Łukasz Piwowar
- Teacher: Paweł Rzechonek

Kurs programowania gier w silniku Unreal 5 pomoże Ci poznać nie tylko podstawy, ale również zaawansowane techniki pracy z jednym z najpotężniejszych silników do tworzenia gier na świecie.
- Teacher: Ł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.
- Teacher: Marek Materzok

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.
- Teacher: Marek Materzok
- Teacher: Vincent Michielini

Metody programowania to jeden z przedmiotów obowiązkowych. Jego zasadniczym celem jest przygotowanie studentów do używania języków programowania jako formalnych narzędzi komunikacji miedzy ludźmi, ze szczególnym uwzględnieniem technik, które mogą i powinny być stosowane do zapanowania nad złożonością dużych systemów.
- Teacher: Dariusz Biernacki
- Teacher: Marek Materzok
- Teacher: Piotr Polesiuk
- Teacher: Rafał Nowak
- Teacher: Paweł Rychlikowski
- Teacher: Mikołaj Słupiński
- Teacher: Michał Stypułkowski

- Teacher: Paweł Laskoś-Grabowski
- Teacher: Marcin Młotkowski
- Teacher: Zdzisław Płoski
Projekt zespołowy wdrażający dobre praktyki tworzenia oprogramowania z wykorzystaniem sieci neuronowych.
- Teacher: Rafał Nowak
- Teacher: Jakub Kowalski
- Teacher: Marek Szykuła
- Teacher: Marcin Młotkowski
- Teacher: Paweł Rzechonek
- Teacher: Wiktor Zychla

Świetnym sposobem na poznanie architektury systemu linuksowego jest własnoręczne zbudowanie go krok po kroku od zera. Pomaga w tym projekt Gerarda Beekmansa „Linux from scratch” rozpoczęty w 1999 i nadal aktywnie rozwijany. Uczestnicy zajęć otrzymaja do opracowania fragment systemu LFS, który powinni dobrze zrozumieć i przygotować w domu, a następnie przedstawić wszystkim uczestnikom zajęć podczas dwugodzinnej prezentacji tak, by mogli oni odtworzyć omówiony fragment we własnych instalacjach. Na koniec wszyscy powinni mieć gotowe, działające instalacje. Zajęcia są przeznaczone dla osób posiadających dobrą znajomość Linuksa. Opis zajęć. Ostatnia synchronizacja z Systemem Zapisy: 2023-03-09 15:21:48.
- Teacher: Tomasz Wierzbicki

- Teacher: Marcin Bieńkowski
- Teacher: Andrzej Łukaszewski
- Teacher: Tomasz Wierzbicki
- Teacher: Jakub Kowalski
- Teacher: Radosław Miernik
- Teacher: Paweł Rychlikowski
- Teacher: Filip Zagórski
23-08-04 zpl->P.T.Zainteresowan{e|i}:
Dwa pliki umieszczone na tej stronie: (zpl, prac. PO, lato23, A-M).zip i (zpl, prac. PO, lato23, N-Z).zip zawierają komplet zasobów powstałych w ramach pracowni z programowania obiektowego w semestrze letnim roku akademickiego 2022-2023, tj. programy studenckie oraz korespondencję obrazująca nadzór dydaktyczny nad dwiema pracowniami. Wszystkie dane zawarte w plikach podlegają stosownej ochronie autorskiej.
Zdzisław Płoski
- Teacher: Zdzisław Płoski
23-08-04 zpl->P.T. Zainteresowan{e|i}:
Dwa pliki umieszczone na tej stronie: (zpl, prac. PO, lato23, A-M).zip i (zpl, prac. PO, lato23, N-Z).zip zawierają komplet zasobów powstałych w ramach pracowni z programowania obiektowego w semestrze letnim roku akademickiego 2022-2023, tj. programy studenckie oraz korespondencję obrazująca nadzór dydaktyczny nad dwiema pracowniami. Wszystkie dane zawarte w plikach podlegają stosownej ochronie autorskiej.
Zdzisław Płoski, zpl
- Teacher: Zdzisław Płoski

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.
- Teacher: Filip Chudy
- Teacher: Witold Karczewski
- Teacher: Rafał Nowak
- Teacher: Paweł Woźny
- Teacher: Filip Chudy
- Teacher: Witold Karczewski
- Teacher: Rafał Nowak
- Teacher: Piotr Wieczorek
- Teacher: Artur Jeż
KCK vel HCI (also known as CHI) alias usability engineering, cp. UX or UXD (also UED) and so on.
- Teacher: Zdzisław Płoski
- Teacher: Witold Charatonik
- Teacher: Piotr Polesiuk

- Teacher: Andrzej Łukaszewski
- Teacher: Łukasz Piwowar

- Teacher: Dariusz Biernacki
- Teacher: Martin Bohm
- Teacher: Vincent Michielini
- Teacher: Marcin Młotkowski
- Teacher: Mateusz Pyzik

- Teacher: Łukasz Piwowar
- Teacher: Kamil Matuszewski
- Teacher: Radosław Miernik
- Teacher: Łukasz Piwowar
- Teacher: Piotr Wieczorek

- Teacher: Marek Materzok
Korespondencja i materiały pomocnicze zpl-a na ćwiczenia i pracownię z inżynierii oprogramowania (IO). Wydanie 3. IIUWr, rok akademicki 2022/23.
- Teacher: Zdzisław Płoski

- Teacher: Jerzy Marcinkowski
- Teacher: Jakub Michaliszyn

- Teacher: Bartosz Bednarczyk
- Teacher: Witold Charatonik
- Teacher: Artur Kraska
- Teacher: Mariusz Maślanka
- Teacher: Tomasz Wierzbicki

Najważniejsze informacje dla nowych studentów rozpoczynających naukę w roku akademickim 2022/23.
- Teacher: Małgorzata Biernacka
- Teacher: Wojciech Leśniewski
- Teacher: Jakub Michaliszyn
- Teacher: Jan Otop
- Teacher: Piotr Wieczorek
- Teacher: Paweł Woźny

- Teacher: Jakub Michaliszyn
- Teacher: Mateusz Pyzik
- Teacher: Marek Szykuła
- Teacher: Filip Zagórski

- Teacher: Andrzej Łukaszewski

- Teacher: Dariusz Biernacki
- Teacher: Piotr Lisowski
- Teacher: Vincent Michielini
- Teacher: Piotr Polesiuk
- Teacher: Paweł Rychlikowski
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ć.
- Teacher: Emanuel Kieroński

- Teacher: Krystian Bacławski
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
- Teacher: Piotr Witkowski

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.
- Teacher: Marek Materzok
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
Strona WdI 2022/23
- Teacher: Bartosz Bednarczyk
- Teacher: Adam Gańczorz
- Teacher: Artur Kraska
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Aleksander Łukasiewicz
- Teacher: Filip Zagórski

- Teacher: Paweł Laskoś-Grabowski
- Teacher: Andrzej Łukaszewski
- Teacher: Paweł Rzechonek
- Teacher: Marek Szykuła
- Teacher: Dariusz Biernacki
- Teacher: Filip Chudy
- Teacher: Robert Ferens
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Paweł Rychlikowski
- Teacher: Robert Ferens
- Teacher: Adam Gańczorz
- Teacher: Mateusz Pyzik
- Teacher: Piotr Wieczorek
- Teacher: Wiktor Zychla
- Teacher: Artur Jeż
- Teacher: Witold Karczewski
- Teacher: Emanuel Kieroński
- Teacher: Paweł Laskoś-Grabowski

Wykład oferuje intensywne wprowadzenie do budowy i zasad działania komputerów z punktu widzenia programisty. Po zaliczeniu przedmiotu studenci powinni rozumieć jaki wpływ ma architektura komputera na wydajność aplikacji, które przyjdzie im implementować w praktyce zawodowej.
- Teacher: Krystian Bacławski
- Teacher: Robert Ferens
- Teacher: Artur Kraska
- Teacher: Marek Materzok
- Teacher: Piotr Polesiuk
- Teacher: Piotr Witkowski

Celem wykładu jest omówienie zasad konstrukcji relacyjnych baz danych oraz opanowanie przez słuchaczy umiejętności profesjonalnej obsługi systemu baz danych od strony użytkownika.
- Teacher: Małgorzata Biernacka
- Teacher: Robert Ferens
- Teacher: Artur Kraska
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Jan Otop
- Teacher: Piotr Wieczorek
C++ to obiektowo zorientowany język programowania. Został on zaprojektowany przez Bjerna 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.
- Teacher: Filip Chudy
- Teacher: Robert Kraus
- Teacher: Marek Piotrów
- Teacher: Paweł Rzechonek
DC 2022
- Teacher: Tomasz Jurdziński
Kurs na którym między innymi sprawdzimy, czy komputer umie odpowiadać na pytania w języku naturalnym.
- Teacher: Filip Chudy
- Teacher: Paweł Rychlikowski

- Teacher: Antoni Kościelski
- Teacher: Jerzy Marcinkowski
- Teacher: Jan Otop
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.
- Teacher: Marek Materzok

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.
- Teacher: Marek Materzok

Przedmiot obowiązkowy na studiach informatycznych I stopnia, którego celem jest przygotowanie studentów do używania języków programowania jako formalnych narzędzi komunikacji między ludźmi, a także zapoznanie studentów z technikami, które mogą i powinny być stosowane do zapanowania nad złożonością intelektualną dużych systemów. W ramach przedmiotu rozważane są zarówno konkretne narzędzia, których projektanci języków programowania dostarczają programistom, jak i ogólne zasady konstrukcji języków programowania.
- Teacher: Dariusz Biernacki
- Teacher: Witold Charatonik
- Teacher: Tomasz Drab
- Teacher: Piotr Lisowski
- Teacher: Marek Materzok
- Teacher: Piotr Polesiuk
- Teacher: Mateusz Pyzik
- Teacher: Robert Kraus
Neural Networks can be applied to a wide spectrum of tasks, including image and video processing, creating game playing agents, financial data analysis, or even using a computer as a writer, painter or composer. We will try to address many such issues with the emphasis on natural language processing.
- Teacher: Filip Chudy
- Teacher: Rafał Nowak
- Teacher: Paweł Rychlikowski
- Teacher: Mikołaj Słupiński
- Teacher: Michał Stypułkowski
Mainly for submitting programming assignments for the course.
- Teacher: Andrzej Łukaszewski

Celem zajęć jest poznanie jednego z najpowszechniej stosowanego paradygmatu programowania: programowania obiektowego. Program obejmuje zarówno przedstawienie podstawowych pojęć takich jak klasa, obiekt, dziedziczenie czy metody wirtualne, jak i praktykę wykorzystania tych elementów w budowaniu złożonych programów za pomocą wzorców projektowych.
Naukę programowania obiektowego będą wspierać języki obiektowe, zarówno te z tzw. statycznym typowaniem jak i dynamicznym.
- Teacher: Filip Chudy
- Teacher: Maksim Koltsov
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Marcin Młotkowski
Wykład skierowany jest do przyszłych architektó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.
- Teacher: Leszek Grocholski
- Teacher: Marcin Młotkowski
- Teacher: Wiktor Zychla
- Teacher: Witold Karczewski
- Teacher: Katarzyna Paluch
- Teacher: Mansooreh Shoghi

Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. We will learn advanced concepts of the different parts of modern computing system that are subject of the recent research in Industry and Academia. We will cover memory technologies, memory scheduling, caches, branch prediction, speculative execution, parallel computing systems, heterogeneous computing, interconnection networks, etc.
- Teacher: Krystian Bacławski
- Teacher: Marek Materzok
- Teacher: Piotr Polesiuk
- Teacher: Piotr Witkowski

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, w tym również jej zaimplementowanie oraz przetestowanie. Pomysłów na referaty można szukać m.in. przeglądając w miarę świeże podręczniki czy artykuły opublikowane w czasopismach związanych z tematyką seminarium.
- Teacher: Paweł Woźny
- Teacher: Jakub Kowalski
- Teacher: Marek Szykuła
- Teacher: Jakub Kowalski
- Teacher: Radosław Miernik
- Teacher: Marek Szykuła

- Teacher: Marcin Bieńkowski
- Teacher: Andrzej Łukaszewski
- Teacher: Tomasz Wierzbicki

Celem przedmiotu jest przekazanie uczestnikom praktycznej wiedzy związanej z budowaniem, implementacją, debugowaniem i testowaniem sterowników dla systemu Linux. Studenci zapoznają się z symulatorami sprzętu oraz interfejsami programistycznymi jądra Linux. Posiądą metody diagnozowania i naprawiania usterek kodu sterowników. Praktyczna wiedza zostanie uzupełniona szerokim wprowadzeniem teoretycznym do struktury jądra Linux.
- Teacher: Krystian Bacławski
- Teacher: Karol Gugała
- Teacher: Martyna Jakubek
Przeglądowy kurs przedstawiający różne koncepcje związane ze sztuczną inteligencją
- Teacher: Jakub Kowalski
- Teacher: Jakub Michaliszyn
- Teacher: Radosław Miernik
- Teacher: Piotr Ostropolski-Nalewaja
- Teacher: Paweł Rychlikowski
- Teacher: Przemysław Uznański
- Teacher: Marek Adamczyk
- Teacher: Artur Jeż

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.
- Teacher: Filip Chudy
- Teacher: Witold Karczewski
- Teacher: Rafał Nowak
- Teacher: Paweł Woźny
- Teacher: Filip Chudy
- Teacher: Witold Karczewski
- Teacher: Rafał Nowak

Celem wykładu jest przedstawienie studentom organizacji współczesnych maszyn obliczeniowych: procesorów wielordzeniowych, kart graficznych GPGPU, akceleratorów obliczeń (sieci neuronowe, przetwarzanie genomu); oraz środków przechowywania danych: pamięci DRAM i nieulotnej pamięci półprzewodnikowej.
- Teacher: Krystian Bacławski

- Teacher: Jakub Kowalski
- Teacher: Radosław Miernik
- Teacher: Marek Szykuła
The course is aimed at students that would like to survey the basics of the services offered by the three main cloud providers (AWS, GCP, Azure). Students are supposed to self-study the topics using the free teaching materials provided by Google (listed below) or some other publicly available tutorials. The labs (15h) offer an opportunity for the students to discuss any problems they have encountered during the self-study and also to demonstrate their progress and get the ECTS points.
- Teacher: Piotr Wieczorek

Przedmiot stanowi wprowadzenie do podstawowych zagadnień związanych z projektowaniem, semantyką i implementacją języków programowania, prezentowanych w systematyczny i rygorystyczny sposób przy użyciu wybranego formalizmu matematycznego.
- Teacher: Małgorzata Biernacka
- Teacher: Dariusz Biernacki
- Teacher: Paweł Rzechonek
- Teacher: Marek Szykuła

Kurs języka Rust 2021
- Teacher: Łukasz Piwowar

- Teacher: Dariusz Biernacki
- Teacher: Martin Bohm
- Teacher: Vincent Michielini
- Teacher: Marcin Młotkowski
- Teacher: Piotr Ostropolski-Nalewaja
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ę w połowie semestru w listopadzie.
Współczesne karty graficzne zawierają coraz większą moc obliczeniową w postaci wielu równoległych jednostek obliczeniowych i są wykorzystywane nie tylko do generowania grafiki. Biblioteka CUDA umożliwia programowanie kart graficznych przy pomocy rozszerzeń języka C. W ten sposób możemy wykonywać obliczenia często szybciej niż na CPU. Wymaga to jednak niskopoziomowego programowania w oparciu o bardziej skomplikowany model pamięci.
Głównym celem kursu jest nabycie umiejętności programowania równoległego w technologii CUDA zagadnień nie tylko związanych z grafiką komputerową. W tym celu konieczne jest poznanie architektury współczesnych kart graficznych i ograniczeń które wpływają na wybór algorytmu i sposób implementacji na karcie graficznej.
- Teacher: Andrzej Łukaszewski
Korespondencja i materiały pomocnicze zpl-a na ćwiczenia i pracownię z inżynierii oprogramowania (IO).
- Teacher: Zdzisław Płoski
- Teacher: Łukasz Jeż
- Teacher: Jakub Michaliszyn
- Teacher: Jan Otop

- Teacher: Bartosz Bednarczyk
- Teacher: Witold Charatonik
- Teacher: Agnieszka Hejna
- Teacher: Emanuel Kieroński
- Teacher: Antoni Kościelski
- Teacher: Marek Piotrów
- Teacher: Piotr Wieczorek
Informacja na temat kursu Metody Implementacji Algorytmów 2021/2022
- Teacher: Artur Kraska
- Teacher: Tomasz Wierzbicki