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: Jakub Kowalski
- Teacher: Radosław Miernik
- Teacher: Marek Szykuła
- Teacher: Witold Charatonik
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
- Teacher: Maciej Piróg
- Teacher: Andrzej Łukaszewski
- Teacher: Łukasz Piwowar
- Teacher: Paweł Rajba
- Teacher: Marek Adamczyk
- Teacher: Marcin Młotkowski
- Teacher: Mikołaj Słupiński
- Teacher: Maria Szlasa
- 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
- Teacher: Bartosz Bednarczyk
- Teacher: Witold Charatonik
- Teacher: Jerzy Marcinkowski
- Teacher: Jakub Michaliszyn
- Teacher: Piotr Ostropolski-Nalewaja
- Teacher: Bartłomiej Dudek
- Teacher: Wojciech Janczewski
- Teacher: Artur Kraska
- Teacher: Marek Adamczyk
- Teacher: Paweł Rychlikowski
- Teacher: Piotr Wieczorek
- Teacher: Małgorzata Biernacka
- Teacher: Filip Chudy
- Teacher: Wojciech Leśniewski
- Teacher: Jan Otop
- Teacher: Marcin Preisner
- Teacher: Piotr Wieczorek
- Teacher: Paweł Woźny
- Teacher: Andrzej Łukaszewski
- Teacher: Patrycja Balik
- Teacher: Maciej Piróg
- Teacher: Piotr Polesiuk
- Teacher: Jakub Michaliszyn
- Teacher: Kamil Matuszewski
- Teacher: Patrycja Balik
- Teacher: Arkadiusz Kozdra
- Teacher: Piotr Polesiuk
- Teacher: Tomasz Wierzbicki
- Teacher: Piotr Witkowski
- Teacher: Marek Materzok
- Teacher: Kuba Nowak
- Teacher: Tomasz Wierzbicki
- Teacher: Artur Jeż
- Teacher: Tomasz Jurdziński
- Teacher: Artur Kraska
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Filip Zagórski
- Teacher: Wojciech Janczewski
- Teacher: Paweł Laskoś-Grabowski
- Teacher: Łukasz Piwowar
- Teacher: Agnieszka Tatarczuk
- Teacher: Łukasz Halada
- Teacher: Artur Kraska
- Teacher: Marcin Młotkowski
- Teacher: Paweł Rychlikowski
- Teacher: Paweł Garncarek
- Teacher: Paweł Rzechonek
- Teacher: Piotr Wieczorek
- Teacher: Wiktor Zychla
- 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 obiektowego w języku Java oraz zapoznanie z najważniejszymi pakietami z biblioteki standardowej i podstawowymi technologiami programistycznymi Javy.
- Teacher: Karol Pokorski
- Teacher: 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
- Teacher: 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).
- Teacher: Rafał Nowak