Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Metodyki i techniki programowania
Tok studiów:
2019/2020
Kod:
RIAK-1-103-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Inżynieria Akustyczna
Semestr:
1
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
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ęć

Podstawy informatyki, obsługi systemu operacyjnego Linux oraz programowania. Wprowadzenie do algorytmów i struktur danych. Języki c# oraz Phyton.

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 podstawowych algorytmów i struktur danych. IAK1A_W13 Kolokwium,
Referat
Umiejętności: potrafi
M_U001 Student umie programować w C# oraz Python z zachowaniem odpowiedniej składni i struktur danych. IAK1A_U09 Kolokwium,
Projekt,
Wykonanie ćwiczeń laboratoryjnych
M_U002 Student umie reprezentować problem w postaci programu komputerowego poprzez budowę poprawnych modułów. IAK1A_U09 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 Student potrafi prezentować zagadnienia programistyczne. IAK1A_K01 Wykonanie ćwiczeń laboratoryjnych,
Projekt
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
84 28 0 56 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 podstawowych algorytmów i struktur danych. + - - - - - - - - - -
Umiejętności
M_U001 Student umie programować w C# oraz Python z zachowaniem odpowiedniej składni i struktur danych. + - + - - - - - - - -
M_U002 Student umie reprezentować problem w postaci programu komputerowego poprzez budowę poprawnych modułów. + - + - - - - - - - -
Kompetencje społeczne
M_K001 Student potrafi prezentować zagadnienia programistyczne. + - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 240 godz
Punkty ECTS za moduł 8 ECTS
Udział w zajęciach dydaktycznych/praktyka 84 godz
Przygotowanie do zajęć 28 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 100 godz
Samodzielne studiowanie tematyki zajęć 28 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. Zasady zaliczenia przedmiotu, systemy liczbowe, arytmetyka komputerowa / paradygmaty programowania, podstawy programowania, zmienne,instrukcje sterujące, wejście-wyjście
2. System operacyjny linux, konsola, tryb graficzny vs. tekstowy / funkcje
3. Programowanie obiektowe, podział na klasy i metody, namespace podział na pliki, definicja vs. deklaracja, dobre praktyki programowania, formatowanie kodu / wyrażenie regularne, grep, pipe
4. Modyfikatory dostępu, get i set, konstruktory destruktory, skrypty bash, kompilacja vs. interpretacja, podstawy Python
5. Tablice, pamięć, garbage collector, debugowanie, stringi i obsługa plików
6. STL, kontenery
7. GUI, Windows Forms
8. Sortowanie, złożoność obliczeniowa, klasyfikacja problemów informatyki, stabilność numeryczna
9. Wybrane algorytmy i struktury danych
10. Drzewa i grafy, algorytmy grafowe
11. Latex
12. HTML
13. Programowanie równoległe, fork, problem 5 filozofów, prawo Amdahla
14. Wybrane problemy współczesnej informatyki

Ćwiczenia laboratoryjne (56h):

Laboratoria podzielone na dwa tory kształcenia po 28 godzin:

1. Systemy liczbowe i arytmetyka komputerowa (ćwiczenia rachunkowe)
2. Linux podstawy I (ls, pwd, cd, mkdir, rm, echo, touch, cat, cp, chmod)
3. Linux podstawy II (wc, vi, grep, pipe, zmienne środowiskowe, awk, sed, mail, apt-get)
4. Linux programowanie (skrypty bash)
5. Python I (podstawy, porównanie z C#)
6. Python II (wybrane algorytmy)
7. Python III (wybrane algorytmy)
8. Python IV (wybrane algorytmy)
9. Python V (tworzenie GUI)
10. Python VI (Wykorzystanie praktyczne GUI)
11. Latex
12. HTML I
13. HTML II
14. Zajęcia podsumowujące

oraz:

1. C# Podstawy I (zmienne, wyrażenia, operacje wejścia-wyjścia, kompilacja, typy, rzutowanie, instrukcje sterujące)
2. C# Podstawy II (funkcje, argumenty i typy zwracane, rekurencja, przeciążanie metod, referencje)
3. C# Podstawy III (namespace’y, podział na klasy i metody, funkcje, pliki, dyrektywy preprocesora, definicja vs. deklaracja)
4. C# Podstawy IV (klasy, modyfikatory dostępu, konstruktor, seter, getter)
5. C# Podstawy V (tablice, new, garbage collectro, debugger, pamięć)
6. C# Podstawy VI (stringi i obsługa plików)
7. C# STL, kontenery (list, vector, map)
8. Windows Forms
9. Algorytmy sortowania I
10. Alogrytmy sortowania II
11. Drzewa i algorytmy przeszukiwania
12. Grafy i algorytmy grafowe
13. Elementy programowania równoległego
14. Zajęcia podsumowujące

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:

Na każdych zajęciach odbywa się krótka kartkówka i sprawdzane jest zadanie domowe.

Aby uzyskać zaliczenie należy (dla obu torów cwiczeń laboratoryjnych z osobna):
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.

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:

Ocena wyznaczana na podstawie regulaminu studiów z wagami – kartkówki 30% zadania domowe 70%.

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 :

Umiejętność posługiwania się komputerem i wiedza matematyczna na poziomie szkoły średniej.

Zalecana literatura i pomoce naukowe:

Darmowe pomoce dostępne online:
https://docs.microsoft.com/en-us/dotnet/csharp/
https://wiki.python.org/moin/BeginnersGuide
https://goalkicker.com/PythonBook/
https://goalkicker.com/CSharpBook/
https://goalkicker.com/HTML5Book/
https://goalkicker.com/LaTeXBook/
https://goalkicker.com/LinuxBook/

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

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak