Module also offered within study programmes:
General information:
Name:
Techniki informatyczne
Course of study:
2019/2020
Code:
RIMM-1-105-s
Faculty of:
Mechanical Engineering and Robotics
Study level:
First-cycle studies
Specialty:
-
Field of study:
Mechanical and Materials Engineering
Semester:
1
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr hab. inż. Banaś Marian (mbanas@agh.edu.pl)
Module summary

Wprowadzenie studenta w problematykę budowy i użytkowania współczesnych systemów informatycznych,
zapoznanie z podstawami programowania w językach C oraz C++.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 Potrafi rozpoznać i ocenić przydatność narzędzi informatycznych spośród współcześnie dostępnych. IMM1A_K04, IMM1A_K06, IMM1A_K01 Involvement in teamwork,
Participation in a discussion,
Activity during classes
Skills: he can
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. IMM1A_U10, IMM1A_U07, IMM1A_U01, IMM1A_U09 Participation in a discussion,
Execution of laboratory classes
M_U002 Umie stworzyć, skompilować i przeprowadzić debugowanie prostego programu w języku C. Umie zastosować funkcje biblioteczne (standardowe i rozszerzające) we własnych programach. IMM1A_U10, IMM1A_U07, IMM1A_U01, IMM1A_U09 Execution of laboratory classes,
Participation in a discussion
M_U003 Umie definiować struktury danych, pobierać, przetwarzać i prezentować dane użytkownika. IMM1A_U10, IMM1A_U07, IMM1A_U01, IMM1A_U09 Execution of laboratory classes,
Participation in a discussion
M_U004 Umie napisać program z użyciem języka C++. Umie zbudować klasę, potrafi posłużyć się mechanizmami dziedziczenia i polimorfizmu. Umie zdefiniować operatory użytkownika i posłużyć się szablonami STL. IMM1A_U10, IMM1A_U07, IMM1A_U01, IMM1A_U09 Execution of laboratory classes,
Project
M_U005 Umie dobrać właściwy język programowania stosownie do wymagań systemowych i użytkownika. IMM1A_U10, IMM1A_U07, IMM1A_U01, IMM1A_U09 Execution of laboratory classes,
Participation in a discussion
Knowledge: he knows and understands
M_W001 Zna rolę systemów operacyjnych. Zna współczesne systemy operacyjne. Zna charakterystykę systemów Posix na przykładzie Unix/Linux. Zna podstawowe zasady funkcjonowania systemów Unix. Wie jak zarządzać zasobami konta, procesami. IMM1A_W04, IMM1A_W12 Activity during classes,
Test
M_W002 Zna budowę, modele topologie i zasady funkcjonowania sieci komputerowych. Wie co to jest Internet i zna jego podstawowe usługi. Ma świadomość zagrożeń bezpieczeństwa danych. IMM1A_W04, IMM1A_W12 Test,
Activity during classes
M_W003 Posiada wiedzę o sposobach tworzenia oprogramowania. Zna rolę i zasady tworzenia algorytmów. Potrafi scharakteryzować kompilatory, interpretery. Zna paradygmaty programowania strukturalnego, obiektowego i funkcyjnego. IMM1A_W04, IMM1A_W12 Activity during classes,
Test
M_W004 Zna elementy składowe języków programowania ANSI C i C++. Zna ich składnię i semantykę. IMM1A_W04, IMM1A_W12 Activity during classes,
Test
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
56 28 0 28 0 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 Potrafi rozpoznać i ocenić przydatność narzędzi informatycznych spośród współcześnie dostępnych. + - + - - - - - - - -
Skills
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 stworzyć, skompilować i przeprowadzić debugowanie prostego programu w języku C. Umie zastosować funkcje biblioteczne (standardowe i rozszerzające) we własnych programach. - - + - - - - - - - -
M_U003 Umie definiować struktury danych, pobierać, przetwarzać i prezentować dane użytkownika. - - + - - - - - - - -
M_U004 Umie napisać program z użyciem języka C++. Umie zbudować klasę, potrafi posłużyć się mechanizmami dziedziczenia i polimorfizmu. Umie zdefiniować operatory użytkownika i posłużyć się szablonami STL. - - + - - - - - - - -
M_U005 Umie dobrać właściwy język programowania stosownie do wymagań systemowych i użytkownika. - - + - - - - - - - -
Knowledge
M_W001 Zna rolę systemów operacyjnych. Zna współczesne systemy operacyjne. Zna charakterystykę systemów Posix na przykładzie Unix/Linux. Zna podstawowe zasady funkcjonowania systemów Unix. Wie jak zarządzać zasobami konta, procesami. + - - - - - - - - - -
M_W002 Zna budowę, modele topologie i zasady funkcjonowania sieci komputerowych. Wie co to jest Internet i zna jego podstawowe usługi. Ma świadomość zagrożeń bezpieczeństwa danych. + - - - - - - - - - -
M_W003 Posiada wiedzę o sposobach tworzenia oprogramowania. Zna rolę i zasady tworzenia algorytmów. Potrafi scharakteryzować kompilatory, interpretery. Zna paradygmaty programowania strukturalnego, obiektowego i funkcyjnego. + - - - - - - - - - -
M_W004 Zna elementy składowe języków programowania ANSI C i C++. Zna ich składnię i semantykę. + - - - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 113 h
Module ECTS credits 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 h
Preparation for classes 10 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 h
Realization of independently performed tasks 10 h
Examination or Final test 2 h
Contact hours 5 h
Module content
Lectures (28h):
  1. Systemy operacyjne. Systemy Posix. System Linux. Dystrybucje. Konta. Praca zdalna. Podstawowe polecenia systemu operacyjnego Unix/Linux. Biblioteki i narzędzia dla administratorów, programistów i użytkowników.

  2. Protokoły i usługi sieciowe. Wykorzystanie i tworzenie zasobów internetu. Sieciowe systemy Operacyjne, Systemy czasu rzeczywistego. Zdalna administracja. Bezpieczeństwo sieci komputerowych.

  3. Arytmetyka komputerów. Reprezentacja informacji w komputerze. Zapis binarny, ósemkowy, szesnastkowy. Kod ISO, ASCII, Unicode.

  4. Podstawy programowania w języku C – składnia języka, typy danych, zmienne, instrukcje, operatory, funkcje, makrodefinicje, preprocesor, wejście/wyjście.

  5. Struktury danych, komunikacja z użytkownikiem, projekt i implementacja algorytmu
    rozwiązania problemu informatycznego. Funkcje biblioteczne, struktury dynamiczne i
    algorytmy sortowania i optymalizacji.

  6. Podstawy programowania w języku C++, Cechy programowania obiektowego. Strumienie. Przeładowanie funkcji, Adresy do funkcji. referencje.

  7. Programowanie obiektowe. Klasy, dziedziczenie, polimorfizm. Mechanizm wyjątków.

  8. Przeładowanie operatorów. Szablony funkcji i klas. Biblioteki STL.

