Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie i Języki Programowania I
Tok studiów:
2019/2020
Kod:
AMAT-1-203-s
Wydział:
Matematyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Matematyka
Semestr:
2
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ęć

Podstawy programowania. Język C, C++. Programowanie obiektowe.

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 151 godz
Punkty ECTS za moduł 6 ECTS
Udział w zajęciach dydaktycznych/praktyka 60 godz
Przygotowanie do zajęć 42 godz
Samodzielne studiowanie tematyki zajęć 42 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. Definicje i pojęcia podstawowe

    Podstawowe pojęcia i definicje. Metody zapisu algorytmów (metajęzyk i schemat blokowy).

  2. Język programowania C: wprowadzenie, typy, rozmiary danych, operatory i wyrażenia
  3. Język programowania C: składnia języka – instrukcje, struktura programu
  4. Język programowania C: funkcje, preprocesor, klasy pamięci
  5. Język programowania C: operacje na wskaźnikach i adresach, tablice dynamiczne
  6. Język programowania C: wejście i wyjście, pliki
  7. Język programowania C: podstawowe biblioteki i narzędzia, przetwarzanie kodu źródłowego w różnych systemów operacyjnych
  8. Maszynowa reprezentacja informacji (systemy zapisu liczb i arytmetyka)
  9. Elementy teorii złożoności algorytmów: notacja Q , O ,W , złożoność pesymistyczna i średnia, klasyfikacja problemów
  10. Metody obliczania złożoności i przykłady
  11. Rekurencja i iteracja – porównanie metod
  12. Podstawowe algorytmy – proste metody sortowania: wstawianie, wybieranie, bąbelkowe; sortowanie szybkie
  13. Metody sortowania cd.: sortowanie stogowe i metoda scalania. Dolne ograniczenie złożoności problemu sortowania przez porównania
  14. Sortowanie przez zliczanie i kubełkowe. Wyszukiwanie mediany
Ćwiczenia laboratoryjne (30h):
Program laboratoriów pokrywa się z programem wykładów

Rozwiązywanie problemów (głównie związanych z zagadnieniami praktycznymi) ilustrujących treści przekazywanych na kolejnych wykładach.

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 wpływ (10%) mają również frekwencja i aktywność na zajęciach. Ocena z laboratorium OL jest wyznaczona zgodnie z regulaminem AGH.
Student ma prawo do dwukrotnego udziału w kolokwium zaliczeniowym poprawkowym.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Tak
    – 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 zaliczył laboratorium w I terminie, to średnia OS=OL.
Jeśli student zaliczył laboratorium w II terminie, to OS=(3+OL)/2 a gdy w III terminie, to OS=(3+3+OL)/3.
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, to 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 :

znajomość systemu operacyjnego Windows i Unix/Linux w podstawowym zakresie

Zalecana literatura i pomoce naukowe:
  1. B. Kernighan, D.M. Ritchie, Język ANSI C, WNT 2000.
  2. T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów_, WNT2007.
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