System komunikacji na odległość ze studentami IIUWr
Witamy w serwisie do zdalnej komunikacji wykładowców ze studentami Instytutu Informatyki Uniwersytetu Wrocławskiego.
Treść większości kursów jest dostępna wyłącznie dla studentów zapisanych na odpowiednie zajęcia prowadzone w Instytucie Informatyki. Nieliczne kursy, oznaczone symbolem
, są dostępne bez potrzeby logowania.
Informacje o serwerze: nowości i zmiany, dokumentacja, kontakt do admina.
Course categories
Skip available courses
Available courses
- 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
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
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

- Teacher: Martin Bohm
- 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
- 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
Najważniejsze informacje dla nowych studentów rozpoczynających naukę w roku akademickim 2021/22.

- Teacher: Emanuel Kieroński
- Teacher: Wojciech Leśniewski
- Teacher: Jerzy Marcinkowski
- Teacher: Jan Otop
- Teacher: Paweł Woźny
Celem przedmiotu jest przybliżenie studentom pierwszego roku podstawowych narzędzi do współtworzenia, kompilowania, uruchamiania, publikowania oraz dokumentowania swoich oraz cudzych programów.
- Teacher: Filip Chudy
- Teacher: Paweł Garncarek
- Teacher: Piotr Wieczorek
Wykład z podstaw grafiki komputerowej wprowadza podstawowe metody i niezbędną teoretyczną wiedzę umożliwiając efektywne programowanie grafiki z użyciem kart graficznych. W części praktycznej na pracowni uczymy się programować w nowoczesnej wersji OpenGL (wersja 3.3 lub nowsza).

- Teacher: Andrzej Łukaszewski

- Teacher: Dariusz Biernacki
- Teacher: Maciej Buszka
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Piotr Polesiuk
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.

- Teacher: Marek Materzok
Wprowadzenie do programowania współbieżnego na architekturach wielordzeniowych.

- Teacher: Piotr Witkowski
Celem projektu jest przygotowanie dema na komputer Amiga 500 pod szyldem grupy Ghostown. Produkcję chcielibyśmy wystawić na Revision – najbardziej prestiżowym i największym demoparty na świecie, odbywającym się co roku na przełomie marca i kwietnia.

- Teacher: Krystian Bacławski
- Teacher: Rafał Cieślak
- Teacher: Rafał Cieślak
- Teacher: Paweł Florczuk
- Teacher: Piotr Szymajda
Celem wykładu jest zapoznanie słuchaczy z wybranymi aspektami systemu uniksowego z punktu widzenia administratora i programisty. Na przykładzie wywołań systemowych i narzędzi systemu Linux zostaną przedstawione najważniejsze osiągnięcia w dziedzinie systemów operacyjnych.

- Teacher: Krystian Bacławski
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
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: Tomasz Wierzbicki
Kurs do przedmiotu Wstęp do Informatyki w roku 2021/2022
- Teacher: Adam Gańczorz
- Teacher: Tomasz Jurdziński
- Teacher: Emanuel Kieroński
- Teacher: Artur Kraska
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Marek Piotrów
Celem tego kursu jest nauczenie i rozwinięcie podstawowych umiejętności programowania w jednym z najbardziej rozpowszechnionych języków imperatywnych — języku C. Wykład jest ilustrowany wieloma przykładami, a towarzyszące mu zajęcia w pracowniach uczą (poprzez wiele drobnych zadań i końcowy projekt) praktyki dobrego programowania. W końcowej części wykładu wprowadzane są niektóre elementy języka C++.

