Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Języki programowania wysokiego poziomu
Tok studiów:
2019/2020
Kod:
RIAK-1-204-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Inżynieria Akustyczna
Semestr:
2
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr inż. Frankowski Marek (mfrankow@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Techniki wysokopoziomowego programowania. Programowanie obiektowe, projektowanie obiektowe, systemy kontroli wersji, wzorce projektowe oprogramowania.

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 posiada wiedzę na temat wzorców projektowych. IAK1A_W13 Egzamin,
Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
Umiejętności: potrafi
M_U001 Student umie posługiwać się językiem C++ z uwzględnieniem nowego standardu. IAK1A_U09 Egzamin,
Kolokwium,
Projekt,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U002 Student umie posługiwać się Pythonem i językami skryptowymi. IAK1A_U09 Egzamin,
Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 Student umie pracować w zespole programistów. IAK1A_K01 Projekt,
Wykonanie ćwiczeń laboratoryjnych
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
56 28 0 28 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 Student posiada wiedzę na temat wzorców projektowych. + - - - - - - - - - -
Umiejętności
M_U001 Student umie posługiwać się językiem C++ z uwzględnieniem nowego standardu. + - + - - - - - - - -
M_U002 Student umie posługiwać się Pythonem i językami skryptowymi. + - + - - - - - - - -
Kompetencje społeczne
M_K001 Student umie pracować w zespole programistów. - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 114 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 godz
Przygotowanie do zajęć 21 godz
Samodzielne studiowanie tematyki zajęć 35 godz
Egzamin lub kolokwium zaliczeniowe 2 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 (28h):

1. Dobre praktyki programowania, konwencje nazw, formatowanie kodu, komentarze, dzielenie projektu na pliki, paradygmaty obiektowe: dziedziczenie, polimorfizm
2. Pola statyczne, metody statyczne, zmienne globalne, konstruktory, destruktory, metody szablonowe, klasy szablonowe, obsługa wyjątków
3. Unified modelling language, cel projektowania oprogramowania, diagramy przypadków użycia, opis przypadków użycia, diagramy sekwencji, microsoft visio, visual paradigm
4. Graficzny interfejs użytkownika, rodział frontend-backend, windows forms, managed C++, garbage collector
5. Diagramy klas, asocjacja, agregacja, dziedziczenie, favour composition over inheritance, projektowanie I modelowanie obiektowe
6. Wybrane problemy tworzenia współczesnych aplikacji typu enterprise oraz gier komputerowych, text adventure, visual novel, AI, gry turowe vs. gry czasu rzeczywistego, pętla główna programu
7. Wzorce projektowe oprogramowania, podział wzorców, cele stosowania wzorców, wzorce kreacyjne
8. Wzorce strukturalne
9. Wzorce czynnościowe
10. Biblioteka STL i zaawansowane struktury danych, biblioteki, operator zakresu
11. System operacyjny linux, język powłoki Bash, system plików, pipe, makefile
12. Wątki, fork, elementy programowania równoległego
13. Przegląd języków programowania wysokiego poziomu, wady i zalety, różnice względem C/C++
14. Wybrane problemy informatyki: interpretacja vs. kompilacja, systemy liczbowe, architektury komputerowe, licencje oprogramowania, GPL, open source, licencje wirusowe, elementy inżynierii oprogramowania

Ćwiczenia laboratoryjne (28h):

Ćwiczenia laboratoryjne i zadania domowe zgodne z tematyką wykładów.

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:

Aby uzyskać zaliczenie należy:
zdobyć równo lub więcej niż 50% punktów z kartkówek
oraz
zdobyć równo lub więcej niż 50% punktów z zadań domowych
• Ocena z laboratorium wyznaczana na podstawie regulaminu
studiów z wagami – kartkówki 30% zadania domowe 70%
• Egzamin praktyczny należy zaliczyć na minimum 50%
Egzamin:
Trzy terminy
- Ocena z egzaminu napisanego w drugim terminie zostaje obniżona
o 20% (ale nie wpływa to na próg zaliczenia egzaminu)
- Ocena z egzaminu napisanego w trzecim terminie zostaje obniżona
o 40% (ale nie wypływa to na próg zaliczenia egzaminu)
- Nieobecność nieusprawiedliwiona oznacza utratę terminu
egzaminu
- Aby przystąpić do egzaminu należy uzyskać zaliczenie z
laboratorium

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:

Ocena końcowa wyznaczana jest z wagami 40% egzamin i 60%
laboratoria
• Aktywność na laboratoriach i wykładach może dodać +5% z
wybranej części

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

Nieobecności:
- Nieusprawiedliwione → 0 z kartkówki
- Usprawiedliwione → możliwość nadrobienia kartkówki w terminie
określonym przez prowadzącego zajęcia
- Zadanie domowe należy oddać na platformie terminowo bez względu na
nieobecność, w tym usprawiedliwioną – przypadki skrajne rozstrzyga
prowadzący laboratorium
- Poprawy ocen:
- Na ostatnich zajęciach można poprawić jedną najgorzej napisaną kartkówkę
oraz oddać jedno najniżej ocenione zadanie (ocena zostaje podmieniona na
nową) UWAGA: brak innych form zaliczeń poprawkowych

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

Znajomość C/C++, biegłość w programowaniu proceduralnym.

Zalecana literatura i pomoce naukowe:

Stroustrup B, Język C++. Kompendium wiedzy. Helion, Gliwice, 2014.
Stroustrup B, Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie II poprawione. Helion, Gliwice, 2013.
Prata S, Język C++. Szkoła programowania. Wydanie VI. Helion, Gliwice, 2012.
Eckel B, Thinking in C++. Edycja polska. Helion, Gliwice, 2002.

Wzorce projektowe:
Gamma, Helm , Johnson , Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Helion, Gliwice, 2017
Freeman, Freeman, Bates, Sierra, Wzorce projektowe. Rusz głową! , Helion, Gliwice, 2010

UML:
Russ, M, UML 2.0. Wprowadzenie, Helion, Gliwice, 2007

Algorytmy i struktury danych:
Stein, Rivest, Cormen, Leiserson, Wprowadzenie do algorytmów, Wydawnictwo Naukowe PWN, Warszawa, 2013

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

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak