Nazwa modułu: Informatyka 1 Rok akademicki: 2012/2013 Kod: EAR-1-206-s Punkty ECTS: 3 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Automatyka i Robotyka Specjalność: - Poziom studiów: Studia I stopnia Forma i tryb studiów: - Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 2 Strona www: http://home.agh.edu.pl/~mszymcz/ Osoba odpowiedzialna: dr inż. Szymczyk Magdalena (Magdalena.Szymczyk@agh.edu.pl) Osoby prowadzące: dr inż. Szymczyk Piotr (Piotr.Szymczyk@agh.edu.pl) dr inż. Szymczyk Magdalena (Magdalena.Szymczyk@agh.edu.pl) Opis efektów kształcenia dla modułu zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza M_W001 ma uporządkowaną i podbudowaną teoretycznie wiedzę w zakresie informatyki, obejmującą w szczególności metody programowania, użytkowanie systemów operacyjnych, systemy bazodanowe oraz podstawy działania systemów czasu rzeczywistego i komputerowych systemów interaktywnych AR1A_W10, Wykonanie ćwiczeń laboratoryjnych M_W002 ma uporządkowaną wiedzę w zakresie sieci komputerowych powszechnego użytku oraz przemysłowych AR1A_W11 M_W003 ma elementarną wiedzę w zakresie ochrony własności intelektualnej oraz prawa patentowego AR1A_W22 Umiejętności M_U001 potrafi pracować indywidualnie i w zespole; umie oszacować czas potrzebny na realizację zleconego zadania; potrafi opracować i zrealizować harmonogram prac zapewniający dotrzymanie terminów ma umiejętność samokształcenia się, m.in. w celu podnoszenia kompetencji zawodowych AR1A_U02, AR1A_U06 Wykonanie ćwiczeń laboratoryjnych 1 / 5
M_U002 potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować i weryfikować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie AR1A_U01 M_U003 potrafi sformułować algorytm, posługuje się językami programowania wysokiego i niskiego poziomu oraz odpowiednimi narzędziami informatycznymi do opracowania programów komputerowych realizujących określony algorytm AR1A_U21, Wykonanie ćwiczeń laboratoryjnych Kompetencje społeczne M_K001 rozumie potrzebę i zna możliwości ciągłego dokształcania się(studia drugiego i trzeciego stopnia, studia podyplomowe, kursy) podnoszenia kompetencji zawodowych, osobistych i społecznych AR1A_K01 Matryca efektów kształcenia w odniesieniu do form zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć Wykład audytoryjne laboratoryjne projektowe Konwersatori um seminaryjne praktyczne terenowe warsztatowe Inne E-learning Wiedza M_W001 M_W002 M_W003 Umiejętności ma uporządkowaną i podbudowaną teoretycznie wiedzę w zakresie informatyki, obejmującą w szczególności metody programowania, użytkowanie systemów operacyjnych, systemy bazodanowe oraz podstawy działania systemów czasu rzeczywistego i komputerowych systemów interaktywnych ma uporządkowaną wiedzę w zakresie sieci komputerowych powszechnego użytku oraz przemysłowych ma elementarną wiedzę w zakresie ochrony własności intelektualnej oraz prawa patentowego 2 / 5
M_U001 M_U002 M_U003 potrafi pracować indywidualnie i w zespole; umie oszacować czas potrzebny na realizację zleconego zadania; potrafi opracować i zrealizować harmonogram prac zapewniający dotrzymanie terminów ma umiejętność samokształcenia się, m.in. w celu podnoszenia kompetencji zawodowych potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować i weryfikować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie potrafi sformułować algorytm, posługuje się językami programowania wysokiego i niskiego poziomu oraz odpowiednimi narzędziami informatycznymi do opracowania programów komputerowych realizujących określony algorytm Kompetencje społeczne M_K001 rozumie potrzebę i zna możliwości ciągłego dokształcania się(studia drugiego i trzeciego stopnia, studia podyplomowe, kursy) podnoszenia kompetencji zawodowych, osobistych i społecznych Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Celem wykładu jest zapoznanie studentów z podstawowymi terminami i pojęciami związanymi z informatyką. Szczególny nacisk zostanie położony na umiejętność tworzenia aplikacji w języku C++, jako bazy niezbędnej do dalszych etapów nauki na studiach. W czasie wykładu jak i laboratoriów student nabywa wiedzę na temat programowania obiektowego jak i pewnych podstawowych algorytmów i struktur danych stosowanych w informatyce. Student ma możliwość zapoznania z takimi elementami programowania jak etapy tworzenia programu, znaczenie algorytmu, języka, kompilatora i interpretera. Omawiane są złożone typy danych, wyrażenia, zmienne statyczne, wskaźniki, zmienne dynamiczne oraz zagadnienia dynamicznego zarządzania pamięcią. Analizuje się zagadnienia strukturalizacji programu, procedury i funkcje oraz metody przekazywania parametrów. Rozważa się zagadnienia rekurencji. Studenci zapoznają się z możliwościami stosowania standardowych bibliotek, a w szczególności bibliotek 3 / 5
sterowania strumieniami wejścia-wyjścia. Integralną częścią przedmiotu są zajęcia laboratoryjne w czasie których studenci implementują omawiane zagadnienia w języku C++. Tematyka wykładu: 1.Język C w C++ 2.Paradygmaty programowania obiektowego abstrakcja danych 3.Paradygmaty programowania obiektowego hermetyzacja danych (klasy) 4.Przeciążanie operatorów 5.Klasy i dynamiczne zarządzanie pamięcią 6.Dziedziczenie i kompozycja 7.Polimorfizm (funkcje wirtualne) 8.Wielokrotne wykorzystywanie kodu (szablony) 9.Wyjątki 10.Klasy zaprzyjaźnione 11.Klasa String i biblioteka STL 12.Operacje wejścia/wyjścia (strumienie) laboratoryjne Tematyka laboratorium: 1.Projekt i implementacja programu w C wykorzystującego rekurencyjne struktury danych (listy). 2.Implementacja programu w C realizującego algorytm kolejki. 3.Zagadnienie projektowania klas w UML 4.Implementacja programu w C++ deklarującego i implementującego klasę (konstruktory, destruktory, przeciążanie operatorów). 5.Program w C++ implementujący algorytm sortowania leksykograficznego przy użyciu drzew przeszukiwań binarnych (wykorzystanie rekurencji). 6.Program w C++ wykorzystujący dziedziczenie. 7.Program w C++ wykorzystujący klasy abstrakcyjne oraz polimorficzne wywołanie funkcji. 8.Realizacja programu w C++ wykorzystującego szablony klas. 9.Włączenie obsługi wyjątków do programu. Sposób obliczania oceny końcowej Ocena z zaliczenia laboratorium Wymagania wstępne i dodatkowe Podstawy obsługi komputera, podstawy języków programowania Zalecana literatura i pomoce naukowe 1.Kernighan B.W., Ritchie D.M., Język C, WNT,1988, Warszawa. 2.Prata S., Szkoła programowania język C, Robomatic, Wrocław, 1999 3.Prata S., Szkoła programowania język C++, Robomatic, Wrocław, 2002 4.Eckel B., Thinking In C++, Helion, Gliwice 2002 5.Grębosz J., Symfonia C++, Editions, Kraków, 2000 Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu Nie podano dodatkowych publikacji Informacje dodatkowe 4 / 5
Brak Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w wykładach Udział w ćwiczeniach laboratoryjnych Przygotowanie do zajęć Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 90 godz 3 ECTS 5 / 5