Wydział Informatyki - Zarządzanie i inżynieria produkcji (S2)
specjalność: zarządzanie energią i środowiskiem
Sylabus przedmiotu Współczesne języki programowania:
Informacje podstawowe
Kierunek studiów | Zarządzanie i inżynieria produkcji | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | drugiego stopnia |
Tytuł zawodowy absolwenta | magister inżynier | ||
Obszary studiów | nauk technicznych | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Współczesne języki programowania | ||
Specjalność | zarządzanie jakością produkcji oprogramowania | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Dariusz Burak <Dariusz.Burak@zut.edu.pl> | ||
Inni nauczyciele | Krzysztof Siedlecki <Krzysztof.Siedlecki@zut.edu.pl> | ||
ECTS (planowane) | 2,0 | ECTS (formy) | 2,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Wiedza podstawowa z zakresu podstaw informatyki, algorytmizacji oraz podstaw programowania. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z najważniejszymi paradygmatami programowania. |
C-2 | Ukształtowanie umiejętności z zakresu programowania bazującego na wiedzy z zakresu specyfiki podstawowych paradygmatów programowania. |
C-3 | Zapoznanie studenta z procesem tworzenia oprogramowania oraz środowiskiem programistycznym. |
C-4 | Zapoznanie studentów ze specyfiką języków programowania: C, C++, C#, Java z uwypukleniem różnic między nimi. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Paradygmat programowania imperatywnego. Języki programowania: C, C++. | 2 |
T-L-2 | Paradygmat programowania proceduralnego. Języki programowania C, C++. | 2 |
T-L-3 | Paradygmat programowania strukturalnego. Języki programowania C, C++. | 2 |
T-L-4 | Paradygmat programowania obiektowego. Programowanie z z zastosowaniem obiektów. Język C++. | 2 |
T-L-5 | Obiektowy paradygmat programowania. Zaawansowane programowanie obiektowe: dziedziczenie, polimorfizm, szablony. Język C++. | 2 |
T-L-6 | Obiektowy paradygmat programowania. Zaawansowane programowanie obiektowe: dziedziczenie, polimorfizm. Język C#. | 3 |
T-L-7 | Obiektowy paradygmat programowania. Zaawansowane programowanie obiektowe: dziedziczenie, polimorfizm: język Java. | 2 |
15 | ||
wykłady | ||
T-W-1 | Wyjaśnienie podstawowych pojęć związanych z paradygmatami programowania oraz językami programowania. Podstawowe cechy języków programowania. Notacja EBNF. Ewolucja języków programowania. Podział paradygmatów programowania. Ogólna charakterystyka pozostałych głównych paradygmatow programowania. | 2 |
T-W-2 | Imperatywny paradygmat programowania. Proceduralny paradygmat programowania. Strukturalny paradygmat programowania. Zmienne. Podprogramy. Wiązanie statyczne. Wiązanie dynamiczne. Przydział pamięci. Przykłady kodu z języków C, Fortran, Pascal. | 4 |
T-W-3 | Obiektowy paradygmat programowania. Abstrakcje. Klasy. Obiekty. Dziedziczenie. Enkapsulacja. Polimorfizm. Szablony. Wzorce projektowe. Przykłady kodu z języków C++, Java, C#. | 4 |
T-W-4 | Specyfika języków skryptowych. Komponentowy paradygmat programowania. Aspektowy paradygmat programowania. Przykłady kodu z języków C++, Java, Ruby. | 2 |
T-W-5 | Funkcyjny paradygmat programowania. Logiczny paradygmat programowania. Przykłady kodów z języka F#, Clojure, Prolog. | 3 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | uczestnictwo w zajęciach | 15 |
A-L-2 | Przygotowanie się do zajęć laboratoryjnych. | 8 |
A-L-3 | Wykonanie programów poza zajęciami. | 5 |
A-L-4 | Udział w konsultacjach i zaliczeniu formy zajęć | 2 |
30 | ||
wykłady | ||
A-W-1 | uczestnictwo w zajęciach | 15 |
A-W-2 | Samodzielne studiowanie tematyki wykładów. | 7 |
A-W-3 | Przygotowanie się do zaliczenia. | 6 |
A-W-4 | Zaliczenie przedmiotu. | 2 |
30 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny. |
M-2 | Ćwiczenia laboratoryjne. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego na zajęciach laboratoryjnych. |
S-2 | Ocena formująca: Ocena poprawności wykonania zadania programistycznego realizowanego poza zajęciami laboratoryjnymi. |
S-3 | Ocena podsumowująca: Test zaliczeniowy z wykładów. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
ZIP_2A_D3/05_W01 Student posiada wiedzę umożliwiającą zaimplementowanie algorytmu zgodnie z imperatywnym oraz obiektowym paradygmatem programowania w oparciu o wybrany język programowania (C, C++, C#). | ZIP_2A_W03, ZIP_2A_W02, ZIP_2A_W11, ZIP_2A_W07 | T2A_W02, T2A_W03, T2A_W05, T2A_W07 | C-1, C-2, C-3, C-4 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-W-1, T-W-2, T-W-3 | M-1, M-2 | S-1, S-2, S-3 |
ZIP_2A_D3/05_W02 Student posiada wiedzę umożliwiającą przekształcenie prostego programu zapisanego zgodnie z paradygmatym imperatywnym (w języku C) do postaci obiektowej (w językach C++, C#) oraz na odwrót. | ZIP_2A_W03, ZIP_2A_W02, ZIP_2A_W10, ZIP_2A_W07 | T2A_W02, T2A_W05, T2A_W07, T2A_W10 | C-1, C-2, C-3, C-4 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-W-1, T-W-2, T-W-3 | M-1, M-2 | S-1, S-2 |
ZIP_2A_D3/05_W03 Student posiada wiedzę umożliwiającą przekształcenie prostego programu zapisanego w języku C++ do równorzędnej postaci zapisanej w języku C# | ZIP_2A_W03, ZIP_2A_W02, ZIP_2A_W07, ZIP_2A_W10 | T2A_W02, T2A_W05, T2A_W07, T2A_W10 | C-1, C-2, C-3, C-4 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-W-1, T-W-2, T-W-3 | M-1, M-2 | S-1, S-2 |
ZIP_2A_D3/05_W04 Student zna i rozumie podstawowe mechanizmy paradygmatu imperatywnego, obiektowego, funkcyjnego oraz logicznego. | ZIP_2A_W02, ZIP_2A_W07 | T2A_W05, T2A_W07 | C-1, C-2, C-3, C-4 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-W-1, T-W-2, T-W-3, T-W-4, T-W-5 | M-1, M-2 | S-1, S-2, S-3 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
ZIP_2A_D3/05_U01 Student potrafi wykorzystać wiedzę z zakresu mechanizmów programowania imperatywnego i obiektowego do utworzenia oprogramowania. | ZIP_2A_U01, ZIP_2A_U02, ZIP_2A_U08, ZIP_2A_U09, ZIP_2A_U07, ZIP_2A_U12 | T2A_U01, T2A_U02, T2A_U07, T2A_U08, T2A_U09, T2A_U12 | C-1, C-2, C-3, C-4 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-W-1, T-W-2, T-W-3, T-W-4, T-W-5 | M-1, M-2 | S-1, S-2, S-3 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
ZIP_2A_D3/05_K01 Student umie kreatywnie tworzyć programy oraz korzystać z dokumentacji projektu informatycznego | ZIP_2A_K03, ZIP_2A_K05 | T2A_K03, T2A_K04, T2A_K07 | C-1, C-2, C-3, C-4 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-W-1, T-W-2, T-W-3, T-W-4, T-W-5 | M-1, M-2 | S-1, S-2, S-3 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
ZIP_2A_D3/05_W01 Student posiada wiedzę umożliwiającą zaimplementowanie algorytmu zgodnie z imperatywnym oraz obiektowym paradygmatem programowania w oparciu o wybrany język programowania (C, C++, C#). | 2,0 | student nie zna podstawowych konstrukcji języków programowania umożliwiających implementację programu zgodnie z imperatywnym oraz biektowym paradygmatem programowania |
3,0 | student zna jedynie podstawowe konstrukcje języków programowania umożliwiające implementację programu zgodnie z imperatywnym oraz obiektowym paradygmatem programowania | |
3,5 | student zna podstawowe konstrukcje języków programowania umożliwiające implementację programu zgodnie z imperatywnym oraz obiektowym paradygmatem programowania; ponadto student zna zaawansowane mechanizmy programowania proceduralnego | |
4,0 | student zna podstawowe konstrukcje języków programowania umożliwiające implementację programu zgodnie z imperatywnym oraz obiektowym paradygmatem programowania; ponadto student zna zaawansowane mechanizmy programowania proceduralnego oraz strukturalnego | |
4,5 | student zna zaawansowane mechanizmy programowania imperatywnego, proceduralnego oraz strukturalnego w języku C oraz C++ oraz obiektowego w języku C++ | |
5,0 | student zna zaawansowane mechanizmy programowania imperatywnego, proceduralnego oraz strukturalnego w języku C oraz C++ oraz obiektowego w języku C++ oraz C# | |
ZIP_2A_D3/05_W02 Student posiada wiedzę umożliwiającą przekształcenie prostego programu zapisanego zgodnie z paradygmatym imperatywnym (w języku C) do postaci obiektowej (w językach C++, C#) oraz na odwrót. | 2,0 | student nie zna podstawowych konstrukcji języków programowania umożliwiających przekształcenie programu zapisanego zgodnie z paradygmatem imperatywnym (w języku C lub C++) do postaci obiektowej (w języku C++). |
3,0 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego zgodnie z paradygmatem imperatywnym (w języku C lub C++) do postaci obiektowej (w języku C++). | |
3,5 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego zgodnie z paradygmatem imperatywnym (w języku C lub C++) do postaci obiektowej (w języku C++) oraz na odwrót. | |
4,0 | student zna zaawansowane konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego zgodnie z paradygmatem imperatywnym (w języku C lub C++) do postaci obiektowej (w języku C++) oraz na podstawowe konstrukcje umozliwiające przekształcenie programu zapisanego zgodnie z paradygmatem obiektowym (w języku C++) do postaci imperatywnej (w języku c lub C++) . | |
4,5 | student zna zaawansowane konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego zgodnie z paradygmatem imperatywnym (w języku C lub C++) do postaci obiektowej (w języku C++) oraz na odwrót. | |
5,0 | student zna zaawansowane konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego zgodnie z paradygmatem imperatywnym (w języku C lub C++) do postaci obiektowej (w języku C++ oraz C# ) oraz na odwrót. | |
ZIP_2A_D3/05_W03 Student posiada wiedzę umożliwiającą przekształcenie prostego programu zapisanego w języku C++ do równorzędnej postaci zapisanej w języku C# | 2,0 | student nie zna podstawowych konstrukcji języków programowania umożliwiających przekształcenie programu zapisanego w języku C++ do postaci zapisanej w języku C# |
3,0 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego w języku C++ opartego na jednej klasie do postaci zapisanej w języku C# | |
3,5 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego w języku C++ opartego na jednej klasie z mechanizmem enkapsulacji do postaci zapisanej w języku C# | |
4,0 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego w języku C++ opartego na klasie bazowej oraz klasie dziedziczącej po niej z mechanizmem enkapsulacji do postaci zapisanej w języku C# | |
4,5 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego w języku C++ opartego na klasie bazowej oraz klasach dziedziczących po niej z mechanizmem enkapsulacji do postaci zapisanej w języku C# | |
5,0 | student zna podstawowe konstrukcje języków programowania umożliwiające przekształcenie programu zapisanego w języku C++ opartego na klasie abstrakcyjnej z mechanizmem enkapsulacji oraz polimorfizmu obiektowego do postaci zapisanej w języku C# | |
ZIP_2A_D3/05_W04 Student zna i rozumie podstawowe mechanizmy paradygmatu imperatywnego, obiektowego, funkcyjnego oraz logicznego. | 2,0 | student nie zna podstawowych mechanizmów paradygmatu imperatywnego, obiektowego, funkcyjnego oraz logicznego |
3,0 | student zna podstawowe mechanizmy paradygmatu imperatywnego, obiektowego, funkcyjnego oraz logicznego | |
3,5 | student zna i rozumie podstawowe mechanizmy paradygmatu imperatywnego; student zna podstawowe mechanizmy paradygmatu obiektowego, funkcyjnego oraz logicznego | |
4,0 | student zna i rozumie podstawowe mechanizmy paradygmatu imperatywnego oraz obiektowego; student zna podstawowe mechanizmy paradygmatu funkcyjnego oraz logicznego | |
4,5 | student zna i rozumie podstawowe mechanizmy paradygmatu imperatywnego, obiektowego oraz funkcyjnego; student zna podstawowe mechanizmy paradygmatu logicznego | |
5,0 | student zna i rozumie podstawowe mechanizmy paradygmatu imperatywnego, obiektowego, funkcyjnego oraz logicznego |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
ZIP_2A_D3/05_U01 Student potrafi wykorzystać wiedzę z zakresu mechanizmów programowania imperatywnego i obiektowego do utworzenia oprogramowania. | 2,0 | Student nie potrafi wykorzystać wiedzy z zakresu mechanizmów programowania imperatywnego i obiektowego do utworzenia prostego programu |
3,0 | programowania imperatywnego i obiektowego do utworzenia prostego programu z zastosowaniem podstawowych mechanizmów programowania imperatywnego (język C oraz C++) oraz obiektowego (język C++) | |
3,5 | utworzenia prostego programu z zastosowaniem podstawowych mechanizmów programowania imperatywnego i zaawansowanych mechanizmów programowania proceduralnego (język C oraz C++) oraz obiektowego (język C++) | |
4,0 | podstawowych mechanizmów programowania imperatywnego (język C oraz C++) i obiektowego (język C++) i zaawansowanych mechanizmów programowania proceduralnego i strukturalnego (język C oraz C++) | |
4,5 | Student potrafi wykorzystać wiedzę z zakresu mechanizmów programowania Student potrafi wykorzystać wiedzę z zakresu mechanizmów programowania imperatywnego, proceduralnego, strukturalnego i obiektowego do utworzenia prostego programu z zastosowaniem podstawowych mechanizmów programowania imperatywnego (język C oraz C++) i zaawansowanych mechanizmów programowania proceduralnego i strukturalnego (język C oraz C++) i obiektowego (język C++) | |
5,0 | Student potrafi wykorzystać wiedzę z zakresu mechanizmów programowania Student potrafi wykorzystać wiedzę z zakresu mechanizmów programowania imperatywnego, proceduralnego, strukturalnego i obiektowego do utworzenia prostego programu z zastosowaniem podstawowych mechanizmów programowania imperatywnego (język C oraz C++) i zaawansowanych mechanizmów programowania proceduralnego i strukturalnego (język C oraz C++) i obiektowego (język C++ oraz C#) |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
ZIP_2A_D3/05_K01 Student umie kreatywnie tworzyć programy oraz korzystać z dokumentacji projektu informatycznego | 2,0 | Student nie umie kreatywnie tworzyć programów oraz korzystać z dokumentacji projektu informatycznego |
3,0 | Student umie kreatywnie tworzyć programy w oparciu o podstawowe mechanizmy programowania imperatywnego oraz obiektowego | |
3,5 | Student umie kreatywnie tworzyć programy w oparciu o podstawowe mechanizmy programowania imperatywnego (język C oraz C++) oraz obiektowego (język C++)oraz zaawansowane mechanizmy programowania proceduralnego (język C oraz C++) | |
4,0 | Student umie kreatywnie tworzyć programy w oparciu o podstawowe mechanizmy programowania imperatywnego (język C oraz C++) oraz obiektowego (język C++)oraz zaawansowane mechanizmy programowania proceduralnego oraz strukturalnego (język C oraz C++) | |
4,5 | mechanizmy programowania imperatywnego (język C oraz C++) oraz zaawansowane mechanizmy programowania proceduralnego oraz strukturalnego (język C oraz C++) i obiektowego (język C++). Student umie korzystać z dokumentacji projektu informatycznego | |
5,0 | Student umie kreatywnie tworzyć programy w oparciu o podstawowe mechanizmy programowania imperatywnego (język C oraz C++) oraz zaawansowane mechanizmy programowania proceduralnego oraz strukturalnego (język C oraz C++) i obiektowego (język C++ oraz C#). Student umie korzystać z dokumentacji projektu informatycznego |
Literatura podstawowa
- P.Van Roy, S.Haridi, Programowanie. Koncepcje, techniki i modele., Helion, Gliwice, 2005
Literatura dodatkowa
- B.Kernighan, D.Ritchie, Język ANSI C, WNT, Warszawa, 2007
- B.Eckel, Thinking in C++, Helion, Gliwice, 2002, Tom 1
- B.Eckel, Thinking in Java, Helion, Gliwice, 2006, IV
- C.Petzold, Programowanie Microsoft Windows w C#, RM, Warszawa, 2002