Wydział Elektryczny - Elektrotechnika (S1)
Sylabus przedmiotu Informatyka i programowanie obiektowe:
Informacje podstawowe
Kierunek studiów | Elektrotechnika | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | charakterystyki PRK, kompetencje inżynierskie PRK | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Informatyka i programowanie obiektowe | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Elektrotechniki Teoretycznej i Informatyki Stosowanej | ||
Nauczyciel odpowiedzialny | Marcin Ziółkowski <Marcin.Ziolkowski@zut.edu.pl> | ||
Inni nauczyciele | Barbara Grochowalska <Barbara.Szymanik@zut.edu.pl> | ||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Ukończony moduł Podstawy algorytmizacji i programowania. |
W-2 | Ukończony moduł Algebra. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z zasadami programowania funkcyjnego z wykorzystaniem metod statycznych zaimplementowanych w środowisku C#. |
C-2 | Zapoznanie studentów z podstawowymi zasadami programowania z obiektową organizacją danych w języku C#. |
C-3 | Ukształtowanie umiejętności z zakresu technik programowania obiektowego w języku C#. |
C-4 | Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania (tworzenie, kompilacja, debugowanie). |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Zapoznanie się ze środowiskiem Visual Studio. Tworzenie pierwszych aplikacji w języku C#. Debuggowanie aplikacji. | 2 |
T-L-2 | Tworzenie i kompilowanie prostych aplikacji w konsoli. Typy wartościowe i referencyjne. Operacje na tablicach. | 2 |
T-L-3 | Deklarowanie i wywoływanie metod statycznych. Przekazywanie tablicy do metody i zwracanie tablicy. | 2 |
T-L-4 | Tworzenie dedykowanych metod do obliczania wartości funkcji matematycznych z określoną dokładnością za pomocą rozwinięcia w szereg. | 2 |
T-L-5 | Tworzenie własnych bibliotek zawierających metody rekurencyjne. Monitorowanie przepełnienia stosu. | 2 |
T-L-6 | Ćwiczenia w tworzeniu własnych bibliotek zawierających metody operujące na tablicach. | 2 |
T-L-7 | Sprawdzian 1. | 2 |
T-L-8 | Tworzenie własnych klas – pojęcie pola, metody składowej i konstruktora. Tworzenie obiektów klas, odwoływanie się do pól klasy, wywoływanie metody na rzecz obiektu. | 2 |
T-L-9 | Obiekt innej klasy i zmienna typu referencyjnego jako pole klasy - kopiowanie płytkie i głębokie obiektów. Tworzenie konstruktorów kopiujących. | 2 |
T-L-10 | Projektowanie oraz budowa złożonego programu bazującego na własnych klasach. Tworzenie interfejsu użytkownika – aplikacja konsolowa i okienkowa. | 4 |
T-L-11 | Struktury danych – lista. Lista jako pole klasy. Wykorzystanie struktur danych w klasach - projektowanie oraz budowa złożonego programu bazującego na układzie klas. | 4 |
T-L-12 | Implementacja mechanizmu dziedziczenia. | 2 |
T-L-13 | Sprawdzian 2, poprawki. | 2 |
30 | ||
wykłady | ||
T-W-1 | Wstęp. Warunki uzyskania zaliczenia. Przegląd możliwości nowoczesnego języka programowania C#. Struktura aplikacji konsolowej C#. Formatowanie. Kompilacja i uruchomienie pierwszego programu. Środowisko Visual Studio i Visual C#.NET. Typy, deklaracja zmiennych. Wyrażenia kluczowe. | 2 |
T-W-2 | Typy wartości. Typ wyliczeniowy. Prosta struktura. Typy referencyjne. Literały. Debuggowanie. Konwersje danych. | 2 |
T-W-3 | Konwersje jawne i niejawne. Opakowywanie i rozpakowywanie. Operatory. Instrukcje sterujące, iteracyjne. Wyjątki. | 2 |
T-W-4 | Tablice. Tablice nieregularne. Operacje na tablicach. Klasa ArrayList. | 2 |
T-W-5 | Metody. Zwracanie wartości. Przesyłanie argumentów do metody: przez wartość, przez referencję, jako parametr wyjściowy. Przesyłanie dowolnej liczby argumentów. Przesyłanie tablic. | 2 |
T-W-6 | Przeciążanie nazwy metody. Argumenty metody MAIN. Algorytmy wyszukiwania liniowego i liniowego z wartownikiem. Wyszukiwanie binarne. Iteracyjne wyszukiwanie binarne. | 2 |
T-W-7 | Rekurencja. Wyszukiwanie rekurencyjne. Niebezpieczeństwa rekurencji. Zalety i wady rekurencji. Algorytmy typu "dziel-i-zwyciężaj". Algorytmy sortowania. | 2 |
T-W-8 | Struktury. Strukutra typu "baza kontaktów". Dostęp do plików. Pliki tekstowe, pliki binarne. | 2 |
T-W-9 | Programowanie obiektowe - wstęp, idea. Definicja klasy w języku C#. Ukrywanie informacji. Modyfikatory dostępu. Język UML. | 2 |
T-W-10 | Rekurencyjne struktury danych. Lista jednokierunkowa. Lista dwukierunkowa. Diagram klas. Konstruktor. Inicjalizacja struktur. Lista inicjalizacyjna konstruktorów. | 2 |
T-W-11 | Inicjalizatory. Finalizator. Wartości Null i typy Nullable. Właściwości. Indeksatory. Klasa StringBuilder. | 2 |
T-W-12 | Składowe statyczne. Konstruktor statyczny. Klasy statyczne. Metody rozszerzające. Dziedziczenie. wywoływanie konstruktorów klas bazowych. Przypisywanie klasy. Modyfikatory dostępu. | 2 |
T-W-13 | Dziedziczenie. Interfejsy. Metody abstrakcyjne. Atrybuty. | 2 |
T-W-14 | Wzorce projektowe. Kopiowanie obiektów. Metoda MemberwiseClone. Konstruktor kopiujący. Wzorzec projektowy pełnomocnik. Wzorzec proxy. Wzorzec projektowy Singleton. | 2 |
T-W-15 | Kolekcje niegeneryczne i generyczne. Geneza generyczności w programowaniu. | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | uczestnictwo w zajęciach | 30 |
A-L-2 | Przygotowanie do zajęć. | 5 |
A-L-3 | Samodzielne wykonywanie programów (zadania domowe). | 6 |
A-L-4 | Przygotowanie do zaliczenia poszczególnych sprawdzianów. | 9 |
50 | ||
wykłady | ||
A-W-1 | uczestnictwo w zajęciach | 30 |
A-W-2 | Przygotowanie do zajęć (utrwalanie i powtarzanie materiału) | 5 |
A-W-3 | Praca własna z literaturą | 5 |
A-W-4 | Przygotowanie do egzaminu | 9 |
A-W-5 | Egzamin | 1 |
50 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład multimedialny z przykładami. |
M-2 | Praca własna w laboratorium komputerowym. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Zaliczenie laboratorium. |
S-2 | Ocena podsumowująca: Egzamin końcowy. |
S-3 | Ocena podsumowująca: Zaliczenie końcowe laboratorium. |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
EL_1A_B05_W13 Student posiada wiedzę umożliwiającą napisanie programu komputerowego opartego o metodykę programowania funkcyjnego oraz proceduralnego z wykorzystaniem metod statycznych w języku C#. | EL_1A_W13 | — | — | C-1 | T-W-1, T-W-2, T-W-4, T-W-5, T-W-6, T-W-7, T-W-3 | M-1 | S-2 |
EL_1A_B06_W01 Student zna zasadę działania podstawowych składników klasy i potrafi na tej podstawie ocenić ich praktyczne wykorzystanie przy tworzeniu oprogramowania z obiektową organizacją danych w języku C#. | EL_1A_W13 | — | — | C-2 | T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-14, T-W-15, T-W-13 | M-1 | S-2 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
EL_1A_B05_U08 Student potrafi dokonać implementacji problemu programistycznego obejmującego tworzenie i wywoływanie własnych metod statycznych. Potrafi tworzyć własne moduły biblioteczne oraz podłączać gotowe moduły do aplikacji. | EL_1A_U01, EL_1A_U08 | — | — | C-4 | T-L-3, T-L-4, T-L-2, T-L-1, T-L-7, T-L-5, T-L-6 | M-2 | S-1 |
EL_1A_B06_U01 Student potrafi dokonać implementacji problemu programistycznego posługując się paradygmatem obiektowym. | EL_1A_U08 | — | — | C-3 | T-L-8, T-L-9, T-L-10, T-L-11, T-L-12, T-L-13 | M-2 | S-3 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
EL_1A_B05_W13 Student posiada wiedzę umożliwiającą napisanie programu komputerowego opartego o metodykę programowania funkcyjnego oraz proceduralnego z wykorzystaniem metod statycznych w języku C#. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. |
3,0 | Student uzyskał punktację w zakresie 50-60% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
3,5 | Student uzyskał punktację w zakresie 61-70% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
4,0 | Student uzyskał punktację w zakresie 71-80% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
4,5 | Student uzyskał punktację w zakresie 81-90% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
5,0 | Student uzyskał punktację w zakresie 91-100% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
EL_1A_B06_W01 Student zna zasadę działania podstawowych składników klasy i potrafi na tej podstawie ocenić ich praktyczne wykorzystanie przy tworzeniu oprogramowania z obiektową organizacją danych w języku C#. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. |
3,0 | Student uzyskał punktację w zakresie 50-60% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
3,5 | Student uzyskał punktację w zakresie 61-70% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
4,0 | Student uzyskał punktację w zakresie 71-80% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
4,5 | Student uzyskał punktację w zakresie 81-90% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. | |
5,0 | Student uzyskał punktację w zakresie 91-100% z pytań egzaminacyjnych z tematyki dotyczącej ocenianego efektu przedmiotowego. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
EL_1A_B05_U08 Student potrafi dokonać implementacji problemu programistycznego obejmującego tworzenie i wywoływanie własnych metod statycznych. Potrafi tworzyć własne moduły biblioteczne oraz podłączać gotowe moduły do aplikacji. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% z pytań zadawanych podczas zaliczenia pierwszej części laboratorium. |
3,0 | Student uzyskał punktację w zakresie 50-60% z pytań zadawanych podczas zaliczenia pierwszej części laboratorium. | |
3,5 | Student uzyskał punktację w zakresie 61-70% z pytań zadawanych podczas zaliczenia pierwszej części laboratorium. | |
4,0 | Student uzyskał punktację w zakresie 71-80% z pytań zadawanych podczas zaliczenia pierwszej części laboratorium. | |
4,5 | Student uzyskał punktację w zakresie 81-90% z pytań zadawanych podczas zaliczenia pierwszej części laboratorium. | |
5,0 | Student uzyskał punktację w zakresie 91-100% z pytań zadawanych podczas zaliczenia pierwszej części laboratorium. | |
EL_1A_B06_U01 Student potrafi dokonać implementacji problemu programistycznego posługując się paradygmatem obiektowym. | 2,0 | Student uzyskał punktację w zakresie poniżej 50% z pytań zadawanych podczas zaliczenia drugiej części laboratorium. |
3,0 | Student uzyskał punktację w zakresie 50-60% z pytań zadawanych podczas zaliczenia drugiej części laboratorium. | |
3,5 | Student uzyskał punktację w zakresie 61-70% z pytań zadawanych podczas zaliczenia drugiej części laboratorium. | |
4,0 | Student uzyskał punktację w zakresie 71-80% z pytań zadawanych podczas zaliczenia drugiej części laboratorium. | |
4,5 | Student uzyskał punktację w zakresie 81-90% z pytań zadawanych podczas zaliczenia drugiej części laboratorium. | |
5,0 | Student uzyskał punktację w zakresie 91-100% z pytań zadawanych podczas zaliczenia drugiej części laboratorium. |
Literatura podstawowa
- J. Sharp, Microsoft Visual C# 2005 krok po kroku, APN PROMISE Sp. z o. o., Warszawa, 2006
- J. Liberty, B. MacDonald, C# 2005, Helion, Warszawa, 2006
- A. Stefańczyk, Sekrety języka C#, Złote Myśli Sp. z o.o., Warszawa, 2007
- Joseph Albahari, Ben Albahari, C# 7.0. Leksykon kieszonkowy, Helion, Gliwice, 2018, Wydanie pierwsze, ISBN 978-83-283-4077-0
Literatura dodatkowa
- M. Lis, C#. Ćwiczenia, Helion, Warszawa, 2005
- P. Wróblewski, Algorytmy struktury danych i techniki programowania, Helion, Warszawa, 2001