- Teacher: Tomasz Drab
- Teacher: Robert Ferens
- Teacher: Andrzej Łukaszewski
- Teacher: Marek Piotrów
- Teacher: Łukasz Piwowar
- Teacher: Mateusz Wasylkiewicz
Kurs przeznaczony dla studentów pierwszego roku uczący programowania, korzystając z języka Python
- Teacher: Dariusz Biernacki
- Teacher: Jakub Kowalski
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Aleksander Łukasiewicz
- Teacher: Paweł Rychlikowski
- Teacher: Robert Ferens
- Teacher: Adam Gańczorz
- Teacher: Mateusz Pyzik
- Teacher: Piotr Wieczorek
- Teacher: Wiktor Zychla
C++17 to prawie najnowsza wersja języka C++. Język C++ sprawdza się, gdy chcemy zapewnić wysoką wydajność programu. Język ten jest stale rozwijany a kolejne jego specyfikacje, czyli C++11, C++14 i C++17, przyniosły wiele udogodnień. Aby w pełni wykorzystać potencjał języka C++ należy go używać wraz z biblioteką standardową STL. C++ wraz z STL to doskonałe narzędzie do implementowania oprogramowania wysokiej jakości.
- Teacher: Andrzej Łukaszewski
- Teacher: Paweł Rzechonek
- Teacher: Marek Szykuła
Advanced Distributed Algorithms, 2021
- Teacher: Tomasz Jurdziński
- Teacher: Jan Czajkowski
- Teacher: Artur Jeż
- Teacher: Witold Karczewski
- Teacher: Emanuel Kieroński
- Teacher: Paweł Laskoś-Grabowski
Algorithms with incomplete information
- Teacher: Małgorzata Biernacka
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: Emanuel Kieroński
- Teacher: Artur Kraska
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
- 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: Paweł Laskoś-Grabowski
- Teacher: Piotr Wieczorek
- Teacher: Marek Adamczyk
- Teacher: Jan Chorowski
- Teacher: Mikołaj Słupiński
- Teacher: Michał Stypułkowski

- Teacher: Małgorzata Biernacka
- Teacher: Dariusz Biernacki
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 wybranymi fragmentami biblioteki STL.
- Teacher: Fateme Abbasi
- Teacher: Adam Gańczorz
- Teacher: Paweł Garncarek
- Teacher: Robert Kraus
- Teacher: Andrzej Łukaszewski
- Teacher: Marek Piotrów
- Teacher: Paweł Rzechonek
- Teacher: Filip Sieczkowski

- Teacher: Dariusz Biernacki
- Teacher: Witold Charatonik
- Teacher: Tomasz Drab
- Teacher: Maksim Koltsov
- Teacher: Piotr Lisowski
- Teacher: Marek Materzok
- Teacher: Maciej Piróg
- Teacher: Piotr Polesiuk
- Teacher: Filip Sieczkowski
Intensywne wprowadzenie do języka C dla studentów znających podstawy programowania.

- Teacher: Łukasz Piwowar
- Teacher: Piotr Witkowski
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Jakub Michaliszyn

- Teacher: Robert Kraus
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Andrzej Łukaszewski
- Teacher: Marcin Młotkowski
- Teacher: Piotr Witkowski
Wykład przeznaczony jest dla słuchaczy zainteresowanych poznaniem technologii wytwarzania oprogramowania na platformie Windows. Wykład obejmuje następujące obszary:
- Język C#
- Biblioteka standardowa platformy .NET
- Programowanie Win32/COM
Materiał wspomagający został zebrany i przygotowany w formie podręcznika, który jest na bieżąco aktualizowany i rozwijany.
- Teacher: Paweł Rzechonek
- Teacher: 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.
Materiał wykładu obejmuje:
- język UML w zakresie wymaganym przez projekty analityczne i techniczne
- przegląd katalogu refaktoryzacji
- przegląd katalogu wzorców projektowych (GoF) (m.in. Observer, Builder, Bridge, State, Strategy, Facade, Adapter, Mediator, itd.)
- przegląd katalogu wzorców aplikacyjnych (m.in. Event Aggregator, Model-View-Controller, Model-View-Presenter, Object-Relational Mapping, Dependency Injection, Mock Object)
- przegląd katalogu wzorców architektonicznych (m.in. Single Sign-on, SOA, Enterprise Service Bus, Command-Query Responsibility Separation)
- Teacher: Marcin Młotkowski
- Teacher: Wiktor Zychla
- Teacher: Marek Adamczyk
- Teacher: Witold Karczewski
- Teacher: Antoni Kościelski
- Teacher: Aleksander Łukasiewicz
- Teacher: Katarzyna Paluch
- Teacher: Paweł Rzechonek
https://zapisy.ii.uni.wroc.pl/courses/sztuczna-inteligencja-202021-letni
- Teacher: Marek Adamczyk
- Teacher: Robert Ferens
- Teacher: Jakub Kowalski
- Teacher: Piotr Ostropolski-Nalewaja
- Teacher: Paweł Rychlikowski
- Teacher: Przemysław Uznański

