Otwarte oprogramowanie jest teraz wszędzie tam, gdzie komputery, więc dobra znajomość praktyk licencjonowania open source i zagadnień zgodności jest kluczowa. Ten kurs stworzyliśmy po to, aby nauczyć programistów i twórców oprogramowania, jak ważne jest dodawanie informacji o licencjach i prawach do kodu oraz jak to w praktyce robić. Dodatkowo kurs został poszerzony o praktyczne laboratorium pokazujące jak korzystać z narzędzia REUSE w swoim repozytorium kodu.
Podsumowanie informacji o kursie
- Poziom zaawansowania: Początkujący
- 6 godzin materiałów kursu
Dla kogo jest ten kurs
Ten kurs powstał dla programistów wykorzystujących otwarty kod.
Czego się nauczysz
Z tego kursu nauczysz się tworzyć oznaczenia zawierające informacje o uznaniu autorstwa i zapisach licencji. Pozwoli to unikać problemów i niejednoznaczności, co przydaje się zarówno w wewnętrznych projektach firmowych, jak i w projektach otwartego oprogramowania. Przedstawia również przegląd wartych rozważenia typów licencji oraz zezwoleń, jakie należy uzyskać przed udostępnieniem kodu na zewnątrz.
Do czego przygotowuje kurs
Kurs przygotuje cię do prawidłowego dodawania do własnego kodu informacji o prawach autorskich i licencji.
Zarys kursu
- Wstęp do kursu
- Licencje
- Prawa autorskie i narzędzie REUSE
- Oznakowanie w plikach
- Udział w projektach
- Test końcowy
Wymagania wstępne
Do wzięcia udziału w tym kursie nie jest wymagane wcześniejsze szkolenie ani doświadczenie.
- Nauczyciel: Andrzej Wójtowicz
Cele kursu
Kurs składa się z kilkunastu tematów zawierających klasyczne zagadnienia związane z szeroko rozumianym przetwarzaniem obrazów (ang. image processing). Zostaną na nim zatem przedstawione wszystkie istotne algorytmy dostępne w programach typu Adobe Photoshop lub GIMP. Niemniej prawie połowa materiału dotyczyć będzie różnych aspektów wykrywania cech w obrazach - zarówno statycznych, jak i pochodzących z kamer wideo. Przedstawiony materiał zawiera zarówno aspekty teoretyczne jak i implementacyjne. Kurs "Przetwarzanie obrazów" jest polecany dla osób, które zamierzają podjąć kursy z zakresu widzenia komputerowego (ang. computer vision).
Uwaga: materiały do kursu są dostępne tylko dla studentów i pracowników Wydziału Matematyki i Informatyki.
Zarys kursu
- Przygotowanie oprogramowania
- Podstawowe operacje punktowe
- Histogram
- Splot, rozmywanie
- Binaryzacja
- Odszumianie
- Morfologia matematyczna
- Wykrywanie krawędzi – podstawy
- Tekstury proceduralne
- Wykrywanie krawędzi – Canny
- Wykrywanie linii transformatą Hougha
- Wykrywanie narożników algorytmem Harrisa
- Wykrywanie prostokątów transformatą Hougha
- Segmentacja wododziałowa
Wymagania wstępne w zakresie wiedzy, umiejętności oraz kompetencji społecznych
Podstawy analizy matematycznej i algebry liniowej oraz umiejętność programowania w jednym z następujących języków: C++, C#, Java lub Python (preferowany jest C++).
Szacowany nakład pracy
Pełna realizacja kursu zajmuje ok. 210 h zegarowych / 15 h zegarowych na tydzień.
- Nauczyciel: Wojciech Kowalewski
- Nauczyciel: Andrzej Wójtowicz
Celem kursu jest wprowadzenie do tematyki programowania. Szczególny nacisk położono na wykorzystanie Pythona do rozwiązywania podstawowych problemów związanych z danymi, które mogą pojawić się w codziennej pracy.
Podsumowanie kursu
- Poziom doświadczenia: początkujący
- 90 godzin materiału
Dla kogo jest ten kurs?
Kurs jest przeznaczony dla:
- osób, które nigdy wcześniej nie programowały,
- nauczycieli, którzy mają zajęcia ze wstępu do programowania dla osób nie-informatycznych (kurs zawiera materiały na licencji Creative Commons, które można wykorzystać na swoich zajęciach).
Czego się nauczysz?
Podczas kursu nauczysz się:
- jak zainstalować Pythona oraz napiszesz swój pierwszy program,
- opisu podstaw języka programowania Python,
- jak używać zmiennych do przechowywania, pobierania i przeliczania danych,
- wykorzystywać podstawowe konstrukcje programistyczne, takie jak funkcje i pętle.
Zarys kursu
- Instalacja Pythona
- Po co nam programowanie?
- Zmienne, wyrażenia i instrukcje
- Wykonanie warunkowe
- Funkcje
- Pętle i iteracje
- Ciągi znaków
- Pliki
- Listy
- Słowniki
- Krotki
- Wyrażenia regularne
- Programy sieciowe
- Korzystanie z usług sieciowych
- Programowanie obiektowe
- Bazy danych i SQL
- Wizualizacja danych
Wymagania wstępne
Do uczestnictwa w tym kursie nie jest wymagane żadne wcześniejsze szkolenie ani wiedza.
- Nauczyciel: Andrzej Wójtowicz