Podstawy programowania strukturalnego B. Informacje szczegółowe

Transkrypt

Podstawy programowania strukturalnego B. Informacje szczegółowe
Podstawy programowania strukturalnego
B. Informacje szczegółowe
Elementy składowe przedmiotu
Nazwa przedmiotu
Kod przedmiotu
Nazwa kierunku
Nazwa jednostki prowadzącej kierunek
Język przedmiotu
Liczba godzin zajęć dydaktycznych oraz
forma prowadzenia zajęć
Rok studiów / semestr
Liczba punktów ECTS
Prowadzący
Treści merytoryczne przedmiotu
Efekty kształcenia wraz ze sposobem ich
weryfikacji
Opis
Podstawy programowania strukturalnego
0600-IS1-2JA3
Informatyka
Wydział Matematyki i Informatyki, Instytut Informatyki
polski
Laboratorium, 15 godz.
I/1
6
dr Karol Pąk, dr Adam Grabowski, mgr Andrzej Stasiewicz
Informacje wstępne. Problem, algorytm, sposoby opisu algorytmów. Systemy
pozycyjne (dziesiętny, dwójkowy, szesnastkowy), system jedynkowy.
Reprezentacja informacji w pamięci komputera, bit, bajt, słowo, zapis
stałopozycyjny, kod uzupełnieniowy, zapis zmiennopozycyjny, reprezentacja
symboli alfanumerycznych. Prosty model maszyny cyfrowej i asemblera, analiza
obliczenia programu asemblerowego. Języki wysokiego poziomu, język C. Typy
danych i operatory. Podstawowe typy danych w językach wysokiego poziomu.
Przykłady typów danych w języku C: typy int, float; modyfikatory long, short,
unsigned, rozmiar danych, stałe, zmienne, typy zmiennych. Dane złożone:
tablice, struktury, łańcuchy. Operatory, priorytety operatorów, wyrażenia,
konwersje typów na podstawie języka C. Instrukcje. Instrukcje proste i
strukturalne. Instrukcje w języku C. Przykłady programów w języku C: sito
Eratostenesa, szybkie obliczanie potęg, wyszukiwanie wzorca w tekście.
Podstawowe instrukcje wej/wyj i podstawy formatowania w języku C.
Zarządzanie pamięcią. Wskaźniki, zmienne wskaźnikowe i wskazywane,
dynamiczne zarządzanie pamięcią. Przykłady programów w języku C:
przetwarzanie list, sito Eratostenesa z zastosowaniem list, wskaźniki i tablice.
Podprogramy. Podprogramy, sposoby przekazywania parametrów (przez
wartość, przez zmienną i przez funkcję). Przykłady w języku C: obliczanie
exp(macierz), wyznaczanie wartości całki, budowa drzewa binarnego,
przeglądanie drzewa binarnego metodami przedrostkową, wrostkową i
przyrostkową. Rekurencja, przykład w języku C: wieże Hanoi. Efekty uboczne,
przesłanianie zmiennych
1. Zna podstawy działania komputera (procesor, rejestry, pamięć, język
maszynowy i asembler), zna metody reprezentacji danych numerycznych (zapis
stałopozycyjny, kod uzupełnieniowy do 2, zapis zmiennopozycyjny) i tekstowych
w pamięci komputera. - ćwiczenia laboratoryjne. 2. Zna pojęcie problemu i
algorytmu, zna metody i narzędzia formułowania algorytmów (schematy
blokowe, opisy słowne), zna podstawowe konstrukcje programistyczne
(wyrażenia, operacja przypisania, konstrukcje iteracyjne i warunkowe). ćwiczenia laboratoryjne. 3. Potrafi sformułować proste algorytmy w postaci
schematów blokowych i opisów słownych. - ćwiczenia laboratoryjne. 4. Potrafi
zastosować podstawowe typy i struktury danych (skalarne, tablicowe,
strukturalne) oraz podstawowe konstrukcje programistyczne (operatory,
wyrażenia, instrukcje proste i złożone, instrukcje iteracyjne, instrukcje
warunkowe, instrukcje wejścia/wyjścia) do konstrukcji prostych programów w
języku programowania C. - ćwiczenia laboratoryjne. 5. Potrafi wydzielić logiczne
Forma i warunki zaliczenia przedmiotu
Wykaz literatury podstawowej i
uzupełniającej
i funkcjonalne fragmenty programu w postaci procedur (funkcji) języka C, potrafi
stosować metody komunikacji między procedurami języka C (parametry
formalne, zmienne globalne). - ćwiczenia laboratoryjne. 6. Potrafi korzystać z
zaawansowanych technik programistycznych: dynamiczne zarządzanie pamięcią,
dynamiczne struktury danych (tablice o zmiennych rozmiarach, listy), rekurencja.
- ćwiczenia laboratoryjne. 7. Rozróżnia między wiedzą uniwersalną w dziedzinie
programowania, a umiejętnościami technicznymi zależnymi od stosowanych
rozwiązań technologicznych. Rozumie potrzebę doskonalenia w zakresie wiedzy
uniwersalnej i konieczność ciągłego uzupełniania umiejętności technicznych. ćwiczenia laboratoryjne.
Kolokwium w formie papierowej. Co najwyżej 2h niusprawiedliwione
Literatura podstawowa:
1. Kerningham, Ritchie, Język C
2. Wirth, Algorytmy + struktury danych = programy
Literatura uzupełniająca:
1. Różne podręczniki z wstępu do programowania