- Teacher: Jan Czajkowski
- Teacher: Jakub Gismatullin
- Teacher: Artur Jeż
- Teacher: Antoni Kościelski
- Teacher: Maciej Paluszyński
- Teacher: Krzysztof Tabisz
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: Paweł Woźny

- Teacher: Jakub Kowalski
- Teacher: Radosław Miernik
Virtual course for first-year students of Data Science.
Inżynieria oprogramowania -- szkoła przyszłych szefów
- Teacher: Leszek Grocholski
Przedmiot stanowi wprowadzenie do fundamentalnych 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: Dariusz Biernacki
- Teacher: Maciej Piróg
- Teacher: Filip Sieczkowski
- Teacher: Grzegorz Stachowiak
- Teacher: Krystian Bacławski
- Teacher: Maciej Buszka
- Teacher: Witold Charatonik
- Teacher: Piotr Polesiuk
- Teacher: Łukasz Jeż
- Teacher: Paweł Rzechonek
- Teacher: Piotr Witkowski
- Teacher: Łukasz Jeż
- Teacher: Piotr Polesiuk
Kurs obecnie prowadzony zdalnie, opis i materiały do kursu na stronie https://e-edu.cko.uni.wroc.pl/user/index.php?id=3431 (dostępne po zalogowaniu)
- Teacher: Paweł Rajba
Półsemestralny kurs obejmuje naukę podstaw programowania równoległego kart graficznych w oparciu o bibliotekę CUDA firmy NVIDIA.
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. W tym roku ze względu na pracę zdalną najwygodniej mieć własną kartę firmy NVidia lub opcjonalnie korzystać przez VPN z komputerów w pracowni 7 (wtedy zdalnie niestety bez grafiki).
- Teacher: Andrzej Łukaszewski

- Teacher: Bartosz Bednarczyk
- Teacher: Witold Charatonik
- Teacher: Anna Karykowska
- Teacher: Emanuel Kieroński
- Teacher: Antoni Kościelski
- Teacher: Jakub Michaliszyn
- Teacher: Marek Piotrów
- Teacher: Filip Sieczkowski
- Teacher: Tomasz Wierzbicki

- Teacher: Jan Chorowski
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Michał Stypułkowski
- Teacher: Piotr Wieczorek
- Teacher: Bartłomiej Dudek
- Teacher: Łukasz Jeż
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Grzegorz Stachowiak

- Teacher: Tomasz Drab
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Piotr Lisowski
- Teacher: Jakub Michaliszyn
- Teacher: Marcin Młotkowski
- Teacher: Mateusz Pyzik
- Teacher: Piotr Wieczorek
- Teacher: Tomasz Wierzbicki
Wykład z podstaw grafiki komputerowej wprowadza podstawowe metody i niezbędną teoretyczną wiedzę umożliwiając efektywne programowanie grafiki z użyciem kart graficznych. W części praktycznej na pracowni uczymy się programować w nowoczesnej wersji OpenGL (wersja 3.3 lub nowsza).

