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