Standard opisu przedmiotów w ramach programu nauczania

Komisja Naukowo-

Dydaktyczna PJWSTK

 

 

  1. Nazwa polska przedmiotu: Algorytmy i Struktury Danych
  2. Nazwa angielska przedmiotu:
  3. Kod: AGR
  4. Katedra : Algorytmiki
  5. Rodzaj studiów: magisterskie
  6. Semestr nauczania
  7. Rekomendowany semestr nauczania na studiach

    inżynierskich

    magisterskich

    dziennych

    wieczorowych

    2  

     

     
  8. Forma zaliczania
  9. Rekomendowana forma zaliczania na studiach

    Inżynierskich

    magisterskich

    dziennych

    Wieczorowych

    egzamin pisemny

    egzamin pisemny

    Sprawdzian zaliczający Lab.+ Egzamin testowy

  10. Liczba godzin w tygodniu 2w + 2lab

Liczba godzin w tygodniu na studiach

Inżynierskich

magisterskich

dziennych

Wieczorowych

w

ć

l

w

Ć

l

w

ć

l

2 - 2 2 - 2

 

 
 

 

 

 

  1. Abstrakt po polsku:

    Celem wykładu jest zapoznanie studentów z
    podstawowym zestwem algorytmów realizujących zadania wyszukiwania, sortowania, oraz z najczęściej wykorzystywanymi strukturami danych: stosami, kolejkami, słownikami, kolejkami priorytetowymi i drzewami. Przedstawiane zostaną również zasadnicze problemy algorytmiki związane z analizą poprawności i kosztu algorytmów. Wykładowi towarzyszą zajęcia laboratoryjne, których celem jest ugruntowanie znajomości algorymów poznanych na wykładzie i ich zastosowań .
  1. Abstrakt po angielsku: The purpose of the lecture is to present fundamental algorithms for searching and sorting, to present data structures and several algorithmic problems concerning verification and complexity of algorithms..
  2. Zakres minimalnych wymagań odnośnie wiedzy i umiejętności po ukończeniu przedmiotu przez studenta:
    .
  3. Plan realizacji wykładów i laboratoriów

Tabela rekomendowanego sposobu realizacji wykładów, ćwiczeń i laboratoriów w rozbiciu na 14 tygodni

Nr tyg.

Wykład

Laboratorium

1

Problemy algorytmiczne, poprawność i koszt algorytmu. Notacja asymptotyczna.

Przykłady maksimum, obliczanie pierwiastka,

Szkic projektu “algorytmy wyszukiwania i sortowania”.

2

Problemy wyszukiwania: wyszukiwanie sekwencyjne, binarne, równoczesne maksimum i minimum, k-ty co do wielkości. Realizacja algorytmów wyszukiwania

3

Rekursja : nwd, wieże Hanoi, cd. wyszukiwanie.

4

Sortowanie : przez wstawianie(InsertionSort), przez wybór(SelectionSort), MergeSort, QuickSort, Sortowanie przez zliczanie cd.wyszukiwanie

5

Oszacowanie złożoności problemu sortowania. Realizacja algorytmów sortowania

6

Struktury danych - stos. Obliczanie wartości wyrażenia arytmetycznego. cd. sortowanie

7

Struktury danych - listy, kolejki. c.d. sortowanie

8

Struktury danych - słownik Implementacja struktury stosów

10

Struktury danych - Drzewa BST  

11

Struktury danych -Kopiec  

12

   

13

Programowanie dynamiczne  

14,15

Przykłady problemów trudnych. Algorytmy aproksymacyjne.  

 

  1. Wymagania dotyczące laboratoriów:
    Dla każdego studenta jedno stanowisko przy komputerze wyposażonym w język programowania imperatywnego wysokiego poziomu, np. PASCAL, C++, JAVA, LOGLAN
  2. Literatura podstawowa:

Ross K.A., Ch. Wright, Matematyka dyskretna, PWN 1999
Cormen T., Ch. Leiserson, R. Rivest, Wstęp do algorytmów, 1995

  1. Literatura uzupełniająca:

    Aho A., Hopcroft J., Ullman J., The design and analysis of computer algorithms. Addison Wesley 1974
    Baase S., Computer Algorithms, Adddison Wesley
    Wróblewski P., Algorytmy struktury danych i techniki programowania, Helion 1997
    Sadgewick, Algorytmy
  2. Wymagane przedmioty poprzedzające:

    Matematyka Dyskretna, Programowanie, Wstęp do Informatyki.

  1. Powiązania merytoryczne

Tabela powiązań merytorycznych

Nazwa przedmiotu poprzedzającego

Wymagane zagadnienia / umiejętności niezbędne w realizacji danego przedmiotu

Matematyka Dyskretna

Elementarna znajomość logiki, rachunku zbiorów, algebry abstrakcyjnej i elementów rachunku prawdopodobieństwa

Programowanie

Umiejętność programowania w języku wysokiego poziomu

Analiza

Umiejętność obliczania pochodnej , całki.

Algebra

Ciągi, macierze, rozwiązywanie równań