- Nazwa przedmiotu:
- Algorytmy i struktury danych
- Koordynator przedmiotu:
- dr inż. Jadwiga Chudzicka
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Zarządzanie i Inżynieria Produkcji
- Grupa przedmiotów:
- Technologie informatyczne
- Kod przedmiotu:
- ASDAN
- Semestr nominalny:
- 2 / rok ak. 2011/2012
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- godziny kontaktowe: 30h, zapoznanie się ze wskazaną literaturą 20h, samodzielne ćwiczenia praktyczne + konsultacje 20h, przygotowanie się do egzaminu 20h. Razem 90h = 3 ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- godziny kontaktowe: 30h. Razem 30h = 1 ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- zapoznanie się ze wskazaną literaturą 20h, samodzielne ćwiczenia praktyczne + konsultacje 20h, przygotowanie się do egzaminu 20h. Razem 60h = 2 ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- algorytmika, programowanie komputerów, algorytm, typy danych, struktury danych, złożoność algorytmów, rekurencja, sortowanie danych, algorytmy numeryczne, kodowanie danych, kompresja danych, grafy.
- Limit liczby studentów:
- min 15
- Cel przedmiotu:
- Dostarczenie narzędzi wspomagających rozwiązywanie różnorodnych zagadnień matematycznych, inżynierskich i innych przy pomocy komputerów. Zapoznanie z najpopularniejszymi technikami programowania, strukturami danych i algorytmami. Prezentacja szerokiego wachlarza przykładów do wykorzystania w przyszłości wg potrzeb. Rozwinięcie umiejętności studentów skutecznego i efektywnego rozwiązywania problemów z różnych dziedzin metodami stosowanymi w informatyce.
- Treści kształcenia:
- 1. Wprowadzenie do metodologii programowania. Geneza algorytmiki. Pojęcia podstawowe. Definicja i cechy charakterystyczne poprawnych i efektywnych algorytmów. Sposoby zapisu algorytmów. Poprawność algorytmów. Języki programowania. 2. Typy i struktury danych. Typy proste i złożone. Przetwarzanie liczb, wartości logicznych i tekstów. 3. Struktury danych: listy i ich tablicowe implementacje, kolejki, pojęcie stosu i jego zastosowania, drzewa, zbiory. 4. Analiza złożoności algorytmów Terminologia i definicje. Typy złożoności obliczeniowej. Techniki optymalizacji programów. Ilustracja metod na przykładach. 5. Techniki rekurencyjne Pojęcie rekurencji. Ilustracja rekurencji na przykładach: wyznaczanie wartości funkcji silnia, ciąg Fibonacciego. Typy programów rekurencyjnych. Pułapki programów rekurencyjnych. Rekurencje i ich odpowiedniki iteracyjne. 6. Techniki sortowania Prezentacja metod sortowania: sortowanie przez wstawianie, sortowanie bąbelkowe, szybkie sortowanie, sortowanie przez kopcowanie, sortowanie przez scalanie, sortowanie zewnętrzne. Klasy algorytmów sortowania. 7. Techniki przeszukiwania Przeszukiwanie liniowe. Przeszukiwanie binarne. Metody transformacji kluczowej. 8. Przeszukiwanie tekstów. Metody wykorzystywane w algorytmach przeszukiwania tekstów. 9. Przeszukiwanie tekstów - cd. 10. Algorytmy numeryczne cz. I Metody iteracyjne rozwiązywania układów równań liniowych. Metoda eliminacji Gaussa rozwiązywania układów równań liniowych. Poszukiwanie miejsc zerowych funkcji. Iteracyjne obliczanie wartości funkcji. 11. Algorytmy numeryczne cz. II Interpolacja funkcji metodą Lagrange’a. Ekstrapolacja funkcji. Różniczkowanie funkcji metodą Stirlinga. Całkowanie funkcji metodą Simpsona. 12. Algorytmika grafów. Kodowanie i kompresja danych Pojęcia podstawowe. Sposoby reprezentacji grafów. Operacje na grafach. Algorytmy poszukiwania najkrótszych dróg w grafach. 13. Podstawowe wiadomości na temat kodowania danych (szyfrowania wiadomości) i popularne metody łamania szyfrów. Omówienie wybranych metod kompresji danych. 14. Optymalizacja algorytmów Optymalizacja poprzez transformację algorytmów rekurencyjnych na ich postać iteracyjną. Powody, dla których stosuje się derekursywację. Wykorzystanie stosu. Schematy derekursywacji. 15. Inne techniki programowania Metody heurystyczne. Algorytmy genetyczne. Programowanie typu „dziel i zwyciężaj”. Programowanie dynamiczne.
- Metody oceny:
- Egzamin pisemny sprawdzający praktyczne umiejętności rozwiązywania typowych problemów spotykanych w praktyce inżynierskiej i pytania sprawdzające wiedzę teoretyczną.
- Egzamin:
- tak
- Literatura:
- • Wróblewski P., Algorytmy: struktury danych i techniki programowania, Wyd. Helion, Gliwice 2010.
• Czech Z., Deorowicz S., Fabian P., Algorytmy i struktury danych: wybrane zagadnienia, Wydawnictwo Politechniki Śląskiej, Gliwice 2007.
• Banachowski L., Diks K., Rytter W., Algorytmy i struktury danych, Wydawnictwa Naukowo-Techniczne, Warszawa 2006.
• Dańko A., Algorytmy i struktury danych: zadania, Wydawnictwo Polsko-Japońskiej Wyższej Szkoły Technik Komputerowych, Warszawa 2006.
- Witryna www przedmiotu:
- www.electurer.edu.pl
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt Wpisz opis
- ma wiedzę z zakresu matematyki, fizyki, chemii i innych obszarów właściwych dla studiowanego kierunku studiów niezbędną do formułowania i rozwiązywania typowych, prostych zadań związanych ze studiowaną dyscypliną inżynierską
Weryfikacja: egzamin pisemny
Powiązane efekty kierunkowe:
Wpisz opis
Powiązane efekty obszarowe:
T1A_W01, T1A_W02, T1A_W03, T1A_W04, T1A_W05, T1A_W06, T1A_W07, T1A_W08, T1A_W09, T1A_W11
Profil ogólnoakademicki - umiejętności
- Efekt Wpisz opis
- Potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, typowego dla studiowanej dyscypliny inżynierskiej oraz wybrać i zastosować właściwą metodę (procedurę) i narzędzia.
Weryfikacja: egzamin pisemny
Powiązane efekty kierunkowe:
Wpisz opis
Powiązane efekty obszarowe:
T1A_U01, T1A_U02, T1A_U05, T1A_U07, T1A_U08, T1A_U09, T1A_U10, T1A_U11, T1A_U12, T1A_U13, T1A_U14, T1A_U15, T1A_U16
Profil ogólnoakademicki - kompetencje społeczne
- Efekt Wpisz opis
- Potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania.
Weryfikacja: egzamin pisemny
Powiązane efekty kierunkowe:
Wpisz opis
Powiązane efekty obszarowe:
T1A_K01, T1A_K02, T1A_K03, T1A_K04, T1A_K05, T1A_K06, T1A_K07, T2A_K07