Uniwersytet Warszawski - Centralny System Uwierzytelniania
Strona główna

Analiza, wizualizacja i optymalizacja oprogramowania

Informacje ogólne

Kod przedmiotu: 1000-2D11WSI
Kod Erasmus / ISCED: 11.304 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Analiza, wizualizacja i optymalizacja oprogramowania
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Seminaria magisterskie na informatyce
Strona przedmiotu: http://sova.mimuw.edu.pl
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.

zobacz reguły punktacji
Język prowadzenia: angielski
Rodzaj przedmiotu:

seminaria magisterskie

Założenia (opisowo):

Osiągnięcie na bardzo dobrym poziomie celów kształcenia określonych dla przedmiotów: Indywidualny Projekt Programistyczny, Inżynieria Oprogramowania, Zespołowy Projekt Programistyczny, Zarządzanie Projektami Informatycznymi

Skrócony opis:

Seminarium jest przeznaczone dla osób zainteresowanych automatyczną analizą, optymalizacją i refaktoryzacją oraz wizualizacją oprogramowania. Interesują nas zarówno zagadnienia badawcze jak i praktyczne zastosowania oraz studia przypadków. Zajmujemy się opracowaniem podstaw, technik i narzędzi do automatyzacji wymienionych czynności. W ramach seminarium będziemy także badać wpływ nowych paradygmatów i technologii (np. NoSQL, cloud, HTML5 i Android, nowe języki programowania) na architekturę systemów, ich wydajność, wzorce i anty-wzorce projektowe i architektoniczne.

Pełny opis:

Seminarium jest przeznaczone dla osób zainteresowanych automatyczną analizą, optymalizacją i refaktoryzacją oraz wizualizacją oprogramowania. Interesują nas zarówno zagadnienia badawcze jak i praktyczne zastosowania oraz studia przypadków. Zajmujemy się opracowaniem podstaw, technik i narzędzi do automatyzacji wymienionych czynności. Stopień trudności powstających prac magisterskich będzie dostosowany do potrzeb konkretnego studenta: od bardzo ambitnych zadań badawczych mających na celu powstanie nowych metodyk i procedur do mniej ryzykownych (ale jakże wdzięcznych!) zadań implementacyjnych przy realizacji konkretnych narzędzi.

W ramach seminarium będziemy także badać wpływ nowych paradygmatów i technologii (np. NoSQL, cloud, HTML5 i Android, nowe języki programowania) na architekturę systemów, ich wydajność, wzorce i anty-wzorce projektowe i architektoniczne. Zdefiniujemy te wzorce oraz opracujemy metody ich wykrywania i refaktoryzacji. Zaprojektujemy narzędzia wspierające automatyzację tych metod. Zaimplementujemy te narzędzia i zweryfikujemy ich użyteczność w praktyce.

Prowadzący seminarium a także biorący w nim udział doktoranci mają doświadczenie w przedsięwzięciach komercyjnych, m.in. w Google, Microsoft i startupach technologicznych.

Tematyka seminarium obejmuje (choć nie jest ograniczona do) następujące tematy:

1. Architektura i projektowanie oprogramowania

2. Wzorce architektoniczne i projektowe z uwzględnieniem nowych technologii

3. Anty-wzorce wydajnościowe i jakościowe

4. Automatyczna refaktoryzacja anty-wzorców, defektów i złych praktyk

5. Automatyczna optymalizacja na poziomie aplikacji, języka oraz maszyny wirtualnej

6. Analiza i prognozowanie jakości oprogramowania

7. Eksploracja oprogramowania

8. Badania empiryczne w inżynierii oprogramowania

9. Synteza programów

10. Wizualizacja oprogramowania

11. Automatyczne generowanie testów

Literatura:

Współczesna literatura z tej dziedziny, w tym czasopisma naukowe i dane z Internetu. Szczegóły przedstawia prowadzący na pierwszych zajęciach.

Efekty uczenia się:

1. Zna problemy, techniki i narzędzia związane z wytwarzaniem systemów informatycznych

2. Ma pogłębioną wiedzę w dziedzinie inżynierii oprogramowania i zarządzania projektami informatycznymi

3. Ma pogłębioną umiejętność przygotowania wystąpień ustnych oraz prowadzenia prezentacji

4. Potrafi przedstawiać wybrane zagadnienia informatyczne w sposób zrozumiały dla laika

5. Potrafi przygotować prezentację z użyciem narzędzi komputerowych

6. Potrafi przygotować opracowanie naukowe (publikację) z wybranej dziedziny informatyki

7. Potrafi określić kierunki dalszego uczenia się i zrealizować proces samokształcenia

8. Rozumie konieczność systematycznej pracy nad wszelkimi projektami, które mają długofalowy charakter

Metody i kryteria oceniania:

Aktywne uczestniczenie w seminarium, wygłoszenie referatu, złożenie pracy magisterskiej, ocena pracy magisterskiej przez promotora i recenzenta

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.
ul. Banacha 2
02-097 Warszawa
tel: +48 22 55 44 214 https://www.mimuw.edu.pl/
kontakt deklaracja dostępności USOSweb 7.0.2.0-80474ed05 (2024-03-12)