Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Metodyka i techniki programowania 2
Tok studiów:
2014/2015
Kod:
IET-1-205-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Elektronika i Telekomunikacja
Semestr:
2
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
prof. dr hab. inż. Zieliński Tomasz (tzielin@agh.edu.pl)
Osoby prowadzące:
dr inż. Dańda Jacek (danda@agh.edu.pl)
dr inż. Orzechowski Tomasz Marcin (tomeko@agh.edu.pl)
Wszołek Jacek (jwszolek@kt.agh.edu.pl)
prof. dr hab. inż. Zieliński Tomasz (tzielin@agh.edu.pl)
Krótka charakterystyka modułu

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 i rozumie rolę procesów i wątków w programowaniu ET1A_W07 Kolokwium
M_W002 Zna i rozumie podstawy niskopoziomowego programowania komputerów ET1A_W07 Kolokwium
M_W003 Zna i rozumie zasady przeprowadzania obliczeń inżynierskich w środowisku Matlab ET1A_W14, ET1A_W07 Kolokwium
M_W004 Zna język UML i jego rolę w tworzeniu systemów informatycznych ET1A_W17, ET1A_W07 Kolokwium
Umiejętności
M_U001 Potrafi stosować dynamiczne strukturalne danych ET1A_U24 Projekt
M_U002 Potrafi rozwiązywać trudniejsze zadania algorytmiczne ET1A_U24 Projekt
M_U003 Potrafi zapisywać algorytmy w obiektowym języku programowania ET1A_U24 Projekt
M_U004 Potrafi rozwiązywać proste zadania inżynierskie w języku Matlab ET1A_U24, ET1A_W14 Projekt
Kompetencje społeczne
M_K001 Rozumie potrzebę uczenia się ET1A_K01 Udział w dyskusji
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
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
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 przeprowadzania obliczeń inżynierskich w środowisku Matlab + - + - - - - - - - -
M_W004 Zna język UML i jego rolę w tworzeniu systemów informatycznych + - + - - - - - - - -
Umiejętności
M_U001 Potrafi stosować dynamiczne strukturalne danych + - + - - - - - - - -
M_U002 Potrafi rozwiązywać trudniejsze zadania algorytmiczne + - + - - - - - - - -
M_U003 Potrafi zapisywać algorytmy w obiektowym języku programowania + - + - - - - - - - -
M_U004 Potrafi rozwiązywać proste zadania inżynierskie w języku Matlab + - + - - - - - - - -
Kompetencje społeczne
M_K001 Rozumie potrzebę uczenia się + - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

Zajęcia w ramach modułu prowadzone są w postaci wykładu (15 godzin) oraz ćwiczeń laboratoryjnych (30 godzin). Ćwiczenia laboratoryjne dotyczą materiału z bieżącego wykładu oraz poprzedniego „Metodyka i techniki programowania I”.

WYKŁADY

1.Procesy i wątki w języku C/C++: budowa i stany procesu, proces macierzysty i potomny, komunikaty i sygnały, synchronizacja, rozwidlenie, podmiana kodu.
2-3.Programowanie urządzeń wejścia/wyjścia: procesor, rejestry, segmentacja i stronicowanie pamięci, przerwania sprzętowe i programowe, funkcje BIOS-u i ich wywoływanie, kanały DMA. Asembler, łączenie kodu napisanego w asemblerze z kodem napisanym w języku C/C++. Biblioteki rozszerzające język C/C++. Podstawy grafiki komputerowej.
4-6.Język Matlab jako narzędzie obliczeń inżynierskich. Podstawy programowania. Przykłady obliczeń naukowo-technicznych.
7-8.Wprowadzenie do języka UML.

Ćwiczenia laboratoryjne:

ĆWICZENIA LABORATORYJNE

W module prowadzone są zajęcia laboratoryjne (komputerowe), w trakcie których studenci piszą programy w języku C/C++ i Matlab. Treści tych zajęć ugruntowują i rozszerzają wiedzę przekazywaną podczas wykładów. Materiał laboratorium dotyczy także zagadnień przekazanych podczas wykładu w poprzednim semestrze. W tym semestrze laboratorium bardziej koncentruje się na technikach programowania i algorytmicznym rozwiązywaniu problemów niż na samym języku programowania (algorytmika, struktury danych, C++, Matlab).

1.Funkcje rekurencyjne. Ilustracja korzyści i zagrożeń wynikających z wykorzystania funkcji rekurencyjnych. Praktyczne wykorzystanie funkcji rekurencyjnych w implementacji algorytmów obliczeniowych.
2.Statyczne struktury danych. Manipulacja polami struktur uporządkowanych w tablicach.
3.Przekazywanie złożonych struktur danych pomiędzy funkcjami programu, problem zasięgu.
4.Dynamiczne struktury danych, rezerwowanie i zwalnianie pamięci pod zmienne dowolnego typu.
5.Problem zarządzania pamięcią w językach bez mechanizmu ,,garbage collection’’.
6.Procesy i wątki. Analiza i zarządzanie procesami w systemach uniksopodobnych z poziomu powłoki oraz języka programowania.
7.Elementy współbieżnego programowania w języku C przy wykorzystaniu rozwidlenia procesu.
8.Wprowadzenie do programowania obiektowego. Deklaracja klas i podstawowych elementów składowych.
9.Elementy programowania obiektowego: przeładowanie funkcji i operatorów. Możliwość rozszerzenia podstawowych funkcji języka za pomocą mechanizmu przeładowania.
10.Algorytmy sortowania: bąbelkowe, QuickSort, qsort().
11.Algorytmy sortowania i wyszukiwania w strukturach drzewiastych.
12.Wprowadzenie do języka programowania i środowiska Matlab. Różnice pomiędzy Matlab i C.
13.Proste programy w języku Matlab.
14.Opracowywanie wyników eksperymentu w języku Matlab.
15.Sprawdzenie wiadomości. Wystawienie ocen.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 80 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 15 godz
Samodzielne studiowanie tematyki zajęć 15 godz
Udział w ćwiczeniach laboratoryjnych 30 godz
Przygotowanie sprawozdania, pracy pisemnej, prezentacji, itp. 20 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1.Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z ćwiczeń laboratoryjnych oraz kolokwium z wykładu.
2.Obliczamy średnią arytmetyczną z ocen zaliczenia i kolokwium uzyskanych we wszystkich terminach.
3.Wyznaczmy ocenę końcową na podstawie zależności:
if sr>4.75 then OK:=5.0 else
if sr>4.25 then OK:=4.5 else
if sr>3.75 then OK:=4.0 else if sr>3.25 then OK:=3.5 else OK:=3
4.Jeżeli pozytywną ocenę z ćwiczeń laboratoryjnych i kolokwium uzyskano w pierwszym terminie oraz ocena końcowa jest mniejsza niż 5.0 to ocena końcowa jest podnoszona o 0.5

