Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie i Języki Programowania II
Tok studiów:
2019/2020
Kod:
AMAT-1-304-s
Wydział:
Matematyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Matematyka
Semestr:
3
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr Frydrych Wacław (frydrych@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Programowanie obiektowe. Język C++.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna i rozumie podstawowe elementy i mechanizmy języka obiektowego. MAT1A_W08 Aktywność na zajęciach,
Egzamin,
Odpowiedź ustna,
Wykonanie ćwiczeń laboratoryjnych
M_W002 Zna wybrane złożone struktury danych. MAT1A_W08 Aktywność na zajęciach,
Egzamin,
Odpowiedź ustna,
Wykonanie ćwiczeń laboratoryjnych,
Zaliczenie laboratorium
M_W003 Zna podstawowe etapy projektowania oraz konstruowania programów obiektowych. MAT1A_W08 Aktywność na zajęciach,
Egzamin,
Odpowiedź ustna,
Wykonanie ćwiczeń laboratoryjnych,
Zaliczenie laboratorium
Umiejętności: potrafi
M_U001 Potrafi ze zrozumieniem przedstawić poznane zagadnienia. MAT1A_U12 Aktywność na zajęciach,
Egzamin,
Odpowiedź ustna,
Wykonanie ćwiczeń laboratoryjnych,
Zaliczenie laboratorium
M_U002 Potrafi wykorzystać zdobytą wiedzę w projektowaniu i budowie programów obiektowych MAT1A_U27, MAT1A_U25, MAT1A_U26 Aktywność na zajęciach,
Odpowiedź ustna,
Wykonanie ćwiczeń laboratoryjnych,
Zaliczenie laboratorium
Kompetencje społeczne: jest gotów do
M_K001 Potrafi krytycznie ocenić stopień zrozumienia przez siebie postawionego problemu i braki elementów rozumowania. MAT1A_K01 Aktywność na zajęciach,
Egzamin,
Odpowiedź ustna,
Wykonanie ćwiczeń laboratoryjnych,
Zaliczenie laboratorium
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
60 30 0 30 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna i rozumie podstawowe elementy i mechanizmy języka obiektowego. + - + - - - - - - - -
M_W002 Zna wybrane złożone struktury danych. + - + - - - - - - - -
M_W003 Zna podstawowe etapy projektowania oraz konstruowania programów obiektowych. + - + - - - - - - - -
Umiejętności
M_U001 Potrafi ze zrozumieniem przedstawić poznane zagadnienia. + - + - - - - - - - -
M_U002 Potrafi wykorzystać zdobytą wiedzę w projektowaniu i budowie programów obiektowych + - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi krytycznie ocenić stopień zrozumienia przez siebie postawionego problemu i braki elementów rozumowania. + - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 169 godz
Punkty ECTS za moduł 6 ECTS
Udział w zajęciach dydaktycznych/praktyka 60 godz
Przygotowanie do zajęć 42 godz
Samodzielne studiowanie tematyki zajęć 60 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (30h):
  1. Wstęp

    Wprowadzenie do programowania obiektowego. Język C++: elementarne różnice w porównaniu z C.

  2. Język C++

    Deklaracje klas i obiektów, komponenty i ich zasięg, konstruktory i destruktory.

  3. Język C++ – cd

    Przeciążanie i przysłanianie funkcji, funkcje operatorowe.

  4. Język C++ – cd

    Wejście/wyjście programu, funkcje zaprzyjaźnione.

  5. Język C++ – cd

    Dziedziczenie.

  6. Język C++ – cd

    Obsługa wyjątków, podstawowe biblioteki i narzędzia.

  7. Konstrukcja i projektowanie programów obiektowych.
  8. Złożone struktury danych: listy pojedynczo wiązane.
  9. Listy podwójnie i wielokrotnie wiązane.
  10. Stosy i kolejki – różne implementacje.
  11. Drzewa – implementacje, porządki w drzewach.
  12. Drzewa przeszukiwań binarnych.
  13. Grafy. Przeszukiwanie grafu wgłąb i wszerz. Znajdowanie cyklu Eulera w grafie.
Ćwiczenia laboratoryjne (30h):
Program ćwiczeń laboratoryjnych pokrywa się z programem wykładu

Praktyczne poznawanie aspektów programowania obiektowego w C++ poprzez implementację prostych programów z wykorzystaniem omówionych na wykładzie struktur danych.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: 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ń.
  • Ćwiczenia laboratoryjne: 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:

Warunkiem zaliczenia laboratorium jest uzyskanie pozytywnej oceny z kolokwium zaliczeniowego wspólnego dla wszystkich grup laboratoryjnych. Na ocenę z laboratorium oprócz wyniku kolokwium (90%) wpływ mają również frekwencja i aktywność na zajęciach (10%). Ocena z laboratorium OL jest wyznaczona zgodnie z regulaminem AGH.
Student ma prawo do dwukrotnego udziału w kolokwium zaliczeniowym poprawkowym.
Warunkiem koniecznym do przystąpienia do egzaminu jest uzyskanie zaliczenia laboratorium.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: 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.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: 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.
Sposób obliczania oceny końcowej:

1. Jeśli student otrzymał pozytywną ocenę z laboratorium OL i pozytywną ocenę z egzaminu OE, to ocenę końcową OK wyznacza się na podstawie średniej ważonej obliczonej według wzoru SW =0,2*SOL+0,8*SOE.
Wartości SOL i SOE wyznaczamy w zależności od terminu uzyskania oceny pozytywnej z laboratorium i egzaminu:
SOL=OL, jeśli ocena pozytywna z laboratorium została uzyskana w I terminie, SOL=(3+OL)/2 – w II terminie oraz SOL=(3+3+OL) w III terminie,
SOE=OE, jeśli ocena pozytywna z egzaminu została uzyskana w I terminie, SOE=(3+OE)/2 – w II terminie oraz SOL=(3+3+OE) w III terminie.

Ocena końcowa OK jest obliczana według zależności:
if SW >4.75 then OK:=5.0 else
if SW >4.25 then OK:=4.5 else
if SW >3.75 then OK:=4.0 else
if SW >3.25 then OK:=3.5 else OK:=3.

2. Jeśli student nie otrzymał oceny pozytywnej z laboratorium lub nie otrzymał oceny pozytywnej z egzaminu, to jego oceną końcową jest nzal.

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

W przypadku nieobecności na zajęciach laboratoryjnych studenci mogą uczestniczyć na zajęciach innej grupy laboratoryjnej. Jeśli jest to niemożliwe, to studenci są zobowiązani opanować materiał zajęć we własnym zakresie..

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Wymagana znajomość programowania w języku C.

Zalecana literatura i pomoce naukowe:
  1. B. Stroustrup, Język C++, WNT 2002.
  2. T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów,
    WNT 2007.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Meszka, Mariusz; Rosa, Alexander; Cubic leaves, Australas. J. Comb. 61, 114-129, electronic only (2015).

2. Lindner, Charles C.; Meszka, Mariusz; Rosa, Alexander ; From squashed 6-cycles to Steiner triple systems, J. Comb. Des. 22, No. 5, 189-195 (2014).

3. Horňák, Mirko; Kalinowski, Rafał; Meszka, Mariusz; Woźniak, Mariusz;
Minimum number of palettes in edge colorings.
Graphs Comb. 30, No. 3, 619-626 (2014).

4. Meszka, Mariusz, The chromatic index of projective triple systems; J. Comb. Des. 21, No. 11, 531-540 (2013).

5. Cichacz, Sylwia; Froncek, Dalibor; Meszka, Mariusz; Decomposition of complete graphs into small generalized prisms; AKCE Int. J. Graphs Comb. 10, No. 3, 285-293 (2013).

6. Lindner, C.C.; Meszka, M.; Rosa, A.; Triple metamorphosis of twofold triple systems; Discrete Math. 313, No. 19, 1872-1883 (2013).

7. Frydrych, Wacław; Nonhamiltonian 2-connected claw-free graphs with large 4-degree sum;
Discrete Math. 236, No.1-3, 123-130 (2001).

8. Frydrych, Wacław; Skupień, Zdzisław; Non-traceability of large connected claw-free graphs;
J. Graph Theory 27, No.2, 75-86 (1998).

9. Frydrych, W.; All nonhamiltonian tough graphs satisfying a 3-degree sum and Fan-type conditions;
Discrete Math. 121, No.1-3, 93-104 (1993).

Informacje dodatkowe:

Brak