Karta przedmiotu
- Status:
- Gotowy
1DI1302 - Algorytmy i struktury danych
- Nazwa w drugim języku:
- Algorithms and Data Structures
- Nazwa skrócona:ASTRUK
- Numer katalogowy:1DI1302
-
Reprezentuje kierunki:
I,D,PL - Informatyka Stosowana
M,D,PL - Informatyka Stosowana
- Odpowiedzialny za przedmiot: prof. dr hab. inż. Jacek Starzyński
- Strona WWW przedmiotu: http://wikidyd.iem.pw.edu.pl/index.cgi/Aisd
- Język wykładowy:PL
- Liczba punktów ECTS:5
- Poziom przedmiotu: Podstawowy
- Forma zaliczenia przedmiotu:Egzamin
- Wymiar godzin:
- W: 30, L: 30
- Przedmiot realizowany w planach wzorcowych:
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 21
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 22
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2021Z/2022L
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2017Z/2018L
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2023Z/2024L
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 12
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2016Z/2017L
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2020Z/2021L
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2019Z/2020L
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2024Z/2025L
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2018Z/2019L
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 13
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 14
- Informatyka Stosowana Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: WPS2022Z/2023L
- Obieralny dla katalogów:
- Znalazłem 0 pozycji. (Pokaż szczegóły)
- Cel przedmiotu:
- Zapoznanie studenta z następującymi zagadnieniami: metody tworzenia algorytmów i dowodzenia ich poprawności, pojęcie złożoności obliczeniowej czasowej i pamięciowej, najczęściej używane struktury danych: listy, drzewa, kopce, tablice, grafy, hasze i związane z nimi algorytmy, relacja pomiędzy danymi i algorytmami, podstawowe abstrakcyjne typy danych: kolejki, zbiór, słownik. Wybrane algorytmy przetwarzania danych: sortowanie tablic, operacje na drzewach binarnych i BST, kompresja, algorytmy dla grafów, wyszukiwanie wzorca. Problemy NP trudne, NP-zupełność, sztuczna inteligencja jako metoda rozwiązywania problemów o wielkiej złożoności obliczeniowej.
Kurs jest podstawą do tworzenia oprogramowania we wszystkich językach imperatywnych. Przygotowuje studenta do pracy jako projektant oprogramowania, programista, analityk oprogramowania. - Treści kształcenia:
- Podstawowe pojęcia, złożoność obliczeniowa. Analiza algorytmów i dowodzenie poprawności. Algorytmy sortowania tablic. Sortowanie o złożoności liniowej. Struktury wykorzystujące wskaźniki: listy, drzewa, grafy. Listy liniowe, drzewa wyważone, haszowanie. Opakowywanie struktur danych, abstrakcyjne typy danych. Kontenery w Javie. Wybrane algorytmy kompresji. Programowanie dynamiczne. Wybrane algorytmy działające na grafach. Wyszukiwanie wzorca w napisach. Algorytmy ewolucyjne. Problemy NP-zupełne.
- Bibliografia:
- 1. Cormen, Leiserson, Rivest, Stein - Wprowadzenie do algorytmów, wyd. 2, WNT 2004;
2. Lafore - Java. Algorytmy i struktury danych, Helion 2003
3. Knuth - Sztuka programowania, WNT 2002 - Metody oceny:
- Zgodnie z regulaminem kursu.
- Uwagi:
- Przedmioty na których bazuje dany przedmiot (prerekwizyty):
- [1DI1206] Języki i metody programowania 2
- [1DI1108] Języki i metody programowania 1
- Efekty Kształcenia dla kierunków Informatyka Stosowana, Informatyka Stosowana:
-
- Wiedza
Kod Efekt Kształcenia dla kierunku Procent Efekt kształcenia dla przedmiotu Sposób sprawdzania I1_W04a ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu podstaw programowania
+ (33%) ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu podstaw programowaniaegzaminI1_W04b ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu algorytmów i złożoności
+++ (100%) ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu
algorytmów i złożoności obliczeniowejegzaminI1_W04f ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu języków i paradygmatów programowania
++ (66%) ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu kodowania algorytmów w językach proceduralnych i obiektowychegzamin, projektyI1_W04j ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu inżynierii oprogramowania
++ (66%) ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu roli algorytmów w programach komputerowychegzamin, projektyI1_W05c ma szczegółową wiedzę związaną z zagadnieniami z wybranego zakresu informatyki, dotyczącą analizy i projektowania oprogramowania
++ (66%) ma szczegółową wiedzę związaną z zagadnieniami z
analizy i projektowania algorytmówegzamin, projektI1_W06a ma podstawową wiedzę o trendach rozwojowych z zakresu informatyki
+ (33%) ma podstawową wiedzę o trendach rozwojowych z zakresu algorytmikiegzaminI1_W08a zna podstawowe, stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu informatyki metody
+ (33%) zna podstawowe, stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu Informatyki
-
metody projektowania algorytmówegzamin -
- Umiejętności
Kod Efekt Kształcenia dla kierunku Procent Efekt kształcenia dla przedmiotu Sposób sprawdzania E1_U05 Potrafi planować własne uczenie się, ma umiejętności samokształcenia. ++ (66%) ma umiejętności samokształcenia sięegzamin, projektI1_U01 Potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł w wersji drukowanej i elektronicznej, w tym w Internecie, także w języku angielskim albo francuskim lub niemieckim w zakresie informatyki, potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski, formułować i uzasadniać opinie. ++ (66%) potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł w wersji drukowanej i elektronicznej w tym w Internecie, także w języku angielskim lub niemieckim w zakresie Informatyki, potrafi integrować uzyskane informacjeprojektI1_U02 Potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym związanym z informatyką oraz w innych środowiskach. ++ (66%) potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym związanym z Informatyką oraz w innych środowiskachprojekt zespołowyI1_U04 Potrafi przygotować i przedstawić w języku polskim i języku angielskim albo francuskim lub niemieckim prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu informatyki. + (33%) potrafi przygotować i przedstawić w języku polskim prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu Informatyki - algorytmikaegzamin ustnyI1_U08b potrafi planować i przeprowadzać eksperymenty, w tym symulacje komputerowe
+ (33%) potrafi planować i przeprowadzać symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioskiprojektI1_U08c potrafi planować i przeprowadzać eksperymenty, w tym interpretować uzyskane wyniki i wyciągać wnioski
+ (33%) potrafi planować i przeprowadzać symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioskiprojektI1_U15 Potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla informatyki oraz wybrać i zastosować właściwą metodę i narzędzia. + (33%) potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla Informatyki oraz wybrać i zastosować właściwą metodę i narzędziaprojektI1_U16 Potrafi, zgodnie z zadaną specyfikacją, zaprojektować oraz zrealizować proste urządzenie, obiekt, system lub proces, typowe dla informatyki, używając właściwych metod, technik i narzędzi. + (33%) potrafi zaprojektować oraz zrealizować, przy użyciu właściwych metod, technik i narzędzi, zgodnie z zadaną specyfikacją, typowe dla Informatyki, prosty systemprojekt -
- Kompetencje społeczne
Kod Efekt Kształcenia dla kierunku Procent Efekt kształcenia dla przedmiotu Sposób sprawdzania E1_K01 Jest przygotowany do przeprowadzenie krytycznej analizy posiadanej wiedzy, ma świadomość posiadanych kompetencji i umie pozyskać informacje potrzebne do realizacji postawionych przed nim zadań. + (33%) rozumie potrzebę uczenia się przez całe życie, potrafi inspirować i organizować proces uczenia się innych osóbprojektE1_K03 Jest przygotowany do współdziałania i pracy w grupie, przyjmowania w niej różnych ról, działając zawodowo na rzecz społeczeństwa. + (33%) potrafi współdziałać i pracować w grupie, przyjmując w niej różne roleprojekt zespołowy -
- Punkty ECTS za zajęcia kontaktowe z nauczycielem: 3
- Punkty ECTS za zajęcia praktyczne łącznie; kontaktowe i bez kontaktu z nauczycielem: 5
-
- Uzasadnienie punktów ECTS:
-
- Zajęcia kontaktowe z nauczycielem:
- Uczestnictwo w wykładach pozwala zdobyć wiedzę z zakresu przedmiotu, konsultacje i nadzór nad realizacją projektu i egzamin są elementami porządkowania i weryfikacji wiedzy i umiejętności.
-
- Zajęcia bez kontaktu z nauczycielem:
- Wykonanie projektów i przygotowanie do egzaminu wymaga dodatkowej pracy samokształceniowej: studiowania literatury i praktycznej pracy nad oprogramowaniem.
-
- Sumaryczna liczba godzin pracy studenta: 120
- Łączna liczba punktów ECTS wynika z sumarycznej liczby godzin pracy studenta.