Laboratory classes (28h):

Nabycie praktycznych umiejętności z poniższych grup zagadnień:

Posługiwanie się wielodostępnymi sieciowymi systemami operacyjnymi
System operacyjny Linux. Wykorzystanie terminali dostępowych, konta i ich bezpieczeństwo, podstawowe polecenia systemu operacyjnego. Operacje na systemie plikowym, zarządzanie zasobami, archiwizacja. Wykorzystanie systemu wzorców nazw, strumieni i potoków.

Sieci komputerowych oraz usług sieci Internet
Poznanie budowy i działania sieci komputerowych. Rozpoznanie architektury sieci oraz adresowania i podstawowych usług TCP/IP. Wykorzystanie oprogramowania narzędziowego do wykorzystania i zarządzania administracji standardowych usług sieciowych (www, ftp, scp, e-mail). Tworzenie i konserwacja własnej strony WWW.

Programowanie strukturalne w języku C
Budowa programu. Wyprowadzanie sformatowanych tekstów. Dane, wyrażenia, stałe, zmienne, typy.. Operatory i wyrażenia. Instrukcje warunkowe, pętle, instrukcje wielokrotnego wyboru. Funkcje, argumenty, przekazywanie argumentów. Tablice. Algorytmy wyszukiwania, sortowania. Argumenty wywołania programu. Losowanie. Struktury i unie. Tworzenie bibliotek.

