Nazwa modułu: Techniki informatyczne Rok akademicki: 2014/2015 Kod: RBM-1-104-s Punkty ECTS: 2 Wydział: Inżynierii Mechanicznej i Robotyki Kierunek: Mechanika i Budowa Maszyn Specjalność: Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 1 Strona www: Osoba odpowiedzialna: prof. dr hab. inż. Kowalski Włodzimierz (wkowalsk@agh.edu.pl) Osoby prowadzące: dr inż. Kołodziejczyk Krzysztof (krkolodz@agh.edu.pl) dr hab. inż. Kulinowski Piotr (piotr.kulinowski@agh.edu.pl) dr inż. Gregorczyk Ryszard (gregorcz@agh.edu.pl) dr hab. inż. Banaś Marian (mbanas@agh.edu.pl) prof. dr hab. inż. Kowalski Włodzimierz (wkowalsk@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 Posiada wiedzę o architekturze współczesnych komputerów. Zna zasadę działania mikroprocesorów. Zna systemami binarny, oktalny i heksadecymalny. M_W002 Zna rolę systemów operacyjnych. Wie jakie są grupy współczesnych systemów operacyjnych. Zna charakterystykę systemów Posix na przykładzie Unix/Linux. M_W003 Zna podstawowe zasady funkcjonowania systemów Unix. Wie jak zarządzać zasobami konta, procesami. M_W004 Zna budowę, modele topologii i zasady funkcjonowania sieci komputerowych. Wie co to jest Internet i zna jego podstawowe usługi. Ma świadomość zagrożeń bezpieczeństwa danych. 1 / 8
M_W005 Zna sposoby komunikacji i prezentacji danych w Internecie. M_W006 Posiada wiedzę o sposobach tworzenia oprogramowania. Potrafi scharakteryzować kompilatory, interpretery. M_W007 Zna język programowania ANSI C. Zna jego składnię i syntaktykę. M_W008 Zna sposoby komunikowania się programów (na przykładzie języka C) z użytkownikiem. M_W009 Zna podstawowe funkcje z bibliotek standardowych. Zna sposoby definiowania zaawansowanych struktur danych i sortowania. M_W010 Wie jakie są inne ważniejsze języki programowana, zna zakres ich stosowania i podstawową charakterystykę. M_W011 Wie co to są relacyjne bazy danych, zna zasady ich funkcjonowania. Ma rozeznanie we współczesnych darmowych i komercyjnych systemach baz danych. M_W012 Wie co to są relacyjne bazy danych, zna zasady ich funkcjonowania. Ma rozeznanie we współczesnych darmowych i komercyjnych systemach baz danych. Udział w dyskusji M_W013 Orientuje się w bieżących kierunkach rozwoju technik informatycznych. Umiejętności M_U001 Umie się posługiwać się systemami wielodostępnymi na przykładzie Linuxa. Umie zarządzać procesami, rozpoznać otoczenie, dobrać właściwe oprogramowanie terminalowe do pracy z systemami unixowymi. M_U002 Umie zarządzać zasobami konta, transferować pliki pomiędzy różnymi systemami. M_U003 Umie skonfigurować protokół TCP/IP, korzystać z różnych klientów e-mail, założyć i zarządzać swoją stroną WWW. M_U004 Umie stworzyć, skompilować i przeprowadzić debugowanie prostego programu w języku C. M_U005 Umie biegle posługiwać się elementami składni i fleksji języka C. M_U006 Umie zastosować funkcje biblioteczne (standardowe i rozszerzające) we własnych programach. M_U007 Umie definiować struktury danych, pobierać, przetwarzać i prezentować dane użytkownika. Projekt, 2 / 8
M_U008 Umie dobrać właściwy język programowania stosownie do wymagań systemowych i użytkownika. Projekt, M_U009 Umie aktywnie zapobiegać zagrożeniom sieciowym. Projekt, M_U010 Umie efektywnie korzystać z możliwości jakie daje model pracy w chmurze (Cloud Computing), potrafi ocenić jej możliwości i zagrożenia. Projekt, M_U011 Potrafi nabyć i doskonalić znajomość nowych rozwiązań informatycznych. Umie samodzielnie dobrać produkt informatyczny stosownie do wymagań stawianych przez pracodawcę i środowisko. Projekt, M_U012 Potrafi posłużyć się współczesnymi środkami informatycznymi do wspomagania rozwiązywania problemów inżynierskich oraz społeczności, w której pracuje. BM1A_K06, BM1A_K01, BM1A_K04, BM1A_K03 Zaangażowanie w pracę zespołu Kompetencje społeczne M_K001 Potrafi rozpoznać i ocenić przydatność narzędzi informatycznych spośród współcześnie dostępnych. BM1A_K06, BM1A_K01, BM1A_K04, BM1A_K03 Zaangażowanie w pracę zespołu M_K002 Ma świadomość szybkiego postępu w technikach informacyjnych i rozumie potrzebę stałego dokształcania się w dziedzinie informatyki. BM1A_K06, BM1A_K01, BM1A_K04, BM1A_K03 Zaangażowanie w pracę zespołu 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 Ćwiczenia audytoryjne Ćwiczenia laboratoryjne Ćwiczenia projektowe Konwersatori um Zajęcia seminaryjne Zajęcia praktyczne Zajęcia terenowe Zajęcia warsztatowe Inne E-learning Wiedza M_W001 M_W002 Posiada wiedzę o architekturze współczesnych komputerów. Zna zasadę działania mikroprocesorów. Zna systemami binarny, oktalny i heksadecymalny. Zna rolę systemów operacyjnych. Wie jakie są grupy współczesnych systemów operacyjnych. Zna charakterystykę systemów Posix na przykładzie Unix/Linux. 3 / 8
M_W003 M_W004 M_W005 M_W006 M_W007 M_W008 M_W009 M_W010 M_W011 M_W012 M_W013 Umiejętności M_U001 Zna podstawowe zasady funkcjonowania systemów Unix. Wie jak zarządzać zasobami konta, procesami. Zna budowę, modele topologii i zasady funkcjonowania sieci komputerowych. Wie co to jest Internet i zna jego podstawowe usługi. Ma świadomość zagrożeń bezpieczeństwa danych. Zna sposoby komunikacji i prezentacji danych w Internecie. Posiada wiedzę o sposobach tworzenia oprogramowania. Potrafi scharakteryzować kompilatory, interpretery. Zna język programowania ANSI C. Zna jego składnię i syntaktykę. Zna sposoby komunikowania się programów (na przykładzie języka C) z użytkownikiem. Zna podstawowe funkcje z bibliotek standardowych. Zna sposoby definiowania zaawansowanych struktur danych i sortowania. Wie jakie są inne ważniejsze języki programowana, zna zakres ich stosowania i podstawową charakterystykę. Wie co to są relacyjne bazy danych, zna zasady ich funkcjonowania. Ma rozeznanie we współczesnych darmowych i komercyjnych systemach baz danych. Wie co to są relacyjne bazy danych, zna zasady ich funkcjonowania. Ma rozeznanie we współczesnych darmowych i komercyjnych systemach baz danych. Orientuje się w bieżących kierunkach rozwoju technik informatycznych. Umie się posługiwać się systemami wielodostępnymi na przykładzie Linuxa. Umie zarządzać procesami, rozpoznać otoczenie, dobrać właściwe oprogramowanie terminalowe do pracy z systemami unixowymi. 4 / 8
M_U002 M_U003 M_U004 M_U005 M_U006 M_U007 M_U008 M_U009 M_U010 M_U011 M_U012 Umie zarządzać zasobami konta, transferować pliki pomiędzy różnymi systemami. Umie skonfigurować protokół TCP/IP, korzystać z różnych klientów e-mail, założyć i zarządzać swoją stroną WWW. Umie stworzyć, skompilować i przeprowadzić debugowanie prostego programu w języku C. Umie biegle posługiwać się elementami składni i fleksji języka C. Umie zastosować funkcje biblioteczne (standardowe i rozszerzające) we własnych programach. Umie definiować struktury danych, pobierać, przetwarzać i prezentować dane użytkownika. Umie dobrać właściwy język programowania stosownie do wymagań systemowych i użytkownika. Umie aktywnie zapobiegać zagrożeniom sieciowym. Umie efektywnie korzystać z możliwości jakie daje model pracy w chmurze (Cloud Computing), potrafi ocenić jej możliwości i zagrożenia. Potrafi nabyć i doskonalić znajomość nowych rozwiązań informatycznych. Umie samodzielnie dobrać produkt informatyczny stosownie do wymagań stawianych przez pracodawcę i środowisko. Potrafi posłużyć się współczesnymi środkami informatycznymi do wspomagania rozwiązywania problemów inżynierskich oraz społeczności, w której pracuje. - - - - - - - - - - - Kompetencje społeczne M_K001 Potrafi rozpoznać i ocenić przydatność narzędzi informatycznych spośród współcześnie dostępnych. + - + - - - - - - - - 5 / 8
M_K002 Ma świadomość szybkiego postępu w technikach informacyjnych i rozumie potrzebę stałego dokształcania się w dziedzinie informatyki. + - + - - - - - - - - Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Zasady korzystania z usług sieci komputerowych na przykładzie AGH. Systemy wielozadaniowe. Oprogramowania systemowe. Dystrybucje. Powłoki systemów operacyjnych. Podstawowe polecenia systemu operacyjnego Unix/Linux. Biblioteki i narzędzia dla administratorów, programistów i użytkowników. Protokoły. Usługi sieciowe. Podstawy, rozwój i rozszerzenia języka HTML. Eksploracja i tworzenie zasobów internetu. Arytmetyka komputerów. Reprezentacja informacji w komputerze. Zapis binarny, ósemkowy, szesnastkowy. Kod ISO, ASCII, Unicode. Etapy i narzędzia tworzenia oprogramowania. Języki programowania komputerów. Poziomy języków programowania. Gramatyka języka. Odwrotna notacja polska. Style programowania. Algorytmy. Maszyna Turinga. Struktury danych. Podstawy programowania w języku C składnia języka, typy danych, zmienne, instrukcje, operatory, funkcje, makrodefinicje, preprocesor, wejście/wyjście. Struktury danych, komunikacja z użytkownikiem, projekt i implementacja algorytmu rozwiązania problemu informatycznego. Funkcje biblioteczne, struktury dynamiczne i algorytmy sortowania i optymalizacji. Podstawy programowania w języku C++, Cechy programowania obiektowego. Pakiety CASE. Kierunki rozwoju języków programowania. Lisp, Java, C1.. Sieciowe systemy Operacyjne, Systemy czasu rzeczywistego. Zdalna administracja. Bezpieczeństwo sieci komputerowych. Systemy baz danych. Język SQL. Praca środowisku rozproszonym. Cloud Computing Chmura. Kierunki rozwoju informatyki. Ćwiczenia laboratoryjne 6 / 8
System Unix. Programy terminala, ssh. Identyfikatory komputerów i użytkowników. Hasła. Rozpoznawanie otoczenia, struktury plików, praw dostępu. Organizacja i zarządzanie zasobami konta. Wzorce nazw. Strumienie. Archiwizacja. Poczta elektroniczna. Programy komunikacyjne. FTP protokół i usługa, SCP. Tworzenie i pielęgnacja prostej strony WWW. Programowanie w języku C. Operacje wejścia/wyjścia. Zmienne, typy zmiennych, formatowanie. Operatory i wyrażenia. Instrukcje warunkowe. Funkcje, argumenty, przekazywanie argumentów. Wskaźniki i tablice. Pętle. Tworzenie bibliotek. Struktury. Programowanie w języku C++. Strumienie wejścia/wyjścia. Klasy. Dziedziczenie. Polimorfizm. Tworzenie programów do rozwiązywania prostych problemów matematycznych i fizycznych, do analizy tekstów, do zamiany zapisu liczb w różnych systemach liczenia. Tworzenie interaktywnych stron WWW. Oprogramowanie relacyjnych baz danych. Praca w chmurze. Sposób obliczania oceny końcowej Średnia z zaliczenia laboratoriów i kolokwium. Wymagania wstępne i dodatkowe Podstawowa znajomość obsługi komputera. Zalecana literatura i pomoce naukowe Sikorski W. : Podstawy Technik Informatycznych. PWN. Warszawa 2006. Kernighan B.W., Richtie D.M. : Język ANSI C. WNT, Warszawa, 2004. Wojciechowski A. : Usługi w sieciach informatycznych. Wyd. MIKOM. Warszawa 2006. Grębosz J. : Symfonia C++. Wyd Edition. Kraków 2006. Kowalski W.P. i inni: Techniki Informatyczne. Przewodnik do ćwiczeń, Kraków 2012 i późn.(cykliczne materiały dla studentów WIMiR) Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu Nie podano dodatkowych publikacji Informacje dodatkowe Możliwość wcześniejszego zaliczenia laboratoriów na podstawie wyniku realizacji indywidualnego zadania oraz przedstawieniu własnych osiągnięć. 7 / 8
Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w wykładach Udział w ćwiczeniach Przygotowanie do zajęć Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 30 godz 30 godz 15 godz 75 godz 2 ECTS 8 / 8