Wydział Elektryczny - Teleinformatyka (S1)
Sylabus przedmiotu Programowanie obiektowe:
Informacje podstawowe
Kierunek studiów | Teleinformatyka | ||
---|---|---|---|
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 | Programowanie obiektowe | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Elektrotechniki Teoretycznej i Informatyki | ||
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 | Znajomość matematyki z zakresu I roku studiów |
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 zasadami programowania z obiektową organizacją danych w języku C#. |
C-3 | Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania (tworzenie, kompilacja, debugowanie). |
C-4 | Ukształtowanie umiejętności z zakresu technik programowania w języku zorientowanym obiektowo C#. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Wprowadzenie do pracy w środowisku Visual Studio. Podstawy składni języka C#. Tworzenie i kompilowanie pierwszej aplikacji konsolowej i Windows Forms | 2 |
T-L-2 | Typy zmiennych, operatory arytmetyczne i logiczne, instrukcje wyboru i pętle. | 2 |
T-L-3 | Tablice. Klasa Array. | 2 |
T-L-4 | Tworzenie własnych metod. Przekazywanie parametru do metody. Typy zwracane. Tablica jako parametr metody. Rekurencja i iteracja. Wywoływanie metod. | 2 |
T-L-5 | Tworzenie własnych modułów bibliotecznych. Biblioteki klas. Dołączanie biblioteki do projektu Console Application i Windows Forms | 2 |
T-L-6 | Zaliczenie pierwszej części ćwiczeń laboratoryjnych. | 2 |
T-L-7 | Klasy. Pola i właściwości. Identyfikatory dostępu. Obiekty. Dołączanie klasy do projektu Console Application i Widows Forms. | 4 |
T-L-8 | Konstruktory. Enkapsulacja. Obsługa wyjątków. Projekt złożonej aplikacji Widows Forms. | 4 |
T-L-9 | Listy. Używanie kolekcji List jako pola w klasie. Operacje na liście. Pętla foreach. | 4 |
T-L-10 | Przeciążanie operatorów. Tworzenie aplikacji z interfejsem graficznym. | 2 |
T-L-11 | Dziedziczenie. Klasy bazowe i pochodne. | 2 |
T-L-12 | Zaliczenie drugiej części ćwiczeń laboratoryjnych. | 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. | 2 |
T-W-7 | Struktury. Struktura typu "baza kontaktów". Dostęp do plików. Pliki tekstowe, pliki binarne. | 2 |
T-W-8 | Programowanie obiektowe - wstęp, idea. Definicja klasy w języku C#. Ukrywanie informacji. Enkapsulacja. Modyfikatory dostępu. Język UML. | 2 |
T-W-9 | Rekurencyjne struktury danych. Lista jednokierunkowa zaimplementowana z wykorzystaniem języka C#. Lista dwukierunkowa. Diagram klas. Konstruktor. Inicjalizacja struktur. Lista inicjalizacyjna konstruktorów. | 2 |
T-W-10 | Inicjalizatory. Finalizator. Wartości Null i typy Nullable. Właściwości. Indeksatory. Klasa StringBuilder. | 2 |
T-W-11 | Składowe statyczne. Konstruktor statyczny. Klasy statyczne. Metody rozszerzające. Dziedziczenie. wywoływanie konstruktorów klas bazowych. Klasy anonimowe. Przypisywanie klasy. Modyfikatory dostępu. | 2 |
T-W-12 | Dziedziczenie. Interfejsy. Klasy abstrakcyjne. Metody abstrakcyjne. Właściwości abstrakcyjne. Metody wirtualne. | 2 |
T-W-13 | Polimorfizm statyczny. Polimorfizm dynamiczny. Atrybuty. Refleksja. Delegaty. Zdarzenia. | 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 | Samodzielne wykonywanie zadań i programów (zadania domowe). | 10 |
A-L-3 | Przygotowanie do zaliczenia ćwiczeń. | 10 |
50 | ||
wykłady | ||
A-W-1 | Uczestnictwo w zajęciach | 30 |
A-W-2 | Przygotowanie do zajęć (utrwalanie i powtarzanie materiału) | 10 |
A-W-3 | Przygotowanie do egzaminu | 10 |
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 (metody programowane, metody praktyczne). |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Zaliczenie laboratorium. |
S-2 | Ocena podsumowująca: Egzamin końcowy z wykładów. |
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 |
---|---|---|---|---|---|---|---|
TI_1A_C11_W01 Student posiada wiedzę umożliwiającą napisanie programu komputerowego opartego o metodykę programowania funkcyjnego oraz proceduralnego z wykorzystaniem metod statycznych w języku C#. | TI_1A_W08, TI_1A_W09 | — | — | C-1 | T-W-4, T-W-2, T-W-3, T-W-5, T-W-6, T-W-7, T-W-1 | M-1 | S-2 |
TI_1A_C11_W02 Student zna zasadę działania składników klasy i potrafi na tej podstawie ocenić ich praktyczne wykorzystanie przy tworzeniu oprogramowania z obiektową organizacją danych w języku C#. | TI_1A_W09, TI_1A_W08 | — | — | C-2 | T-W-15, T-W-11, T-W-8, T-W-13, T-W-14, T-W-9, T-W-12, T-W-10 | 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 |
---|---|---|---|---|---|---|---|
TI_1A_C11_U01 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 projektów konsolowych oraz okienkowych. | TI_1A_U05 | — | — | C-3 | T-L-5, T-L-1, T-L-2, T-L-3, T-L-4, T-L-6 | M-2 | S-1 |
TI_1A_C11_U02 Student potrafi dokonać implementacji problemu programistycznego posługując się paradygmatem obiektowym. | TI_1A_U07 | — | — | C-4 | T-L-10, T-L-9, T-L-8, T-L-12, T-L-11, T-L-7 | M-2 | S-3 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
TI_1A_C11_W01 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. | |
TI_1A_C11_W02 Student zna zasadę działania 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 |
---|---|---|
TI_1A_C11_U01 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 projektów konsolowych oraz okienkowych. | 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. | |
TI_1A_C11_U02 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
- S. Wilczewski, MS Project 2010 i MS Project Server 2010. Efektywne zarządzanie projektem i portfelem projektów, Helion, 2011
- J. Albahari, B. Albahari, C# 7.0. Leksykon kieszonkowy, Helion, Gliwice, 2018
Literatura dodatkowa
- M. Lis, C#. Ćwiczenia, Helion, Warszawa, 2005
- P. Wróblewski, Algorytmy struktury danych i techniki programowania, Helion, Warszawa, 2001
- S. Wilczewski, MS Project 2007. Ćwiczenia praktyczne, Helion, 2009