Wymagania wstępne i dodatkowe:

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

Zalecana literatura i pomoce naukowe:

1.P. Metzger: „Anatomia PC”, Helion, Gliwice 2006.
2.J. Grębosz: „Symfonia C++ standard”, Wydawnictwo „Edition 2000”, Kraków 2005.
3.S. Prata: „Język C++. Szkoła programowania”, wyd. 5, Helion 2006.
4.P. Wróblewski: „Algorytmy, struktury danych i techniki programowania”, Helion, Gliwice 2003.
5.N. Wirth: „Algorytmy + Struktury danych = Programy”, WNT, Warszawa 1989.
6.P. Rudra: Matlab 7 dla naukowców i inżynierów”, PWN 2007.
7.J. Brzózka, L. Dorobczyński: „Matlab środowisko obliczeń naukowo-technicznych”, PWN 2008.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Zieliński T.P.: „Od teorii do cyfrowego przetwarzania sygnałów”, 576 str. Wydział EAIiE-AGH, Kraków 2002, 2004.
2. Zieliński T.P.: „Cyfrowe przetwarzanie sygnałów. Od teorii do zastosowań”, 832 str., Wydaw-nictwa Komunikacji i Łączności, Warszawa 2005, 2007, 2009, 2014.
3. Szyper M., Zielinski T.P., Sroka R.: “Spectral Analysis of Nonstationary Signals in the System with Wide Phase Modulation”, IEEE Trans. on Instrumentation and Measurement, vol. 41, no. 6, pp. 919-920, IF=1.79 (2014), 1992.
4. Zielinski T.P.: “Joint Time-Frequency Resolution of Signal Analysis with Gabor Transform“, IEEE Trans. on Instrumentation and Measurement, vol. 50, no. 5, pp.1436-1444, IF=1.79 (2014), 2001.
5. Wielgat R., Zieliński T.P., Woźniak T., Grabias S., Król D.: “Automatic Recognition of Pathological Phoneme Production“, Folia Phoniatrica et Logopedica, vol. 2008, no. 6, str. 323-331, IF=0.655 (2006), IF=1.439 (2007), 2008.
6. Bułat J., Duda K., Socha M., Turcza P., Zieliński T.P., Duplaga M.: “Computational Tasks in Computer-Assisted Transbronchial Biopsy”, Future Generation Computer Systems (Elsevier), vol. 26, iss. 3, str. 455–461, IF 2.229, 2010.
7. K. Duda, L. B. Magalas, M. Majewski, T. P. Zieliński: “DFT based Estimation of Damped Oscillation’s Parameters in Low–frequency Mechanical Spectroscopy”, IEEE Trans. on Instrumentation and Measurement, str. 3608-3618, IF 0.978 (2011), IF 1.382 (5-cio letni), 2011.
8. Skalski A., Socha M., Zieliński T.P., Duplaga M.: „Virtual colonoscopy – technical aspects”, pp. 271-290 in „Colonoscopy” (ed. Paul Miskovitz), InTech, Rijeka 2011.
9. Zieliński T.P., Duda K.: “Frequency and Damping Estimation Methods – An Overview“, Metrology and Measurement Systems: Quaterly of Polish Academy of Sciences, vol. 18, no. 4, str. 505–528, IF=0.587 (2010), IF=0.982 (2012), 2011.
10. Skalski A., Kos A., Zieliński T.P.: “Using ASM in CT data segmentation for prostate radiotherapy”, pp. 610-617 in “Computer Vision and Graphics” (ed. Bolc L.), Lecture Notes in Computer Science, Springer, Berlin 2012.
11. Duda K., Zielinski T.P.: “Efficacy of the Frequency and Damping Estimation of a Real-Value Sinusoid“, IEEE Instrumentation and Measurement Magazine, vol. 16, iss. 2, pp. 48-58, IF=0.556, (2012), IF=0.828 (5-cio letni), April 2013.
12. Zieliński T.P., Korohoda P., Rumian R. (redakcja całości): „Cyfrowe przetwarzanie sygnałów w telekomunikacji: podstawy, multimedia, transmisja”, autorstwo 131 stron, współautorstwo 87 stron, PWN, Warszawa 2014.
13. Wiśniewski M., Zieliński T.P.: „Joint Application of Audio Spectral Envelope and Tonality Index in an E-Asthma Monitoring System”, IEEE Journal of Biomedical and Health Informatics, vol. 19, no. 4, pp. 1009-1018, IF=2.072 (2013), 2015.

Informacje dodatkowe:

Brak