Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

AlgoJudge

Informacje ogólne

Kod przedmiotu: 1000-SR-AlgoJudge
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: AlgoJudge
Jednostka: Wydział Matematyki i Informatyki
Grupy:
Strona przedmiotu: https://moodle.mat.umk.pl/course/view.php?id=2889
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Wymagania wstępne:

Zalecana jest podstawowa znajomość języków programowania C#, JavaScript lub TypeScript, języka znaczników HTML i języka CSS.

Rodzaj przedmiotu:

przedmiot fakultatywny

Całkowity nakład pracy studenta:

60 godzin - laboratorium

60 godzin - praca własna - czytanie dokumentacji i literatury, praca nad własnymi fragmentami projektu

Efekty uczenia się - wiedza:

Po ukończeniu tego kursu studenci zdobędą wiedzę o technologiach używanych w nowoczesnych aplikacjach, wiedzę dotyczącą tworzenia i rozwijania projektów zespołowych oraz rozwijania i wykorzystywania otwartego oprogramowania. Zna podstawowe różnice licencji otwartego oprogramowania.

Efekty uczenia się - umiejętności:

Student kojarzy aktualnie stosowane technologie i ich zastosowanie. Umie korzystać z podstawowych narzędzi do pracy nad zespołowym projektem programistycznym. Zna podstawy pracy w zespole. Umie korzystać z otwartego oprogramowania.

Efekty uczenia się - kompetencje społeczne:

Student jest otwarty na proponowanie swoich rozwiązań problemu i dyskutuje na ich temat, pracuje w zespole.

Metody dydaktyczne:

Wykład i warsztat w pierwszym semestrze. Praca zespołowa w drugim semestrze.

Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład konwersatoryjny
- wykład problemowy

Metody dydaktyczne poszukujące:

- doświadczeń
- giełda pomysłów
- projektu
- studium przypadku

Skrócony opis:

Zajęcia mają na celu przedstawienie wiedzy o wytwarzaniu i rozwijaniu oprogramowania z wykorzystaniem technologii, które używane są w nowoczesnych aplikacjach. Celem zajęć jest też przedstawienie metodyk pracy w zespole, przedstawienie narzędzi i wprowadzenie do licencji otwartego oprogramowania. Zajęcia realizowane są w oparciu o problematykę przypadku projektu o początkowej fazie rozwoju: systemu do automatycznego sprawdzania rozwiązań zadań programistycznych AlgoJudge.

Pełny opis:

Kurs rozpocznie się od wprowadzenia studentów do problematyki systemu sprawdzającego automatycznie rozwiązania zadań programistycznych. Przedstawione zostaną podobne rozwiązania, ich zalety, wady i różnice.

Pierwsza część kursu w formie warsztatów wprowadzi studentów do pojęć i technologii używanych w nowoczesnych aplikacjach internetowych. Zostaną przedstawione również aktualne metodyki pracy w zespole.

Tematyka zajęć warsztatowych z przykładami problemów na przykładzie projektu AlgoJudge:

- Wprowadzenie do problemu systemu sprawdzającego automatycznie rozwiązania zadań programistycznych;

- Wprowadzenie do języka programowania C#, środowiska .NET 8.0 oraz narzędzi;

- Wprowadzenie do mapowania relacyjno-obiektowego;

- Wprowadzenie do języka programowania TypeScript, środowiska oraz narzędzi;

- Tworzenie aplikacji internetowych z użyciem bibliotek komponentów React;

- Uruchamianie oprogramowania w kontenerach Docker;

- System kontroli wersji kodu źródłowego Git;

- Metodyki pracy w zespole;

- Licencje otwartego oprogramowania;

- Wzorce projektowe oprogramowania;

- Testowanie oprogramowania.

W drugiej części kursu studenci będą pracować wspólnie nad zadaniami zgodnie z uzyskaną wiedzą z pierwszej części kursu. Praca w zespole nad wybranym projektem będzie się odbywać w tygodniowych Sprintach zgodnie z metodyką Scrum.

Tematyka zajęć praktycznych na przykładzie projektu o początkowej fazie rozwoju:

- Problemy koncepcyjne;

- Określenie wymagań systemu;

- Określenie funkcjonalności systemu i nadanie im priorytetów;

- Porównanie istniejących podobnych aplikacji, wykonanie analizy ich zalet i wad;

- Projektowanie interfejsów użytkownika;

- Przygotowywanie makiet ekranów aplikacji;

- Tworzenie nowego projektu;

- Wytworzenie bazy projektu;

- Opracowanie schematu bazy danych przy użyciu ORM;

- Przegląd dostępnych bibliotek programistycznych;

- Implementacja “proof of concept”.

Literatura:

Materiały własne

Metody i kryteria oceniania:

Zaliczenie na podstawie aktywności i wykonanych zadań na zajęciach lub testu wielokrotnego wyboru na Moodle.

Zajęcia w cyklu "Rok akademicki 2023/24" (zakończony)

Okres: 2023-10-01 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin, 16 miejsc więcej informacji
Koordynatorzy: Patryk Kisielewski
Prowadzący grup: Patryk Kisielewski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie
Laboratorium - Zaliczenie
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.2.0.0-5 (2025-09-22)