20-Podstawy programowania-algorytmy i struktury danych
Transkrypt
20-Podstawy programowania-algorytmy i struktury danych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W GŁOGOWIE SYLABUS/KARTA PRZEDMIOTU 1. NAZWA PRZEDMIOTU Podstawy programowania - algorytmy i struktury danych 2. NAZWA JEDNOSTKI PROWADZĄCEJ PRZEDMIOT Instytut Politechniczny 3. STUDIA kierunek stopień tryb język status przedmiotu AiR I Stacjonarne / niestacjonarne Polski obowiązkowy 4. CEL PRZEDMIOTU − nabycie umiejętności i kompetencji w zakresie programowania strukturalnego (język C), − nabycie wiedzy dotyczącej projektowania i implementacji struktur danych − nabycie umiejętności w doborze struktury danych do danego problemu programowania 5. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I KOMPETENCJI A. brak B. 6. EFEKTY KSZTAŁCENIA A. Wiedza 20_W05 ma podstawową wiedzę odnośnie programowania strukturalnego w wybranym języku wysokiego poziomu. zna podstawowe i zaawansowane struktury danych. zna algorytmy sortowania i przetwarzania danych. ma wiedzę dotyczącą metod zarządzania pamięcią. B. Umiejętności 20_U08 potrafi dokonać dekompozycji funkcjonalnej problemu programistycznego oraz zaimplementować funkcje realizujące poszczególne zadania dekompozycji. potrafi zdefiniować i zaimplementować tworzenie podstawowych i zaawansowanych struktur danych. potrafi zaimplementować algorytmy sortowania i przeszukiwania struktur danych. 1 C. Kompetencje 7. TREŚCI PROGRAMOWE – STUDIA STACJONARNE Wykład liczba Ćwiczenia liczba godzin godzin W1 – Omówienie struktury wykładu Wprowadzenie do programowania strukturalnego 1 W2- Projektowanie i analiza algorytmów. Opis i przykłady zastosowań instrukcji warunkowych i iteracyjnych W3- Pojęcie adresu, zmienne wskaźnikowe, zmienne dynamiczne. 1 Ć2- … 2 Ć3- … W4 – Deklaracja i definicja statycznej tablicy jedno i dwu wymiarowej. Arytmetyka zmiennych wskaźnikowych dla obsługi tablic dynamicznych W5 – Omówienie dekompozycji funkcjonalnej problemu – deklaracja i definicja funkcji W6 – Omówienie podstawowych (proste wybieranie i proste wstawianie) oraz zaawansowanych (stogowe, quicksort) algorytmów sortowania tablic W7- Dynamiczne struktury danych: stosy, listy jedno i dwukierunkowe W8- Drzewa: binarne, wyważone i uporządkowane. Omówienie metod rekurencyjnych. W9Techniki analizy algorytmów: ocena poprawności, efektywność algorytmów, analiza programów zawierających wywołania rekurencyjne 2 Ć4- … 2 Ć5- … 2 Ć6- … 2 Ćn- … SUMA GODZIN 2 1 15 Ć1- … laboratorium liczba godzin L1 - Wprowadzenie, określenie 2 warunków zaliczenia, przekazanie spisu literatury i materiałów dydaktycznych. Przedstawienie środowiska programistycznego. L2 Implementacja prostych 2 programów: definiowanie zmiennych, stałych, instrukcje warunkowe i iteracyjne L3 - Definiowanie zmiennych 4 wskaźnikowych oraz tworzenie i likwidacja zmiennych dynamicznych L4 - Implementacja metod 4 przetwarzania danych w tablicach statycznych i dynamicznych L5 - Deklaracja i definicja funkcji, 4 przekazywanie parametrów do funkcji przez wartość i adres L6 - Implementacja wybranych 4 algorytmów sortowania tablic oraz porównanie ich efektywności L7- Tworzenie dynamicznych 4 struktur danych: stosów i list jedno i dwukierunkowych L8- Drzewa : binarne, wyważone i 4 uporządkowane: implementacja metod rekurencyjnych tworzenia struktury drzewa. L9- Ocena wiedzy i zaliczenie 2 przedmiotu SUMA GODZIN 30 2 TREŚCI PROGRAMOWE – STUDIA NIESTACJONARNE Wykład liczba Ćwiczenia godzin W1 – Omówienie struktury wykładu Wprowadzenie do programowania strukturalnego 1 W2- Opis i przykłady zastosowań instrukcji warunkowych i iteracyjnych 2 W3- Pojęcie adresu, zmienne wskaźnikowe, zmienne dynamiczne. W4 – Arytmetyka zmiennych wskaźnikowych dla obsługi tablic dynamicznych W5 – Deklaracja i definicja funkcji. Przekazywanie parametrów do funkcji W6 – Omówienie podstawowych (proste wybieranie i proste wstawianie) oraz zaawansowanych (stogowe, quicksort) algorytmów sortowania tablic W7- Dynamiczne struktury danych: stosy, listy jedno i dwukierunkowe W8- Drzewa: binarne, uporządkowane. 1 liczba godzin Laboratorium liczba godzin L1 - Wprowadzenie, określenie 2 warunków zaliczenia, przekazanie spisu literatury i materiałów dydaktycznych. Przedstawienie środowiska programistycznego. L2 Implementacja prostych programów: definiowanie zmiennych, stałych, instrukcje warunkowe i iteracyjne L3 - Definiowanie zmiennych wskaźnikowych oraz tworzenie i likwidacja zmiennych dynamicznych L4 - Implementacja metod przetwarzania danych w tablicach statycznych i dynamicznych L5 - Deklaracja i definicja funkcji, przekazywanie parametrów do funkcji przez wartość i adres L6 - Implementacja wybranych algorytmów sortowania tablic 1 1 1 1 1 SUMA GODZIN 9 8. NARZĘDZIA DYDAKTYCZNE 2 2 2 2 2 L7- Tworzenie dynamicznych struktur danych: list jedno i dwukierunkowych L8- Ocena wiedzy i zaliczenie przedmiotu 2 SUMA GODZIN 18 2 Środki dydaktyczne: projektory multimedialne, tablice dydaktyczne, komputery Oprogramowanie: kompilator języka C, programy symulacyjne ilustrujące działanie algorytmów przetwarzania danych 9. SPOSÓB ZALICZENIA Studia stacjonarne i niestacjonarne wykład ćwiczenia Laboratorium/Projekt Egzamin - Zaliczenie na ocenę 10. FORMY ZALICZENIA Studia stacjonarne i niestacjonarne wykład ćwiczenia Egzamin pisemny - Laboratorium/Projekt Pisemne sprawdziany na początku każdego z laboratorium (z wyjątkiem pierwszego) 3 11. SPOSOBY OCENY Studia stacjonarne i niestacjonarne wykład Laboratorium/Projekt ćwiczenia Sprawdzian obejmuje treści prezentowane na wykładzie. Do uzyskania zaliczenia wymagane jest uzyskanie 51% maksymalnej liczby punktów. Zaliczenie sprawdzianów wszystkich 12. OBCIĄŻENIE PRACĄ STUDENTA Średnia liczba godzin na zrealizowanie Aktywności Forma aktywności Stacjonarne Niestacjonarne Godziny kontaktowe z nauczycielem Przygotowanie się do laboratorium 45 30 27 30 Przygotowanie się do zajęć SUMARYCZNA LICZBA PUNKTOW ECTS DLA PRZEDMIOTU 30 60 8 13. WYKAZ LITERATURY A. Literatura wymagana 1. Kerighan D., Ritchie B. Programowanie w języku C., WNT, Warszawa, 2000 2. Loudon K. Algorytmy w C., Helion, 2003 B. Literatura uzupełniająca 1. Wirth N. Algorytmy + struktury danych = programy., WNT, Warszawa, 2004 2. Grębosz J.: Symfonia C++. Standard. Editions, Kraków, 2006 14. PROWADZĄCY PRZEDMIOT OSOBA ODPOWIEDZIALNA ZA PRZEDMIOT: Prof. nz. dr hab. inż. Krzysztof Patan Wykład 1 Imię i nazwisko ćwiczenia Laboratorium/Projekt Paweł Majdzik Paweł Majdzik Tytuł/stopień naukowy Dr inż. Dr inż. Instytut Politechniczny Politechniczny Kontakt e-mail [email protected] [email protected] 4