- Teacher: Andrzej Łukaszewski
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.
- Teacher: Emanuel Kieroński
- Teacher: Małgorzata Biernacka
- Teacher: Maciej Buszka
- Teacher: Piotr Polesiuk
- Teacher: Filip Sieczkowski
- Teacher: Zdzisław Spławski
Projekt dyplomowy pod opieką LGR
- Teacher: Leszek Grocholski
- Teacher: Jakub Michaliszyn
- Teacher: Paweł Rychlikowski
Tematem seminarium jest przegląd wybranych zagadnień związanych z procedurami redukującymi λ-termy, od tych czysto syntaktycznych po normalizatory wyższego rzędu realizujące strategię normalizacji przez ewaluację w meta języku.

- Teacher: Dariusz Biernacki
Celem wykładu jest zapoznanie słuchaczy z wybranymi aspektami systemu uniksowego z punktu widzenia administratora i programisty. Na przykładzie wywołań systemowych i narzędzi systemu Linux zostaną przedstawione najważniejsze osiągnięcia w dziedzinie systemów operacyjnych.

- Teacher: Krystian Bacławski
- 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
- Teacher: Małgorzata Biernacka
- Teacher: Adam Gańczorz
- Teacher: Paweł Garncarek
- Teacher: Łukasz Jeż
- Teacher: Tomasz Jurdziński
- Teacher: Artur Kraska
- Teacher: Jan Marcinkowski
- Teacher: Marek Piotrów
Celem tego kursu jest nauczenie i rozwinięcie podstawowych umiejętności programowania w jednym z najbardziej rozpowszechnionych języków imperatywnych — języku C. Wykład jest ilustrowany wieloma przykładami, a towarzyszące mu zajęcia w pracowniach uczą (poprzez wiele drobnych zadań i końcowy projekt) praktyki dobrego programowania. W końcowej części wykładu wprowadzane są niektóre elementy języka C++.

- Teacher: Tomasz Drab
- Teacher: Robert Kraus
- Teacher: Marek Piotrów
- Teacher: Łukasz Piwowar
- Teacher: Marek Szykuła
- Teacher: Piotr Witkowski
- Teacher: Małgorzata Biernacka
- Teacher: Piotr Lisowski
- Teacher: Paweł Rychlikowski
- Teacher: Przemysław Uznański
Celem zajęć jest przedstawienie studentom praktyki projektowania obiektowego oprogramowania. Zajęcia w zwięzły sposób łączą podstawową wiedzę z zakresu baz danych i inżynierii oprogramowania w obszarze projektowania obiektowego w wybranych współczesnych realiach technologicznych.
- Teacher: Robert Ferens
- Teacher: Adam Gańczorz
- Teacher: Mateusz Pyzik
- Teacher: Piotr Wieczorek
- Teacher: Wiktor Zychla

- Teacher: Bartosz Bednarczyk
- Teacher: Piotr Ostropolski-Nalewaja
C++ to obiektowy język programowania z długą i bogatą historią. Stworzony przez Bjarne Stroustrupa w roku 1983, doczekał się pierwszego standardu ISO/IEC 14882:1998 w 1998 roku, znanego jako C++98. Następnie kilkukrotnie standard ten był aktualizowany: C++03, C++11 oraz C++14. Ostatnia, najnowsza wersja standardu ISO/IEC 14882:2017, nazwana C++17, opublikowana została w grudniu 2017 roku. Obecnie trwają prace nad kolejną wersją standardu, na razie roboczo nazywanego C++2a.
Język C++ jest jednym z najpopularniejszych obecnie języków programowania, przeznaczonych do tworzenia programów o charakterze systemowym, inżynierskim oraz do pisania gier komputerowych. Umożliwia pisanie przenośnych aplikacji zarówno pod Windowsa, Linuxa oraz inne systemy operacyjne. Język ten oferuje potężne możliwości - pozwala ukrywać skomplikowane rozwiązania pod prostymi interfejsami wysokiego poziomu i jednocześnie tworzyć kod działający na niskim poziomie, gdy wymagane są wysoka wydajność i niskie obciążenie.
Biblioteka standardowa języka C++ jest jego częścią i należy do standardu. Uzupełnia sam język logicznymi strukturami, czyniąc go łatwiejszym w używaniu. STL, czyli standardowa biblioteka szablonów, jest trzonem biblioteki standardowej. Powinna być pierwszą rzeczą jakiej trzeba się nauczyć zaraz po opanowaniu języka C++.
Kurs zaawansowanych technik w C++ i STL ma zapoznać studentów z najnowszymi elementami samego języka programowania jak również z całą biblioteką standardową.
- Teacher: Paweł Rzechonek
- Teacher: Marek Szykuła
Najważniejsze informacje dla nowych studentów rozpoczynających naukę w roku akademickim 2020/21.

