Narzędzia programistyczne
Informacje ogólne
Kod przedmiotu: | 0800-NPR |
Kod Erasmus / ISCED: |
(brak danych)
/
(0613) Tworzenie i analiza oprogramowania i aplikacji
|
Nazwa przedmiotu: | Narzędzia programistyczne |
Jednostka: | Wydział Fizyki, Astronomii i Informatyki Stosowanej |
Grupy: |
Przedmioty do wyboru dla Informatyki Stosowanej s1 |
Strona przedmiotu: | http://www.fizyka.umk.pl/~grochu/npr |
Punkty ECTS i inne: |
1.00
|
Język prowadzenia: | polski |
Wymagania wstępne: | - umiejętność programowania strukturalnego oraz obiektowego - podstawowa wiedza dotycząca cyklu życia oprogramowania - podstawowa znajomość obsługi systemów kontroli wersji - znajomość j. angielskiego w stopniu umożliwiającym korzystanie z dokumentacji technicznej |
Rodzaj przedmiotu: | przedmiot fakultatywny |
Całkowity nakład pracy studenta: | Godziny realizowane z udziałem nauczycieli ( 15 godz.): - udział w laboratoriach 15 godz. Czas poświęcony na pracę indywidualną studenta ( 15 godz.): - przygotowanie do laboratorium 2 godz. - przygotowanie projektu 13 godz. Łącznie: 30 godz. (1 ECTS) |
Efekty uczenia się - wiedza: | W1. Posiada wiedzę z zakresu testowania kodu, testowania oprogramowania oraz wyszukiwania w nim błędów (realizuje efekty kierunkowe K_W05, K_W06, K_W10, K_W11 dla kier. Informatyka Stosowana) W2. Zna narzędzia wspierające proces tworzenia oprogramowania, testowania oprogramowania oraz wyszukiwania w nim błędów (realizuje efekty kierunkowe K_W05, K_W06, K_W11 dla kier. Informatyka Stosowana) W3. Zna narzędzia wspierające pracę zespołową programistów, systemy kontroli wersji oraz systemy raportowania błędów i zarządzania projektami (realizuje efekty kierunkowe K_W05, K_W06, K_W11 dla kier. Informatyka Stosowana) W4. Zna podstawowe zasady pracy zespołowej w oparciu o zwinne metodyki zarządzania projektami (realizuje efekty kierunkowe K_W06, K_W11 dla kier. Informatyka Stosowana ) |
Efekty uczenia się - umiejętności: | U1. Potrafi wykorzystywać narzędzia do kontroli wersji i narzędzia wspierające pracę zespołów programistycznych (realizuje efekty kierunkowe K_U13 K_U22 dla kier. Informatyka Stosowana) U2. Umie posługiwać się narzędziami programistycznymi, które są pomocne w procesach tworzenia, testowania i diagnozowania błędów zarówno w kodzie jak i w gotowym oprogramowaniu (realizuje efekty kierunkowe KU_08, K_U13, K_U22 dla kier. Informatyka Stosowana) U3. Potrafi wybrać narzędzie programistyczne odpowiednie do realizacji zadania programistycznego oraz potrafi analizować dokumentację techniczną i pozyskiwać z niej istotne informacje na temat danego narzędzia programistycznego (realizuje KU_08, K_U13, K_U22 efekty kierunkowe dla kier. Informatyka Stosowana) U4. Potrafi podjąć działania mające na celu wykrycie przyczyn błędów (realizuje efekty kierunkowe K_U08, K_U21 dla kier. Informatyka Stosowana) |
Efekty uczenia się - kompetencje społeczne: | K1. Zna podstawowe koncepcje pracy w zespole bazujące na zwinnych technikach zarządzania (np. SCRUM) (realizuje efekty kierunkowe K_K02 dla kier. Informatyka Stosowana) K2. Rozumie odpowiedzialność jaka spoczywa na twórcy aplikacji i konieczność współpracy z zespołem testującym (realizuje efekty kierunkowe K_K01, K_K02 dla kier. Informatyka Stosowana) K3 - Ma świadomość skutków wadliwie działających systemów informatycznych, które mogą doprowadzić do strat moralnych i finansowych, a nawet utraty zdrowia czy zagrożenia życia (realizuje efekty kierunkowe K_K01 dla kier. Informatyka Stosowana) K4 - Ma świadomość i zrozumienie potrzeby ustawicznego poszerzania wiedzy i kształcenia umiejętności z zakresu programowania i wykorzystania nowoczesnych technik i narzędzi programistycznych (realizuje efekty kierunkowe K_K06 dla kier. Informatyka Stosowana) K5 - Potrafi przekazać informacje zdobyte na temat działania narzędzi programistycznych (realizuje efekty kierunkowe K_K04 dla kier. Informatyka Stosowana) |
Metody dydaktyczne: | - wykład informacyjny - demonstracje i symulacje - referaty (metoda seminaryjna) - analiza problemów (use case) - praca w grupie - metoda projektu |
Metody dydaktyczne eksponujące: | - pokaz |
Metody dydaktyczne poszukujące: | - laboratoryjna |
Skrócony opis: |
Celem zajęć jest przybliżenie najpopularniejszych narzędzi wspomagających programistę na każdym etapie produkcji oprogramowania, począwszy od fazy projektowej, poprzez implementację, wykrywanie i usuwanie błędów, testowanie, aż po wdrażanie gotowego produktu i jego utrzymanie. Główny nacisk przedmiotu położony jest na wykazanie korzyści płynących z wykorzystania zintegrowanych środowisk IDE oraz platform zarządzających cyklem życia oprogramowania przy tworzeniu oprogramowania dedykowanego systemom operacyjnym z rodziny Windows oraz UNIX/GNU Linux jak również przy wytwarzaniu aplikacji internetowych. Zajęcia są skierowane do osób zajmujących się programowaniem, pragnących tworzyć nowoczesne i wydajne aplikacje samodzielnie lub w zespołach programistycznych. |
Pełny opis: |
Zajęcia maja na celu zapoznanie studentów z podstawami wykorzystania współczesnych narzędzi przydatnych w procesie tworzenia oprogramowania. Zajęcia pomagają w wyborze odpowiedniego narzędzia oraz jego konfiguracji i efektywnym użytkowaniu. W czasie zajęć studenci maja sposobnośc zapoznania się z praktycznym aspektem użycia aplikacji, usług oraz technologii wykorzystywanych w tworzeniu i wdrażaniu wysokiej jakości oprogramowania oraz w prowadzeniu i nadzorowaniu zespołów programistycznych. Narzędzia i technologie omawiane na zajęciach rozwijają się bardzo dynamicznie a w kolejnych latach pojawiają się nowe trendy i technologie wykorzystywane w procesie tworzenia oprogramowania, dlatego szczegółowa lista zagadnień poruczanych na zajęciach jest aktualizowana i dostosowywana każdego roku w ten sposób aby prezentować jak najnowocześniejsze rozwiązania stosowane w branży informatycznej. W ramach laboratoriów prezentowany jest wybór narzędzi wspierających programistę lub zespoły programistyczne w następujących zadaniach: - tworzenie i zarządzanie projektami programistycznymi, wsparcie pracy zespołowej w metodologiach zwinnych i DevOps, podział zadań w grupach programistycznych, nadzór nad postępem rozwoju projektów, analiza ryzyka i kosztów - wersjonowanie kodu w repozytoriach, - zgłaszanie i raportowanie błędów - planowanie architektury oprogramowania, projektowanie obiektowe, tworzenie diagramów UML - edycja przejrzystego kodu, generowanie i refaktoryzacja kodu - kompilowanie kodu oraz konsolidacja (linkowanie) programów, optymalizacja kodu i automatyzacja procesu budowania, testowania i wdrażanie aplikacji (Contignous Integration) - wykrywanie błędów, statyczna i dynamiczna analiza kodu oraz programów, profilowanie kodu, analiza wydajności, detekcja i usuwanie wycieków pamięci - testowanie kodu oraz działania aplikacji, - tworzenie dokumentacji technicznej - wdrażanie aplikacji Główny nacisk na zajęciach położony jest na zaprezentowanie zalet wykorzystania narzędzi wspomagających zespoły programistyczne w procesie wytwórczym, zapewniające automatyzację procesów wytwórczych (np. Azure DevOps) oraz zintegrowanych środowisk programistycznych IDE (np. Visual Studio). |
Literatura: |
Literatura podstawowa: - S. Chacon, B. Straub, Pro Git, https://git-scm.com/book/pl/v2 - Dokumentacja MSDN, http://msdn.microsoft.com/pl-pl - Mike Snell, Lars Powers , „Microsoft Visual Studio 2010 : księga eksperta”, Helion, Gliwice, 2011. - Ian Sommerville, Inżynieria oprogramowania, WNT, Warszawa, 2003. - Eric S. Raymond, „UNIX. Sztuka programowania”, Helion, Gliwice, 2004 Literatura uzupełniająca: Szczegółowy dobór literatury uzależniony jest od tematyki poszczególnych projektów realizowanych przez studentów oraz wyboru zagadnień realizowanych w danym roku. Zagadnienia te ulegają corocznie modyfikacjom tak aby odzwierciedlić aktualne trendy i obecny stan rozwoju najważniejszych narzędzi programistycznych. |
Metody i kryteria oceniania: |
Zaliczenie odbywa się na podstawie: - kolokwium weryfikującego nabyte w czasie zajęć umiejętności posługiwania się wybranymi narzędziami programistycznymi (W1-W4, U1-U4, K1) - przygotowanej demonstracji wybranego (uzgodnionego z prowadzącym) narzędzia programistycznego lub technologii informatycznej (W1-W3, U1, U2, K1, K4) - projektu przygotowanego samodzielnie lub w zespole programistycznym z wykorzystaniem wybranych narzędzi programistycznych (W1-W4, U1-U4, K1) Skala ocen: - za prezentację i demonstrację projektu 50% - wynik kolokwuim zaliczeniowego 50% Laboratoria: kolokwia, prezentacje i projekty 25-37% - ocena: 3 38--49% - ocena: 3+ 50-70% - ocena: 4 70-84% - ocena: 4+ 85-100% - ocena 5 |
Zajęcia w cyklu "Semestr zimowy 2022/23" (zakończony)
Okres: | 2022-10-01 - 2023-02-19 |
Przejdź do planu
PN WT LAB
LAB
ŚR CZ PT |
Typ zajęć: |
Laboratorium, 15 godzin
|
|
Koordynatorzy: | Marek Grochowski | |
Prowadzący grup: | Marek Grochowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę |
Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)
Okres: | 2023-10-01 - 2024-02-19 |
Przejdź do planu
PN LAB
LAB
WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 15 godzin
|
|
Koordynatorzy: | Marek Grochowski | |
Prowadzący grup: | Marek Grochowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę |
Zajęcia w cyklu "Semestr zimowy 2024/25" (zakończony)
Okres: | 2024-10-01 - 2025-02-23 |
Przejdź do planu
PN LAB
WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 15 godzin
|
|
Koordynatorzy: | Marek Grochowski | |
Prowadzący grup: | Marek Grochowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę |
Zajęcia w cyklu "Semestr zimowy 2025/26" (jeszcze nie rozpoczęty)
Okres: | 2025-10-01 - 2026-02-22 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 15 godzin
|
|
Koordynatorzy: | Marek Grochowski | |
Prowadzący grup: | Marek Grochowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.