zofia.kruczkiewicz@pwr.edu.pl    
Politechnika Wrocławska 
Katedra Informatyki Technicznej (K-30) 
Zespół Inżynierii Oprogramowania i
Inteligencji Obliczeniowej
 
Aktualności  Dydaktyka  Kontakt 
 
   
  strona główna dydaktyka Struktury danych i algorytmy - INK9116
 
  menu
  materiały dydaktyczne
  opis kursu
  informacje dodatkowe
 

  ostatnia aktualizacja

10.2023 - Inżynieria oprogramowania W04ITE-SI0011G
10.2022 - Praca dyplomowa inżynierska
 

 
  autor kursu
dr inż. Zofia Kruczkiewicz
 
  zespół dydaktyczny
dr inż. Tadeusz Jeleniewski
dr inż. Marek Piasecki
dr inż. Paweł Rogaliński
dr inż. Robert Wójcik
 
  dwutygodniowy wymiar godzin
wykład - 2 godziny
ćwiczenia - 2 godziny
 
  wymagania wstępne

 
  opis kursu
Kurs dostarcza niezbędnej wiedzy do budowy algorytmów i struktur danych. Decyzje dotyczące struktur danych powinny być dostosowane do wybranych algorytmów, natomiast wybór algorytmu powinien wynikać z zastosowanych struktur danych. W programie nauczania zastosowano metody formalne wspomagające specyfikację elementów programów, weryfikację kodu, oszacowanie złożoności strukturalnej i obliczeniowej. Struktury danych i operacje specyfikuje się za pomocą Abstrakcyjnych Typów Danych (ADT) i języka teorii mnogości. W praktyce kładzie się nacisk na weryfikację kodu wspomaganą formalnym udowodnieniem jego poprawności. Pomiaru złożoności strukturalnej dokonuje się za pomocą metryk. W ramach kursu zaprezentowano algorytmy wewnętrznego sortowania i wyszukiwania oraz nieuporządkowane i uporządkowane rekurencyjne struktury danych wraz z podstawowymi operacjami. Podano implementację przedstawionych algorytmów i struktur danych w języku C++. W ramach laboratorium słuchacze kursu mogą praktycznie poznać metody implementacji programów w języku C++ wspomagane metodami formalnymi.
 
  zawartość tematyczna kursu
wykład
ćwiczenia

Kładzie się nacisk na proces tworzenia efektywnych programów z wykorzystaniem metod formalnych: do specyfikacji, weryfikacji, badania poprawności oraz oszacowania złożoności strukturalnej i obliczeniowej.