- Nauczyciel: Artur Jeż
- Nauczyciel: Witold Karczewski
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: 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.
- Nauczyciel: Krystian Bacławski
- Nauczyciel: Robert Ferens
- Nauczyciel: Artur Kraska
- Nauczyciel: Marek Materzok
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: 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.
- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Robert Ferens
- Nauczyciel: Artur Kraska
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Jan Otop
- Nauczyciel: 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.
- Nauczyciel: Filip Chudy
- Nauczyciel: Robert Kraus
- Nauczyciel: Marek Piotrów
- Nauczyciel: Paweł Rzechonek
DC 2022
- Nauczyciel: Tomasz Jurdziński
Kurs na którym między innymi sprawdzimy, czy komputer umie odpowiadać na pytania w języku naturalnym.
- Nauczyciel: Filip Chudy
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Antoni Kościelski
- Nauczyciel: Jerzy Marcinkowski
- Nauczyciel: 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.
- Nauczyciel: 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.
- Nauczyciel: 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.
- Nauczyciel: Dariusz Biernacki
- Nauczyciel: Witold Charatonik
- Nauczyciel: Tomasz Drab
- Nauczyciel: Piotr Lisowski
- Nauczyciel: Marek Materzok
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: Mateusz Pyzik
- Nauczyciel: 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.
- Nauczyciel: Filip Chudy
- Nauczyciel: Rafał Nowak
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Mikołaj Słupiński
- Nauczyciel: Michał Stypułkowski
Mainly for submitting programming assignments for the course.
- Nauczyciel: 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.
- Nauczyciel: Filip Chudy
- Nauczyciel: Maksim Koltsov
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: 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.
- Nauczyciel: Leszek Grocholski
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: Wiktor Zychla
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Witold Karczewski
- Nauczyciel: Katarzyna Paluch
- Nauczyciel: 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.
- Nauczyciel: Krystian Bacławski
- Nauczyciel: Marek Materzok
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: 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.
- Nauczyciel: Paweł Woźny
- Nauczyciel: Jakub Kowalski
- Nauczyciel: Marek Szykuła
- Nauczyciel: Jakub Kowalski
- Nauczyciel: Radosław Miernik
- Nauczyciel: Marek Szykuła
- Nauczyciel: Dariusz Biernacki
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.
- Nauczyciel: Krystian Bacławski
- Nauczyciel: Karol Gugała
- Nauczyciel: Martyna Jakubek
- Nauczyciel: Piotr Witkowski
- Nauczyciel: Zdzisław Płoski
Przeglądowy kurs przedstawiający różne koncepcje związane ze sztuczną inteligencją
- Nauczyciel: Jakub Kowalski
- Nauczyciel: Jakub Michaliszyn
- Nauczyciel: Radosław Miernik
- Nauczyciel: Piotr Ostropolski-Nalewaja
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Przemysław Uznański
- Nauczyciel: Dariusz Biernacki
- Nauczyciel: Zdzisław Spławski