Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

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 z polskim językiem wykładowym
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 obowiązkowy

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
- referatu
- seminaryjna
- studium przypadku

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 przekazanie podstawowej wiedzy związanej z wykorzystaniem narzędzi przydatnych programiście w procesie tworzenia oprogramowania. Zajęcia powinny pomóc w wyborze odpowiedniego narzędzia oraz jego konfiguracji i efektywnym użytkowaniu. Zaprezentowany jest wybór najpopularniejszych dostępnych aplikacji oraz technologii, wykazane są różnice pomiędzy nimi, zalety wynikające z używania prezentowanego oprogramowania oraz ograniczenia z tym związane.

W ramach laboratoriów zaprezentowane zostaną narzędzia wspierających programistę w następujących zadaniach:

- planowanie architektury oprogramowania, projektowanie obiektowe, tworzenie diagramów UML

- edycja przejrzystego kodu, generowanie i refaktoryzacja kodu

- tworzenie i zarządzanie projektami w środowiskach programistycznych IDE

- kompilowanie kodu oraz konsolidacja (linkowanie) programów, optymalizacja kodu i automatyzacja procesu budowania aplikacji

- tworzenie i wykorzystywanie bibliotek statycznych i dynamicznych

- tworzenie graficznych interfejsów użytkownika GUI, programowanie wizualne RAD, tworzenie zdarzeniowego modelu aplikacji

- 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

- zarządzanie projektami i zespołami programistycznymi, podział zadań w grupach programistycznych, nadzór nad postępem rozwoju projektów, analiza ryzyka i kosztów

- wersjonowanie kodu, zgłaszanie i raportowanie błędów

tworzenie dokumentacji technicznej

- wdrażanie aplikacji

Główny nacisk na zajęciach położony jest na zaprezentowanie zalet wykorzystania zintegrowanych środowisk programistycznych IDE, takich jak Visual Studio (w wersji Express i Ultimate) czy Eclipse oraz narzędzi wspomagających zespoły programistyczne w procesie wytwórczym, takie jak Azure DevOps lub Trac.

Celem ćwiczeń na pracowni komputerowej jest opanowanie podstaw konfiguracji i użytkowania wybranych narzędzi programistycznych, omawianych na wykładzie, dostępnych w środowisku Windows oraz GNU Linux.

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:

Dobór literatury uzależniony jest od tematyki poszczególnych projektów.

Metody i kryteria oceniania:

Zaliczenie ćwiczeń 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)

Laboratoria: kolokwia, prezentacje i projekty

51-60% - ocena: 3

61-70% - ocena: 3+

71-80% - ocena: 4

81-90% - ocena: 4+

91-100% - ocena 5

Zajęcia w cyklu "Semestr zimowy 2017/18" (zakończony)

Okres: 2017-10-01 - 2018-02-25
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin więcej informacji
Koordynatorzy: Marek Grochowski
Prowadzący grup: Rafał Linowiecki, Michał Pierzchalski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr zimowy 2018/19" (zakończony)

Okres: 2018-10-01 - 2019-02-24
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin więcej informacji
Koordynatorzy: Marek Grochowski
Prowadzący grup: Marek Grochowski, Rafał Linowiecki, Michał Pierzchalski, Tomasz Piotrowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr zimowy 2019/20" (zakończony)

Okres: 2019-10-01 - 2020-02-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin więcej informacji
Koordynatorzy: Marek Grochowski
Prowadzący grup: Marek Grochowski, Michał Pierzchalski, Tomasz Piotrowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr zimowy 2020/21" (jeszcze nie rozpoczęty)

Okres: 2020-10-01 - 2021-02-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin więcej informacji
Koordynatorzy: Marek Grochowski
Prowadzący grup: Marek Grochowski, Michał Pierzchalski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.