Module also offered within study programmes:
General information:
Name:
Metodyka i techniki programowania 2
Course of study:
2019/2020
Code:
IETP-1-309-n
Faculty of:
Computer Science, Electronics and Telecommunications
Study level:
First-cycle studies
Specialty:
-
Field of study:
Electronics and Telecommunications
Semester:
3
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Part-time studies
Course homepage:
 
Responsible teacher:
dr inż. Frankowski Marek (mfrankow@agh.edu.pl)
Module summary

Programowanie w języku C i C++ lub C#. Podstawy programowania obiektowego. Podstawy użytkowania systemu Linux.

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 Rozumie potrzebę uczenia się ETP1A_K01 Project
Skills: he can
M_U001 Potrafi rozwiązywać trudniejsze zadania algorytmiczne ETP1A_U15 Project
M_U002 Potrafi zapisywać algorytmy w obiektowym języku programowania ETP1A_U15 Project
M_U003 Potrafi stosować dynamiczne strukturalne danych ETP1A_U15 Project
M_U004 Potrafi rozwiązywać proste zadania inżynierskie w języku Matlab ETP1A_W07, ETP1A_U15 Project
Knowledge: he knows and understands
M_W001 Zna i rozumie rolę procesów i wątków w programowaniu ETP1A_W14 Test
M_W002 Zna i rozumie podstawy niskopoziomowego programowania komputerów ETP1A_W14 Test
M_W003 Zna i rozumie zasady zarządzania pamięcią w programach komputerowych ETP1A_W07, ETP1A_W14 Test
M_W004 Zna języki kompilowane i interpretowane i rozumie różnice między nimi oraz ich ograniczenia ETP1A_W14 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
24 10 0 14 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 Rozumie potrzebę uczenia się + - + - - - - - - - -
Skills
M_U001 Potrafi rozwiązywać trudniejsze zadania algorytmiczne + - + - - - - - - - -
M_U002 Potrafi zapisywać algorytmy w obiektowym języku programowania + - + - - - - - - - -
M_U003 Potrafi stosować dynamiczne strukturalne danych + - + - - - - - - - -
M_U004 Potrafi rozwiązywać proste zadania inżynierskie w języku Matlab + - + - - - - - - - -
Knowledge
M_W001 Zna i rozumie rolę procesów i wątków w programowaniu + - + - - - - - - - -
M_W002 Zna i rozumie podstawy niskopoziomowego programowania komputerów + - + - - - - - - - -
M_W003 Zna i rozumie zasady zarządzania pamięcią w programach komputerowych + - + - - - - - - - -
M_W004 Zna języki kompilowane i interpretowane i rozumie różnice między nimi oraz ich ograniczenia + - + - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 75 h
Module ECTS credits 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 24 h
Preparation for classes 12 h
Realization of independently performed tasks 39 h
Module content
Lectures (10h):

1. Podstawy linux (praca ze środowiskiem i podstawowe komendy)
2. Linux (wybrane elementy zaawansowane, grep, apt-get)
3. C vs. Python – podstawowe porówanie
4. Język C I, wskaźniki, tablice, alokacja pamięci
5. Język C II, Argumenty funkcji, typy i rzutowanie, argumenty programu
6. Podstawy projektowania programów, podział programu na pliki
7. Język C++, podstawy programowania obiektowego, klasy, metody, pola

Laboratory classes (14h):

1. Podstawy linux (praca ze środowiskiem i podstawowe komendy)
2. Linux (wybrane elementy zaawansowane, grep, apt-get)
3. C vs. Python – podstawowe porówanie
4. Język C I, wskaźniki, tablice, alokacja pamięci
5. Język C II, Argumenty funkcji, typy i rzutowanie, argumenty programu
6. Podstawy projektowania programów, podział programu na pliki
7. Język C++, podstawy programowania obiektowego, klasy, metody, pola

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:

Ocenie podlega rozwiązywanie problemów zadanych na zajęciach, wykonywanie programistycznych zadań domowych oraz pisanie, krótkich kartkówek na zajęciach. Aby uzyskać zaliczenie należy zebrać przynajmniej 50% z każdej z tych trzech części. Następnie ocena jest wyznaczana zgodnie z regulaminem studiów.

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:

Ocena końcowa jest oceną z laboratorium.

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

W przypadku nieobecności nie przekraczających liczby dopuszczalnej przez regulamin studiów, sposób nadrobienia materiału określa prowadzący laboratorium (zadanie domowe lub kolokiwum poprawkowe).

Prerequisites and additional requirements:

Znajomość materiału z wykładu „Metodyki i techniki programowania I”

Recommended literature and teaching resources:

P. P. Silvester: System operacyjny UNIX. WNT, Warszawa 1990.
B.W. Kernighan, D.M. Ritchie: Język C. WNT, Warszawa 1988.
J. Grębosz: Symfonia C++ standard. Wydawnictwo Edition 2000, Kraków 2005.

Darmowe pomoce dostępne online:
https://wiki.python.org/moin/BeginnersGuide
https://books.goalkicker.com/CPlusPlusBook/
https://goalkicker.com/PythonBook/
https://goalkicker.com/LinuxBook/

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

- Spatial Spectrum Analyzer (SSA): A tool for calculations of spatial distribution of fast Fourier transform spectrum from Object Oriented Micromagnetic Framework output data, Marek Frankowski, Jakub Chęciński, Maciej Czapkiewicz, Computer Physics Communications 189, 207-212, 2015
- MAGE (M-file/Mif Automatic GEnerator): A graphical interface tool for automatic generation of Object Oriented Micromagnetic Framework configuration files and Matlab scripts for results analysis, Jakub Chęciński, Marek Frankowski, Computer Physics Communications 207, 487–498, 2016
- Electric-field tunable spin waves in PMN-PT/NiFe heterostructure: Experiment and micromagnetic simulations, Sławomir Ziętek, Jakub Chęciński, Marek Frankowski, Witold Skowroński, Tomasz Stobiecki, Journal of Magnetism and Magnetic Materials 428, 64–69, 2017

Additional information:

None