- Nauczyciel: Marek Adamczyk
- Nauczyciel: 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.
- Nauczyciel: Filip Chudy
- Nauczyciel: Witold Karczewski
- Nauczyciel: Rafał Nowak
- Nauczyciel: Paweł Woźny
- Nauczyciel: Filip Chudy
- Nauczyciel: Witold Karczewski
- Nauczyciel: 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.
- Nauczyciel: Krystian Bacławski
- Nauczyciel: Jakub Kowalski
- Nauczyciel: Radosław Miernik
- Nauczyciel: 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.
- Nauczyciel: 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.
- Nauczyciel: Małgorzata Biernacka
- Nauczyciel: Dariusz Biernacki
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Marek Szykuła
Kurs języka Rust 2021
- Nauczyciel: Łukasz Piwowar
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Wiktor Zychla
- Nauczyciel: Dariusz Biernacki
- Nauczyciel: Martin Bohm
- Nauczyciel: Vincent Michielini
- Nauczyciel: Marcin Młotkowski
- Nauczyciel: 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.
- Nauczyciel: Andrzej Łukaszewski
Korespondencja i materiały pomocnicze zpl-a na ćwiczenia i pracownię z inżynierii oprogramowania (IO).
- Nauczyciel: Zdzisław Płoski
- Nauczyciel: Łukasz Jeż
- Nauczyciel: Jakub Michaliszyn
- Nauczyciel: Jan Otop
- Nauczyciel: Bartosz Bednarczyk
- Nauczyciel: Witold Charatonik
- Nauczyciel: Agnieszka Hejna
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: Antoni Kościelski
- Nauczyciel: Marek Piotrów
- Nauczyciel: Piotr Wieczorek
- Nauczyciel: Paweł Rychlikowski
Informacja na temat kursu Metody Implementacji Algorytmów 2021/2022
- Nauczyciel: Artur Kraska
- Nauczyciel: Rafał Nowak
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Tomasz Wierzbicki
Najważniejsze informacje dla nowych studentów rozpoczynających naukę w roku akademickim 2021/22.
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: Wojciech Leśniewski
- Nauczyciel: Jerzy Marcinkowski
- Nauczyciel: Jan Otop
- Nauczyciel: 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.
- Nauczyciel: Filip Chudy
- Nauczyciel: Paweł Garncarek
- Nauczyciel: 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).
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Dariusz Biernacki
- Nauczyciel: Maciej Buszka
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: 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.
- Nauczyciel: Marek Materzok
Wprowadzenie do programowania współbieżnego na architekturach wielordzeniowych.
- Nauczyciel: 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.
- Nauczyciel: Krystian Bacławski
- Nauczyciel: Rafał Cieślak
- Nauczyciel: Rafał Cieślak
- Nauczyciel: Paweł Florczuk
- Nauczyciel: 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.
- Nauczyciel: Krystian Bacławski
- Nauczyciel: Piotr Polesiuk
- Nauczyciel: 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.
- Nauczyciel: Marek Materzok
- Nauczyciel: Tomasz Wierzbicki
- Nauczyciel: Łukasz Piwowar
Kurs do przedmiotu Wstęp do Informatyki w roku 2021/2022
- Nauczyciel: Adam Gańczorz
- Nauczyciel: Tomasz Jurdziński
- Nauczyciel: Emanuel Kieroński
- Nauczyciel: Artur Kraska
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: 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++.
- Nauczyciel: Tomasz Drab
- Nauczyciel: Robert Ferens
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Marek Piotrów
- Nauczyciel: Łukasz Piwowar
- Nauczyciel: Mateusz Wasylkiewicz
Kurs przeznaczony dla studentów pierwszego roku uczący programowania, korzystając z języka Python
- Nauczyciel: Dariusz Biernacki
- Nauczyciel: Jakub Kowalski
- Nauczyciel: Paweł Laskoś-Grabowski
- Nauczyciel: Aleksander Łukasiewicz
- Nauczyciel: Paweł Rychlikowski
- Nauczyciel: Robert Ferens
- Nauczyciel: Adam Gańczorz
- Nauczyciel: Mateusz Pyzik
- Nauczyciel: Piotr Wieczorek
- Nauczyciel: 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.
- Nauczyciel: Andrzej Łukaszewski
- Nauczyciel: Paweł Rzechonek
- Nauczyciel: Marek Szykuła