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