- Teacher: Małgorzata Biernacka
- Teacher: Witold Charatonik
- Teacher: Joanna Jędrzejkowska
- Teacher: Wojciech Leśniewski
- Teacher: Jan Otop
- Teacher: Piotr Wieczorek
- Teacher: Artur Jeż
- Teacher: Tomasz Jurdziński
- Teacher: Witold Karczewski
- Teacher: Emanuel Kieroński
- Teacher: Jakub Kowalski
- Teacher: Przemysław Uznański
Wykład ma na celu zaznajomienie studentów z podstawowymi algorytmami i protokołami występującymi w obliczeniach rozproszonych. Rozważane są modele synchroniczne i asynchroniczne bez wspólnej pamięci. Główny model komunikacji, to wymiana komunikatów.
- Teacher: Marek Piotrów
Wykład jest intensywnym wprowadzeniem 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: Emanuel Kieroński
- Teacher: Artur Kraska
- Teacher: Piotr Polesiuk
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: Paweł Laskoś-Grabowski
- Teacher: Piotr Wieczorek

- Teacher: Jerzy Marcinkowski
- Teacher: Jan Otop
- Teacher: 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 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: Filip Chudy
- Teacher: Paweł Woźny

- Teacher: Michał Gańczorz
- Teacher: Robert Kraus
- Teacher: Marek Piotrów
- Teacher: Paweł Rzechonek
- Teacher: Przemysław Uznański

- Teacher: Maciej Piróg
- Teacher: Tomasz Wierzbicki
Kurs obecnie prowadzony zdalnie, opis i materiały do kursu na stronie https://e-edu.cko.uni.wroc.pl/course/view.php?id=689 (dostępne po zalogowaniu)
- Teacher: Paweł Rajba
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: Dariusz Biernacki
- Teacher: Witold Charatonik
- Teacher: Tomasz Drab
- Teacher: Piotr Lisowski
- Teacher: Marek Materzok
- Teacher: Piotr Ostropolski-Nalewaja
- Teacher: Maciej Piróg
- Teacher: Piotr Polesiuk
- Teacher: Mateusz Pyzik
- Teacher: Filip Sieczkowski
Intensywne wprowadzenie do języka C dla studentów znających podstawy programowania.
- Teacher: Adam Kunysz
- Teacher: Łukasz Piwowar
- Teacher: Piotr Witkowski
- Teacher: Witold Kwaśnicki
- Teacher: Jakub Wiśniewski

- Teacher: Bartłomiej Dudek
- Teacher: Paweł Gawrychowski
This is an advanced seminar devoted to bisimulation and coinduction, and their applications in the theory of programming languages and logic.

