Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Techniki programowania
Tok studiów:
2019/2020
Kod:
CCER-1-039-s
Wydział:
Inżynierii Materiałowej i Ceramiki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Ceramika
Semestr:
0
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
Szyszkiewicz-Warzecha Krzysztof (szyszkin@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

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 Student ma podstawową wiedzę z zakresu programowania w języku C++ CER1A_W02 Aktywność na zajęciach,
Kolokwium
M_W002 Student ma podstawową wiedzę z zakresu programowania obiektowego CER1A_W02 Aktywność na zajęciach,
Kolokwium
Umiejętności: potrafi
M_U001 Student potrafi napisać oraz skompilować prosty program w języku C CER1A_U02 Aktywność na zajęciach,
Kolokwium
M_U002 Student potrafi wykorzystać wybrane środowisko programistyczne C CER1A_U02 Aktywność na zajęciach
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
30 0 0 0 0 0 30 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 Student ma podstawową wiedzę z zakresu programowania w języku C++ - - - - - + - - - - -
M_W002 Student ma podstawową wiedzę z zakresu programowania obiektowego - - - - - + - - - - -
Umiejętności
M_U001 Student potrafi napisać oraz skompilować prosty program w języku C - - - - - + - - - - -
M_U002 Student potrafi wykorzystać wybrane środowisko programistyczne C - - - - - + - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 55 godz
Punkty ECTS za moduł 2 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 godz
Przygotowanie do zajęć 10 godz
Samodzielne studiowanie tematyki zajęć 10 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ęć)
Zajęcia seminaryjne (30h):
  1. Podstawowe pojęcia języka C++

    Podstawy programowania w języku C++: struktura programu, pliki źródłowe, preprocesor, identyfikacja danych; narzędzia wspomagające programowanie: kompilator, linker, debugger; pliki nagłówkowe i zasady ich stosowania; najistotniejsze elementy języka C++;

  2. Słowa kluczowe, typy danych

    Podstawowe słowa kluczowe; typy danych; zmienne tablicowe, tablice jedno- i wielowymiarowe;

  3. Operatory

    operatory: arytmetyczne, relacyjne, logiczne, bitowe; instrukcje przypisania; instrukcje warunkowe proste i złożone; instrukcje wyboru; konstruowanie wyrażeń logicznych;

  4. Instrukcje iteracyjne

    instrukcje iteracyjne: while i do..while, instrukcja for; wskaźniki: arytmetyka wskaźnikowa, wskaźniki a tablice; struktury i unie;

  5. Dynamiczne operacje na pamięci

    dynamiczne przypisywanie i zwalnianie pamięci: operatory new i delete; funkcje: przekazywanie argumentów, referencje, przeciążanie funkcji, wskaźniki;

  6. programowanie strukturalne

    programowanie strukturalne – przykładowe programy (rozwiązanie drugiego prawa Ficka);

  7. programowanie rekurencyjne

    programowanie rekurencyjne – przykładowe programy (metody odwrotne dotyczące znajdowania współczynników dyfuzji).

  8. Wprowadzenie do programowania obiektowego w języku C++

    Wprowadzenie do programowania obiektowego w języku C++: podstawowe pojęcia: klasa, hermetyzacja, dziedziczenie, przeciążanie funkcji i operatorów, polimorfizm, obiekt;

  9. Obiekty

    projektowanie klas, strukturalizacja, hermetyzacja i komunikacja, metody, wewnętrzna struktura obiektów;

  10. konstruktory i destruktory

    konstruktory i destruktory obiektów;

  11. komunikacja z obiektami

    komunikacja z obiektami: funkcje składowe i zaprzyjaźnione, zmienna this;

  12. dziedziczenie

    dziedziczenie: konstruowanie obiektów klasy pochodnej, funkcje wirtualne, klasy abstrakcyjne i fundamentalne;

  13. Programowanie obiektowe a strukturalne

    porównanie programowania strukturalnego z obiektowym, najważniejsze różnice.

Pozostałe informacje
Metody i techniki kształcenia:
  • Zajęcia seminaryjne: Na zajęciach seminaryjnych podstawą jest prezentacja multimedialna oraz ustna prowadzona przez studentów. Kolejnym ważnym elementem kształcenia są odpowiedzi na powstałe pytania, a także dyskusja studentów nad prezentowanymi treściami.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zasady udziału w zajęciach:
  • Zajęcia seminaryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci prezentują na forum grupy temat wskazany przez prowadzącego oraz uczestniczą w dyskusji nad tym tematem. Ocenie podlega zarówno wartość merytoryczna prezentacji, jak i tzw. kompetencje miękkie.
Sposób obliczania oceny końcowej:

Średnia ocen z kolokwiów

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

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

Wymagania wstępne: Informatyka

Zalecana literatura i pomoce naukowe:

1. J. Grębosz, Symfonia C++, Oficyna Kallimach, 1996 lub nowsze.
2. Stephen Prata, Język C++. Szkoła programowania. Helion 2006.
3. Ogólnodostępne podręczniki do języka C++.

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

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak