Tworzenie nowoczesnych aplikacji internetowych w praktyce
Informacje ogólne
Kod przedmiotu: | 1000-I1TNAI |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Tworzenie nowoczesnych aplikacji internetowych w praktyce |
Jednostka: | Wydział Matematyki i Informatyki |
Grupy: | |
Punkty ECTS i inne: |
(brak)
|
Język prowadzenia: | polski |
Wymagania wstępne: | Programowanie III Java Podstawy programowania obiektowego Programowanie II C++ |
Całkowity nakład pracy studenta: | Zajęcia: 30h Przygotowywanie zadań własnych: 90h Studiowanie literatury: 30h RAZEM: 150h Punkty ECTS: 6 |
Efekty uczenia się - wiedza: | - Znajomość narzędzi programistycznych i komunikacyjnych / Slack - Znajomość systemów zarządzania treścią: Git - Znajomość CRUD - Znajomość Cloud - Znajomość HTTP/CSS/JS/REST - Znajomość MVC/ SpringMVC |
Efekty uczenia się - umiejętności: | Umiejętność korzystania z nowoczesnych narzędzi programistycznych i nowoczesnych frameworków programistycznych Umiejętność czytania dokumentacji nowoczesnych narzędzi i praca z repoozytoriami Korzystanie z gotowych frameworków oraz aspekty ich integracji i kooperacji |
Efekty uczenia się - kompetencje społeczne: | Umiejętność samokształcenia i samodoskonalenia umiejętności i wiedzy dotyczącej nowoczesnych technologii |
Metody dydaktyczne: | Metody dydaktyczne: -Warsztaty -Praca własna Metody dydaktyczne eksponujące : -Pokaz programowania Metody dydaktyczne podające: -Pokaz programowania Metody dydaktyczne poszukujące: -Projekty własne. -Studium przypadku |
Metody dydaktyczne eksponujące: | - pokaz |
Metody dydaktyczne podające: | - opis |
Metody dydaktyczne poszukujące: | - laboratoryjna |
Metody dydaktyczne w kształceniu online: | - metody rozwijające refleksyjne myślenie |
Skrócony opis: |
Celem przedmiotu jest poznanie współczesnych narzędzi programistycznych i pomocniczych wykorzystywanych do tworzenia aplikacji webowych z podziałem na częście backend/frontend, w szczególności mikroserwisów, opartych o język programowania Java. Przedmiot skupia się na komplementarnym podejściu do procesu wytwarzania oprogramowania, z uwzględnieniem wszystkich narzędzi niezbędnych do efektywnego poruszania się programisty w środowisku zaawansowanych zespołów programistycznych. |
Pełny opis: |
Poruszane na zajęciach tematy to między innymi Slack - zaawansowana praca z narzędziami komunikacyjne dla programistów i zespołów Git i github - zaawansowana praca z narzędziami kontroli wersji CRUD - create, read, update and delete (pol. utwórz, odczytaj, aktualizuj i usuń) - cztery podstawowe funkcje w aplikacjach korzystających z pamięci trwałej, które umożliwiają zarządzanie nią. CLOUD - tworzenie aplikacji opartych o chmurę obliczeniową Heroku - zaawansowana praca z narzędziami Heroku (platforma chmurowa stworzona w modelu PaaS obsługująca kilka języków programowania), obsługującymi proces budowania i dystrybucji aplikacji HTTP - zaawansowana praca z komunikacją w sieci (protokół przesyłania dokumentów hipertekstowych to protokół sieci WWW) cURL - zaawansowana praca z bibliotekę obsługującą zapytania sieciowe REST - styl architektury oprogramowania opierający się o zbiór wcześniej określonych reguł opisujących jak definiowane są zasoby, a także umożliwiających dostęp do nich. Java -zaawansowana praca z językiem Java. Spring MVC - szkielet tworzenia aplikacji (ang. application framework) w języku Java dla platformy Java Platform, Enterprise Edition MVC - wzorzec architektoniczny służący do organizowania struktury aplikacji posiadających graficzne interfejsy użytkownika. Testy jednostkowe - metoda testowania tworzonego oprogramowania poprzez wykonywanie testów weryfikujących poprawność działania pojedynczych elementów (jednostek) programu – np. metod lub obiektów w programowaniu obiektowym lub procedur w programowaniu proceduralnym. Spock - zaawansowana praca z frameworkiem umożliwiającym testowanie oprogramowania HTML - frontend - narzędzia tworzenia responsywnego frontendu dla aplikacji sieciowej CSS - stykle kaskadowe - narzędzia tworzenia responsywnego frontendu dla aplikacji sieciowej JS - Frameworki Javascript - narzędzia tworzenia responsywnego frontendu dla aplikacji sieciowej Netlify - platforma wspomagająca tworzenie nowoczesnych aplikacji webowych. |
Literatura: |
Thinking in Java, Bruce Eckel, Prentice-Hall Inc. 1998. Java: podstawy, Cay S. Horstmann, Gary Cornell, Helion, 2008. Thinking in Java, Bruce Eckel, Helion 2003. Praktyczny kurs Java: opanuj jezyk programowania, który zmienił oblicze sieci, Marcin Lis, Helion 2007. Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools, 5th Edition Spring Microservices in Action Cloud Native Java. Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry. Josh Long, Kenny Bastani Spring 5 Recipes: A Problem-Solution Approach, Josh Long, Daniel Rubio, Marten Deinum A Step-by-Step Guide: GitBook on Netlify, Aaron Autrand, December 8, 2015, |
Metody i kryteria oceniania: |
Praca na zajęciach i praca własna. Zaliczenie na podstawie zrealizowanych zadań i projektu. |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.