Nazwa modułu: Podstawy Informatyki Rok akademicki: 2017/2018 Kod: MIS-1-105-n Punkty ECTS: 4 Wydział: Inżynierii Metali i Informatyki Przemysłowej Kierunek: Informatyka Stosowana Specjalność: - Poziom studiów: Studia I stopnia Forma i tryb studiów: - Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 1 Strona www: http://home.agh.edu.pl/~szt/ Osoba odpowiedzialna: Sztangret Łukasz (szt@agh.edu.pl) Osoby prowadzące: 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 Zna podstawowe zasady działania komputera, zapisu i przetwarzania informacji. Potrafi tę wiedzę zastosować dla podanych przykładów., Egzamin, Kolokwium M_W002 Zna składnie języka C++, potrafi definiować zmienne, wskaźniki, funkcje, tablice, struktury. Potrafi korzystać z mechanizmu obsługi sytuacji wyjątkowych. M_W003 Rozumie zasady programowania proceduralnego, potrafi analizować działanie różnych programów., Egzamin, Kolokwium M_W004 Zna zasady tworzenia algorytmów rozwiązania dla modelowych zadań: potrafi dobrać struktury danych, metodę konstruowania algorytmu. Zna zasady zapisu algorytmu w pseudokodzie oraz za pomocą schematu blokowego. Umiejętności M_U001 Potrafi zastosować poznane mechanizmy do rozwiązywania problemów różnych obliczeniowych, potrafi opracować algorytm postępowania w celu rozwiązania postawionego problemu. IS1A_U08 1 / 5
M_U002 Potrafi korzystać z podanych pozycji literaturowych oraz pozyskiwać własne źródła wiedzy. IS1A_U08 M_U003 Wykazuje gotowość do pracy zespołowej nad tworzeniem rozwiązania dla rozpatrywanego problemu algorytmicznego. IS1A_U08, IS1A_U16 M_U004 Wykazuje umiejętność rozwiązania postawionego problemu poprzez napisanie i przetestowanie programu. IS1A_U08, IS1A_U16 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 M_W004 Umiejętności M_U001 Zna podstawowe zasady działania komputera, zapisu i przetwarzania informacji. Potrafi tę wiedzę zastosować dla podanych przykładów. Zna składnie języka C++, potrafi definiować zmienne, wskaźniki, funkcje, tablice, struktury. Potrafi korzystać z mechanizmu obsługi sytuacji wyjątkowych. Rozumie zasady programowania proceduralnego, potrafi analizować działanie różnych programów. Zna zasady tworzenia algorytmów rozwiązania dla modelowych zadań: potrafi dobrać struktury danych, metodę konstruowania algorytmu. Zna zasady zapisu algorytmu w pseudokodzie oraz za pomocą schematu blokowego. Potrafi zastosować poznane mechanizmy do rozwiązywania problemów różnych obliczeniowych, potrafi opracować algorytm postępowania w celu rozwiązania postawionego problemu. 2 / 5
M_U002 M_U003 M_U004 Potrafi korzystać z podanych pozycji literaturowych oraz pozyskiwać własne źródła wiedzy. Wykazuje gotowość do pracy zespołowej nad tworzeniem rozwiązania dla rozpatrywanego problemu algorytmicznego. Wykazuje umiejętność rozwiązania postawionego problemu poprzez napisanie i przetestowanie programu. Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Podstawowe pojęcia związane z informatyką i programowaniem Definicja i cechy algorytmu, metody konstrukcji i etapy rozwiązywania zadań algorytmicznych. Zapis algorytmu: schemat blokowy, pseudokod. Struktura programu. Sterowanie przebiegiem działania programu Instrukcja sterujące: rozgałęzienia, pętle i skoki. Biblioteki i moduły. Typy w języku C++ Typy: fundamentalne, pochodne, wbudowane, definiowane przez użytkownika). Zmienne i stałe. Zakres ważności nazw i czas życia obiektów. Reprezentacja liczb w komputerze Jednostki informacji. Sposoby zapisu danych w pamięci. Pozycyjne systemy liczbowe. Reprezentacja liczb całkowitych: reprezentacja liczb nieujemnych, kod znak-moduł, kod U1, kod U2, kod z nadmiarem. Liczby stałoprzecinkowe. Liczby zmiennoprzecinkowe. Operatory Użycie operatorów, ich priorytety i łączność. Najczęstsze błędy związane z niewłaściwym użyciem operatorów. Funkcje i procedury Przesyłanie parametrów, zwracanie rezultatów, wywoływanie. Funkcje inline. Funkcje biblioteczne. Argumenty wywołania programu. Rekurencja. Przeładowanie nazw funkcji, szablony funkcji. Preprocesor Dyrektywy preprocesora. Makrodefinicje, kompilacja warunkowa. Tablice Elementy tablic, indeksowanie, definiowanie. Tablice wielowymiarowe. Wskaźniki Definiowanie, używanie wskaźników. Wskaźniki a tablice. Przekazywanie tablic do funkcji, funkcje zwracające tablice. Dynamiczne przydzielanie pamięci operatory new i delete. Tablice wskaźników. Wskaźniki do funkcji. Typy definiowane przez użytkownika Definiowanie struktur i obiektów strukturalnych. Odwoływanie się do składników 3 / 5
struktury. Wskaźniki do struktur. Struktury zagnieżdżone i lokalne. Metody składowe struktury. Pola bitowe i unie. Klasa biblioteczna std::string Definiowane i operacje na obiektach klasy string. Obsługa wejścia/wyjścia Posługiwanie się strumieniami, zmiana formatowanie. Strumienie płynące do i z plików. Mechanizm obsługi sytuacji wyjątkowych Bloki try i catch, instrukcja throw. Funkcje exit, abort, terminale i set_terminate laboratoryjne Rozwiązywanie zadań i implementacja z zakresu opracowania i implementacji algorytmów i struktur danych do rozwiązywania problemów obliczeniowych z zastosowaniem poznanych technik programowania. Sposób obliczania oceny końcowej Średnia ważona 0.4 ocena z ćwiczeń + 0.6 ocena z egzaminu. Wymagania wstępne i dodatkowe Zgodnie z Regulaminem Studiów AGH podstawowym terminem uzyskania zaliczenia jest ostatni dzień zajęć w danym semestrze. Termin zaliczenia poprawkowego (tryb i warunki ustala prowadzący moduł na zajęciach początkowych) nie może być późniejszy niż ostatni termin egzaminu w sesji poprawkowej (dla przedmiotów kończących się egzaminem) lub ostatni dzień trwania semestru (dla przedmiotów niekończących się egzaminem). Zalecana literatura i pomoce naukowe 1. Cormen T. Leiserson C. Rivest R., Wprowadzenie do algorytmów, WNT 2000. 2. Knuth D., Sztuka Programowania, WNT 2002. 3. N. Wirth, Algorytmy + struktury danych = programy, WNT, 1999. 4. Aho A.V., Hopcroft J.E., Ulman J.D., Projektowanie i analiza algorytmów komputerowych, PWN, 1983. 5. Grębosz J., Symfonia C++ standard, Wydawnictwo Edition 2000, Kraków 2008. 6. Grębosz J., Pasja C++, Oficyna Kallimach, Kraków 1999. 7. B. Eckel, Thinking in C++, Helion, Gliwice 2002. Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu 1. Analiza wrażliwości jako metoda wspomagająca optymalizację parametrów procesów metalurgicznych Sensitivity analysis as a supporting procedure in optimization of metallurgical processes / Łukasz SZTANGRET, Danuta SZELIGA, Jan KUSIAK // Hutnik Wiadomości Hutnicze : czasopismo naukowo-techniczne poświęcone zagadnieniom hutnictwa ; ISSN 1230-3534. 2010 R. 76 nr 12, s. 721 725. Bibliogr. s. 725 2. Computer aided design of the best TR forging technology for crank shafts Wspomagane komputerowo projektowanie najlepszej technologii kucia wałów korbowych metodą TR / Łukasz SZTANGRET, Andrzej MILENIN, Mateusz SZTANGRET, Wojciech Walczyk, Maciej PIETRZYK, Jan KUSIAK // Computer Methods in Materials Science : quarterly / Akademia Górniczo-Hutnicza ; ISSN 1641-8581. Tytuł poprz.: Informatyka w Technologii Materiałów. 2011 vol. 11 no. 2, s. 237 242. Bibliogr. s. 241 242, Abstr., Streszcz. 3. Computer system for identification of material models on the basis of plastometric tests System komputerowy do identyfikacji modeli materiałowych na podstawie testów plastometrycznych / L. RAUCH, L. SZTANGRET, M. PIETRZYK // Archives of Metallurgy and Materials / Polish Academy of Sciences. Committee of Metallurgy. Institute of Metallurgy and Materials Science ; ISSN 1733-3490. 2013 vol. 58 iss. 3, s. 737 743. Bibliogr. s. 742 743. 4 / 5
4. Industrial process control with case-based reasoning approach Sterowanie procesów przemysłowych z podejściem opartym na wnioskowaniu epizodycznym / Jan KUSIAK, Gabriel ROJEK, Łukasz SZTANGRET, Piotr JAROSZ // Computer Methods in Materials Science : quarterly / Akademia Górniczo-Hutnicza ; ISSN 1641-8581. Tytuł poprz.: Informatyka w Technologii Materiałów. 2013 vol. 13 no. 2, s. 313 319. Bibliogr. s. 318, Abstr., Streszcz. 5. Zastosowanie zmodyfikowanej strategii aproksymacyjnej w optymalizacji procesów metalurgicznych Modified approximation strategy in optimization of metallurgical processes / Łukasz SZTANGRET, Marcin Szpieg, Jan KUSIAK // Hutnik Wiadomości Hutnicze : czasopismo naukowo-techniczne poświęcone zagadnieniom hutnictwa ; ISSN 1230-3534. 2010 R. 77 nr 11, s. 674 678. Bibliogr. s. 678 Informacje dodatkowe Brak Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w ćwiczeniach Udział w wykładach Samodzielne studiowanie tematyki zajęć Przygotowanie do zajęć Egzamin lub kolokwium zaliczeniowe Dodatkowe godziny kontaktowe z nauczycielem Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 18 godz 18 godz 36 godz 36 godz 2 godz 10 godz 120 godz 4 ECTS 5 / 5