Programowanie obiektowe w języku C++
Nowe typy dachy w C++. Strumienie wejścia/wyjścia. Wskaźniki i referencje. Wskaźniki do funkcji. Tablice wielowymiarowe. Klasy. Dziedziczenie. Polimorfizm. Przeładowanie operatorów. Tworzenie szablonów funkcji oraz klas. Wykorzystanie składników biblioteki STL. Implementacja mechanizmów obsługi wyjątków. Tworzenie programów do rozwiązywania prostych problemów matematycznych i fizycznych, do analizy tekstów, do prostych obliczeń z wykorzystaniem bibliotek użytkowych.

Additional information
Teaching methods and techniques:
  • Lectures: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Laboratory classes: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zaliczenie wszystkich zadań z ćwiczeń laboratoryjnych.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Method of calculating the final grade:

Średnia z zaliczenia laboratoriów i kolokwium.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Rozwiązanie zadań z ćwiczeń laboratoryjnych, na których student był nieobecny na następnych zajęciach lub w innym terminie w porozumieniu z prowadzącym zajęcia.

Prerequisites and additional requirements:

Podstawowa znajomość obsługi komputera.

Recommended literature and teaching resources:

Sikorski W. : Podstawy Technik Informatycznych. PWN. Warszawa 2006.
Wojciechowski A. : Usługi w sieciach informatycznych. Wyd. MIKOM. Warszawa 2006.
Kernighan B.W. , Richtie D.M. : Język ANSI C. WNT, Warszawa, 2004.
Grębosz J. : Symfonia C++. Wyd Edition. Kraków 2006.
Grębosz J. : Opus Magnum C++. Wyd Edition. Kraków 2018.
Banaś M.: Techniki Informatyczne. Przewodnik do ćwiczeń, Kraków 2016 i późn. (cykliczne materiały dla studentów WIMiR)

Scientific publications of module course instructors related to the topic of the module:

Banaś M.: Techniki Informatyczne. Przewodnik do ćwiczeń, Kraków 2016 i późn. (cykliczne materiały dla studentów WIMiR).
Banaś M., Marczakowski P.: Oprogramowanie komputerowe do projektowania zbiorników niskociśnieniowych na podstawie normy API 620. Studencka Sesja Naukowa, AGH, Kraków 1997
Banaś M., Migdalski J.: Automatyzacja procesu badań potencjometrycznych z użyciem wielokanałowego, skompu-teryzowanego zestawu pomiarowego. Zeszyty Naukowe AGH, s. Mechanika, Kraków 2000, tom 19, 271-284.
Banaś M. Obtaining parameters of granulometric characteristics of suspension with usage computer controlled sedimentation balance. Vìsnik Nacìonal’nogo unìversitetu “L’vìvs`ka polìtehnìka” . ISSN 0321-0499. Komp’ûternì sistemi proektuvannâ. 2004 no. 501, s. 62–68
Banaś M. Computer simulations of the sedimentation process. Vidavnictvo Nacìonal’nogo unìversitetu “L’vìvs’ka polìtehnìka”. 2004. Pp. 244–247. Lviv.
Banaś M. Theoretical analysis and investigations of properties on non-grain suspensions used in design and exploitation of lamella sedimentation tanks. AGH. Kraków 2013.

Additional information:

Możliwość wcześniejszego zaliczenia laboratoriów na podstawie wyniku realizacji indywidualnego zadania oraz przedstawieniu własnych osiągnięć.