Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerów 2 Nazwa modułu w języku angielskim Computer programming 2 Obowiązuje od roku akademickiego 2012/13 A. USYTUOANIE MODUŁU SYSTEMIE STUDIÓ Kierunek studiów Poziom Profil studiów Forma i tryb prowadzenia studiów Specjalność Jednostka prowadząca moduł Koordynator modułu Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne) Automatyka Katedra Urządzeń i Systemów Automatyki dr inż. Michał Łaskawski Zatwierdził: B. OGÓNA CHARAKTERYSTYKA PRZEDMIOTU Przynależność do grupy/bloku przedmiotów Status modułu Język prowadzenia zajęć Usytuowanie modułu w planie studiów - semestr Usytuowanie realizacji przedmiotu w roku akademickim Kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) Polski V semestr zimowy (semestr zimowy / letni) ymagania wstępne Programowanie komputerów 1 (kody modułów / nazwy modułów) Egzamin iczba punktów ECTS 3 nie (tak / nie) Forma prowadzenia zajęć wykład ćwiczenia laboratorium projekt inne w semestrze 30 30
C. EFEKTY KSZTAŁCENIA I METODY SPRADZANIA EFEKTÓ KSZTAŁCENIA Cel modułu Poznanie zasad programowania strukturalnego. Zapoznanie z metodami dynamicznego przydziału pamięci. Poznanie zasad programowania obiektowego w tym hermetyzacji danych, polimorfizmu i dziedziczenia. Symbol efektu U_03 K_01 Efekty Ma uporządkowaną wiedzę w zakresie konstrukcji języków imperatywnych. Ma wiedzę umożliwiającą ocenę przydatności różnych paradygmatów programowania, zna i rozumie zasady programowania obiektowego. Potrafi pisać i uruchamiać programy oraz czytać ze zrozumieniem programy zapisane w języku programowania imperatywnego. Potrafi konstruować algorytmy z wykorzystaniem podstawowych technik algorytmicznych. Potrafi ocenić przydatność różnych paradygmatów i związanych z nimi środowisk programistycznych do rozwiązywania różnego typu problemów. Ma umiejętność projektowania, implementacji, testowania i debugowania programów obiektowych Potrafi projektować oprogramowanie zgodnie z metodyką strukturalną lub obiektową Rozumie potrzebę i zna możliwości ciągłego dokształcania się. Forma prowadzenia zajęć (w/ć/l/p/inne) odniesienie do efektów kierunkowych K_03, K_15 K_03, K_15 K_U13, K_U15, K_U16, K_U13, K_U15, odniesienie do efektów obszarowych T1A_03, T1A_04, T1A_07 T1A_03, T1A_04, T1A_07 T1A_U16 T1A_U13, T1A_U14 T1A_U13, T1A_U15, T1A_U16 T1A_U07, T1A_U09 K_K01 T1A_K01 Treści : 1. Treści w zakresie wykładu Nr wykładu Treści 1 Podział języków programowania komputerów. Historia języka C. Kompilator języka C. Podstawowe typy danych. 2 yrażenia i operatory w języku C. Instrukcje złożone warunkowe i iteracyjne. 3 Tablice i wskaźniki w języku C. 4 Funkcje w języku C. Zmienne lokalne i globalne. skaźniki jako argumenty funkcji. 5 Struktury i unie w języku C. skaźniki do struktur. Deklaracja typedef. 6 Operacje wejścia / wyjścia. Dostęp do plików przy użyciu deskryptorów i strumieni. 7 Dynamiczne zarządzanie pamięcią. Implementacja list jedno i dwukierunkowych. Operacje na listach. 8 prowadzenie do języka C++. Pojęcie klasy i obiektu. Budowa klasy., Implementacja i znaczenie konstruktora i destruktora. Enkapsulacja / hermetyzacja danych.
9 Zarządzanie pamięcią w języku C++, wskaźniki i referencje., 10 Dziedziczenie proste i wielobazowe., 11 Klasy, metody i funkcje zaprzyjaźnione., 12 Polimorfizm. Metody wirutalne i klasy abstrakcyjne., 13 Szablony funkcji., 14 Przeciążanie operatorów., 15 Obsługa wyjątków.,, K_01 2. Treści w zakresie ćwiczeń Nr zajęć ćwicz. Treści 3. Treści w zakresie zadań laboratoryjnych Nr zajęć lab. Treści 1 Język C, kompilator. 2 prowadzenie do języka C, podstawowe typy danych, instrukcje złożone warunkowe i iteracyjne. 3 Arytmetyka wskaźników., 4 Tablice jedno i dwuwymiarowe w języku C., 5 Ciągi znaków jako tablice znakowe., 6 Funkcje w języku C, wskaźniki jako argumenty funkcji., 7 Struktury i unie w języku C. Dostęp do plików poprzez deskryptory i strumienie. 8 Zarządzanie pamięcią z użyciem funkcji języka C, Implementacja zmiennych dynamicznych (listy),, 9 prowadzenie do języka C++. Pojęcie klasy, obiektu, konstruktora i destruktora klasy. Dane publiczne, prywatne i chronione. U_03, 10 Zarządzanie pamięcią w języku C++, wskaźniki i referencje., 11 Dziedziczenie proste i wielobazowe., 12 Składowe prywatne i klasy zaprzyjaźnione. 13 Polimorfizm i funkcje wirtualne., 14 Szablony funkcji.,
15 Przeciążanie operatorów., 4. Charakterystyka zadań projektowych 5. Charakterystyka zadań w ramach innych typów zajęć dydaktycznych Metody sprawdzania efektów Symbol efektu U_03 Metody sprawdzania efektów (sposób sprawdzenia, w tym dla umiejętności odwołanie do konkretnych zadań projektowych, laboratoryjnych, itp.) Kolokwium Kolokwium
D. NAKŁAD PRACY STUDENTA Bilans punktów ECTS Rodzaj aktywności obciążenie studenta 1 Udział w wykładach 30 2 Udział w ćwiczeniach 3 Udział w laboratoriach 30 4 Udział w konsultacjach (2-3 razy w semestrze) 5 Udział w zajęciach projektowych 6 Konsultacje projektowe 7 Udział w egzaminie 8 9 iczba godzin realizowanych przy bezpośrednim udziale nauczyciela 60 akademickiego (suma) 10 iczba punktów ECTS, którą student uzyskuje na zajęciach wymagających bezpośredniego udziału nauczyciela akademickiego 2,4 11 Samodzielne studiowanie tematyki wykładów 7 12 Samodzielne przygotowanie się do ćwiczeń 13 Samodzielne przygotowanie się do kolokwiów 14 Samodzielne przygotowanie się do laboratoriów 8 15 ykonanie sprawozdań 15 Przygotowanie do kolokwium końcowego z laboratorium 17 ykonanie projektu lub dokumentacji 18 Przygotowanie do egzaminu 19 20 iczba godzin samodzielnej pracy studenta 15 (suma) 21 iczba punktów ECTS, którą student uzyskuje w ramach samodzielnej pracy 22 Sumaryczne obciążenie pracą studenta 75 23 Punkty ECTS za moduł 3 24 Nakład pracy związany z zajęciami o charakterze praktycznym 30 25 iczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym 0,6 1,2 E. ITERATURA ykaz literatury itryna modułu/przedmiotu 1. Kernighan B.., Ritchie D.M.: Język C, NT, arszawa, 1988. 2. Jones R., Stewart I.: Sztuka programowanie w języku C, NT, arszawa 1992. 3. Stroustrup B.: Język C++, NT, arszawa 1994. 4. Eckel. B.: Thinking in C++, Edycja Polska, Helion, 2002/09