- Teacher: Dariusz Biernacki
Podczas zajęć przedstawiane są zarówno podstawowe zagadnienia programowania obiektowego, jak również prezentowane są techniki implementacji popularnych struktur danych w wybranych obiektowych językach programowania. Pracownia przypisana do zajęć daje zarówno możliwość praktycznego zgłębiania wykładanych zagadnień w powszechnie stosowanych językach takich jak C# czy Java, jak i samodzielnego przygotowania analizy i projektu wybranego zagadnienia.
- Teacher: Marcin Młotkowski
Wykład przeznaczony jest dla słuchaczy zainteresowanych poznaniem technologii wytwarzania oprogramowania na platformie Windows. Wykład obejmuje następujące obszary:
- Język C#
- Biblioteka standardowa platformy .NET
- Programowanie Win32/COM
Materiał wspomagający został zebrany i przygotowany w formie podręcznika, który jest na bieżąco aktualizowany i rozwijany.
- Teacher: Wiktor Zychla
- Teacher: Rafał Nowak
Kontynuacja kursu programowania gier w silniku Unity3D, tym razem jako projekt zespołowy.
Studenci tworzą 4-7 osobowe grupy które pracują nad własną grą. Przynajmniej jedna z gier jest pisana pod system wirtualnej rzeczywistości HTC VIVE.
- Teacher: Łukasz Piwowar
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.
Materiał wykładu obejmuje:
- język UML w zakresie wymaganym przez projekty analityczne i techniczne
- przegląd katalogu refaktoryzacji
- przegląd katalogu wzorców projektowych (GoF) (m.in. Observer, Builder, Bridge, State, Strategy, Facade, Adapter, Mediator, itd.)
- przegląd katalogu wzorców aplikacyjnych (m.in. Event Aggregator, Model-View-Controller, Model-View-Presenter, Object-Relational Mapping, Dependency Injection, Mock Object)
- przegląd katalogu wzorców architektonicznych (m.in. Single Sign-on, SOA, Enterprise Service Bus, Command-Query Responsibility Separation)
- Teacher: Marcin Młotkowski
- Teacher: Wiktor Zychla
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, jej zaimplementowanie i krytyczne przetestowanie.

- Teacher: Paweł Woźny
Wykład jest wstępem do szerokiej tematyki sieci komputerowych. Przedstawione będą na nim podstawowe zasady działania sieci komputerowych, ze szczególnym uwzględnieniem sieci opartych na protokole TCP/IP, oraz przegląd zastosowań sieciowych spotykanych w Internecie. Nacisk położony będzie na przedstawienie słuchaczowi mechanizmów, protokołów i algorytmicznych podstaw stojących za problemami komunikacji w sieciach, a także na praktyczne wykorzystanie elementów tej wiedzy.

- Teacher: Marcin Bieńkowski
- Teacher: Szymon Dudycz
- Teacher: Paweł Garncarek
- Teacher: Andrzej Łukaszewski
- Teacher: Tomasz Wierzbicki
Na wykładzie omawiane będą zagadnienia dotyczące organizacji jąder systemów operacyjnych z rodziny BSD (FreeBSD, NetBSD, DragonFlyBSD). Pojawią się referencje do jądra GNU/Linux, systemu czasu rzeczywistego FreeRTOS, mikrojąder z rodziny L4 i rozproszonych systemów operacyjnych (Plan9).

- Teacher: Krystian Bacławski
- Teacher: Krystian Bacławski
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
- Teacher: Piotr Witkowski
Niniejszy wykład ma na celu przedstawienie najistotniejszych wątków sztucznej inteligencji, czyli dziedziny, która próbuje modelować zachowanie inteligentne i tworzyć systemy, które to zachowanie przejawiają.
- Teacher: Jan Chorowski
- Teacher: Jakub Kowalski
- Teacher: Paweł Rychlikowski
- Teacher: Michał Gańczorz
- Teacher: Artur Jeż
- Teacher: Leszek Grocholski
- Teacher: Rafał Nowak
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: Paweł Woźny
Materiały pomocnicze do wykładu analizy numerycznej (M).
- Teacher: Rafał Nowak

- Teacher: Łukasz Jeż
- Teacher: Jan Otop