Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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 nauki techniczne, studia inżynierskie
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>, Grzegorz Psuj <Grzegorz.Psuj@zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL3 30 2,50,38zaliczenie
wykładyW3 30 1,50,62egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Znajomość podstaw informatyki.
W-2Znajomość matematyki z zakresu I roku studiów

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z zasadami programowania, w tym programowania obiektowego.
C-2Ukształtowanie umiejętności z zakresu technik programowania w języku obiektowym C# oraz Visual C#.
C-3Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania (tworzenie, kompilacja, debugowanie).
C-4Zdobycie podstawowej wiedzy i nabycie umiejętności z zakresu wykorzystania podstawowych technik komputerowych do tworzenia i zarządzania projektami

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Wprowadzenie do pracy w środowisku Visual Studio. Podstawy składni języka C#. Tworzenie i kompilowanie pierwszej aplikacji konsolowej i Windows Forms2
T-L-2Typy zmiennych, operatory arytmetyczne i logiczne, instrukcje wyboru i pętle.2
T-L-3Tablice.2
T-L-4Tworzenie własnych metod. Przekazywanie parametru do metody. Rekurencja i iteracja.4
T-L-5Tworzenie własnych modułów bibliotecznych. Biblioteki metod.3
T-L-6Zaliczenie pierwszej części ćwiczeń laboratoryjnych.1
T-L-7Klasy. Pola i właściwości. Identyfikatory dostępu. Obiekty.4
T-L-8Konstruktory. Enkapsulacja. Obsługa wyjątków.4
T-L-9Listy. Używanie list jako pola w klasie. Pętla foreach. Wyrażenia lambda.3
T-L-10Dziedziczenie. Klasy bazowe i pochodne.4
T-L-11Zaliczenie drugiej części ćwiczeń laboratoryjnych.1
30
wykłady
T-W-1Wstę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-2Typy wartości. Typ wyliczeniowy. Prosta struktura. Typy referencyjne. Literały. Debuggowanie. Konwersje danych.2
T-W-3Konwersje jawne i niejawne. Opakowywanie i rozpakowywanie. Operatory. Instrukcje sterujące, iteracyjne. Wyjątki.2
T-W-4Tablice. Tablice nieregularne. Operacje na tablicach. Klasa ArrayList.2
T-W-5Metody. 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-6Przeciążanie nazwy metody. Argumenty metody MAIN.2
T-W-7Struktury. Struktura typu "baza kontaktów". Dostęp do plików. Pliki tekstowe, pliki binarne.2
T-W-8Programowanie obiektowe - wstęp, idea. Definicja klasy w języku C#. Ukrywanie informacji. Modyfikatory dostępu. Język UML.2
T-W-9Rekurencyjne struktury danych. Lista jednokierunkowa. Lista dwukierunkowa. Diagram klas. Konstruktor. Inicjalizacja struktur. Lista inicjalizacyjna konstruktorów.2
T-W-10Inicjalizatory. Finalizator. Wartości Null i typy Nullable. Właściwości. Indeksatory. Klasa StringBuilder.2
T-W-11Składowe statyczne. Konstruktor statyczny. Klasy statyczne. Metody rozszerzające. Dziedziczenie. wywoływanie konstruktorów klas bazowych. Przypisywanie klasy. Modyfikatory dostępu.4
T-W-12Wzorce projektowe. Kopiowanie obiektów. Metoda MemberwiseClone. Konstruktor kopiujący. Wzorzec projektowy pełnomocnik. Wzorzec proxy. Wzorzec projektowy Singleton.4
T-W-13Kolekcje niegeneryczne i generyczne. Geneza generyczności w programowaniu.2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach.30
A-L-2Przygotowanie do zajęć.10
A-L-3Samodzielne wykonywanie zadań i programów (zadania domowe).20
A-L-4Przygotowanie do zaliczenia ćwiczeń.15
75
wykłady
A-W-1Uczestnictwo w zajęciach15
A-W-2Przygotowanie do zajęć (utrwalanie i powtarzanie materiału)10
A-W-3Praca własna z literaturą10
A-W-4Przygotowanie do egzaminu10
45

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład multimedialny z przykładami.
M-2Praca własna w laboratorium komputerowym (metody programowane, metody praktyczne).

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Sprawdzian z wykładów.
S-2Ocena formująca: Zaliczenie laboratorium.
S-3Ocena podsumowująca: Egzamin końcowy z wykładów.
S-4Ocena podsumowująca: Zaliczenie końcowe laboratorium.

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
TI_1A_C05_W01
Student zna podstawowe mechanizmy związane z obiektowo zorientowanym językiem C# oraz Visual C#.
TI_1A_W08, TI_1A_W09C-1T-W-2, T-W-1, T-W-9, T-W-7, T-W-11, T-W-13, T-W-8, T-W-3, T-W-6, T-W-5, T-W-12, T-W-4, T-W-10M-1S-3, S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
TI_1A_C05_U01
Student nabył umiejętność analizy kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w obiektowo zorientowanym języku C# oraz Visual C#.
TI_1A_U05, TI_1A_U07C-3, C-2T-L-10, T-L-8, T-L-5, T-L-1, T-L-2, T-L-3, T-L-4, T-L-7, T-L-11, T-L-6M-2S-2, S-4

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
TI_1A_C05_W01
Student zna podstawowe mechanizmy związane z obiektowo zorientowanym językiem C# oraz Visual C#.
2,0
3,0Student zna podstawowe mechanizmy związane z obiektowo zorientowanym językiem C# oraz Visual C#.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
TI_1A_C05_U01
Student nabył umiejętność analizy kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w obiektowo zorientowanym języku C# oraz Visual C#.
2,0
3,0Student nabył umiejętność analizy kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w obiektowo zorientowanym języku C# oraz Visual C#.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. J. Sharp, Microsoft Visual C# 2005 krok po kroku, APN PROMISE Sp. z o. o., Warszawa, 2006
  2. J. Liberty, B. MacDonald, C# 2005, Helion, Warszawa, 2006
  3. A. Stefańczyk, Sekrety języka C#, Złote Myśli Sp. z o.o., Warszawa, 2007
  4. S. Wilczewski, MS Project 2010 i MS Project Server 2010. Efektywne zarządzanie projektem i portfelem projektów, Helion, 2011
  5. J. Albahari, B. Albahari, C# 7.0. Leksykon kieszonkowy, Helion, Gliwice, 2018

Literatura dodatkowa

  1. M. Lis, C#. Ćwiczenia, Helion, Warszawa, 2005
  2. P. Wróblewski, Algorytmy struktury danych i techniki programowania, Helion, Warszawa, 2001
  3. S. Wilczewski, MS Project 2007. Ćwiczenia praktyczne, Helion, 2009

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Wprowadzenie do pracy w środowisku Visual Studio. Podstawy składni języka C#. Tworzenie i kompilowanie pierwszej aplikacji konsolowej i Windows Forms2
T-L-2Typy zmiennych, operatory arytmetyczne i logiczne, instrukcje wyboru i pętle.2
T-L-3Tablice.2
T-L-4Tworzenie własnych metod. Przekazywanie parametru do metody. Rekurencja i iteracja.4
T-L-5Tworzenie własnych modułów bibliotecznych. Biblioteki metod.3
T-L-6Zaliczenie pierwszej części ćwiczeń laboratoryjnych.1
T-L-7Klasy. Pola i właściwości. Identyfikatory dostępu. Obiekty.4
T-L-8Konstruktory. Enkapsulacja. Obsługa wyjątków.4
T-L-9Listy. Używanie list jako pola w klasie. Pętla foreach. Wyrażenia lambda.3
T-L-10Dziedziczenie. Klasy bazowe i pochodne.4
T-L-11Zaliczenie drugiej części ćwiczeń laboratoryjnych.1
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wstę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-2Typy wartości. Typ wyliczeniowy. Prosta struktura. Typy referencyjne. Literały. Debuggowanie. Konwersje danych.2
T-W-3Konwersje jawne i niejawne. Opakowywanie i rozpakowywanie. Operatory. Instrukcje sterujące, iteracyjne. Wyjątki.2
T-W-4Tablice. Tablice nieregularne. Operacje na tablicach. Klasa ArrayList.2
T-W-5Metody. 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-6Przeciążanie nazwy metody. Argumenty metody MAIN.2
T-W-7Struktury. Struktura typu "baza kontaktów". Dostęp do plików. Pliki tekstowe, pliki binarne.2
T-W-8Programowanie obiektowe - wstęp, idea. Definicja klasy w języku C#. Ukrywanie informacji. Modyfikatory dostępu. Język UML.2
T-W-9Rekurencyjne struktury danych. Lista jednokierunkowa. Lista dwukierunkowa. Diagram klas. Konstruktor. Inicjalizacja struktur. Lista inicjalizacyjna konstruktorów.2
T-W-10Inicjalizatory. Finalizator. Wartości Null i typy Nullable. Właściwości. Indeksatory. Klasa StringBuilder.2
T-W-11Składowe statyczne. Konstruktor statyczny. Klasy statyczne. Metody rozszerzające. Dziedziczenie. wywoływanie konstruktorów klas bazowych. Przypisywanie klasy. Modyfikatory dostępu.4
T-W-12Wzorce projektowe. Kopiowanie obiektów. Metoda MemberwiseClone. Konstruktor kopiujący. Wzorzec projektowy pełnomocnik. Wzorzec proxy. Wzorzec projektowy Singleton.4
T-W-13Kolekcje niegeneryczne i generyczne. Geneza generyczności w programowaniu.2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach.30
A-L-2Przygotowanie do zajęć.10
A-L-3Samodzielne wykonywanie zadań i programów (zadania domowe).20
A-L-4Przygotowanie do zaliczenia ćwiczeń.15
75
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach15
A-W-2Przygotowanie do zajęć (utrwalanie i powtarzanie materiału)10
A-W-3Praca własna z literaturą10
A-W-4Przygotowanie do egzaminu10
45
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaTI_1A_C05_W01Student zna podstawowe mechanizmy związane z obiektowo zorientowanym językiem C# oraz Visual C#.
Odniesienie do efektów kształcenia dla kierunku studiówTI_1A_W08Ma uporządkowaną wiedzę w zakresie inżynierii oprogramowania, technik projektowania, modelowania, tworzenia i testowania oprogramowania.
TI_1A_W09Zna wybrane języki programowania niskiego i wysokiego poziomu. Ma podstawową wiedzę z zakresu dobrych praktyk programistycznych.
Cel przedmiotuC-1Zapoznanie studentów z zasadami programowania, w tym programowania obiektowego.
Treści programoweT-W-2Typy wartości. Typ wyliczeniowy. Prosta struktura. Typy referencyjne. Literały. Debuggowanie. Konwersje danych.
T-W-1Wstę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.
T-W-9Rekurencyjne struktury danych. Lista jednokierunkowa. Lista dwukierunkowa. Diagram klas. Konstruktor. Inicjalizacja struktur. Lista inicjalizacyjna konstruktorów.
T-W-7Struktury. Struktura typu "baza kontaktów". Dostęp do plików. Pliki tekstowe, pliki binarne.
T-W-11Składowe statyczne. Konstruktor statyczny. Klasy statyczne. Metody rozszerzające. Dziedziczenie. wywoływanie konstruktorów klas bazowych. Przypisywanie klasy. Modyfikatory dostępu.
T-W-13Kolekcje niegeneryczne i generyczne. Geneza generyczności w programowaniu.
T-W-8Programowanie obiektowe - wstęp, idea. Definicja klasy w języku C#. Ukrywanie informacji. Modyfikatory dostępu. Język UML.
T-W-3Konwersje jawne i niejawne. Opakowywanie i rozpakowywanie. Operatory. Instrukcje sterujące, iteracyjne. Wyjątki.
T-W-6Przeciążanie nazwy metody. Argumenty metody MAIN.
T-W-5Metody. 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.
T-W-12Wzorce projektowe. Kopiowanie obiektów. Metoda MemberwiseClone. Konstruktor kopiujący. Wzorzec projektowy pełnomocnik. Wzorzec proxy. Wzorzec projektowy Singleton.
T-W-4Tablice. Tablice nieregularne. Operacje na tablicach. Klasa ArrayList.
T-W-10Inicjalizatory. Finalizator. Wartości Null i typy Nullable. Właściwości. Indeksatory. Klasa StringBuilder.
Metody nauczaniaM-1Wykład multimedialny z przykładami.
Sposób ocenyS-3Ocena podsumowująca: Egzamin końcowy z wykładów.
S-1Ocena formująca: Sprawdzian z wykładów.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student zna podstawowe mechanizmy związane z obiektowo zorientowanym językiem C# oraz Visual C#.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaTI_1A_C05_U01Student nabył umiejętność analizy kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w obiektowo zorientowanym języku C# oraz Visual C#.
Odniesienie do efektów kształcenia dla kierunku studiówTI_1A_U05Potrafi sformułować algorytm i posłużyć się językami programowania niskiego i wysokiego poziomu oraz odpowiednimi narzędziami informatycznymi do opracowania programów komputerowych służących do transmisji danych i analizy tego procesu.
TI_1A_U07Potrafi zastosować w praktyce wiedzę z zakresu inżynierii oprogramowania oraz dobre praktyki programistyczne stosując wybrane narzędzia i środowiska deweloperskie.
Cel przedmiotuC-3Ukształtowanie umiejętności praktycznych z zakresu procesu wytwarzania oprogramowania (tworzenie, kompilacja, debugowanie).
C-2Ukształtowanie umiejętności z zakresu technik programowania w języku obiektowym C# oraz Visual C#.
Treści programoweT-L-10Dziedziczenie. Klasy bazowe i pochodne.
T-L-8Konstruktory. Enkapsulacja. Obsługa wyjątków.
T-L-5Tworzenie własnych modułów bibliotecznych. Biblioteki metod.
T-L-1Wprowadzenie do pracy w środowisku Visual Studio. Podstawy składni języka C#. Tworzenie i kompilowanie pierwszej aplikacji konsolowej i Windows Forms
T-L-2Typy zmiennych, operatory arytmetyczne i logiczne, instrukcje wyboru i pętle.
T-L-3Tablice.
T-L-4Tworzenie własnych metod. Przekazywanie parametru do metody. Rekurencja i iteracja.
T-L-7Klasy. Pola i właściwości. Identyfikatory dostępu. Obiekty.
T-L-11Zaliczenie drugiej części ćwiczeń laboratoryjnych.
T-L-6Zaliczenie pierwszej części ćwiczeń laboratoryjnych.
Metody nauczaniaM-2Praca własna w laboratorium komputerowym (metody programowane, metody praktyczne).
Sposób ocenyS-2Ocena formująca: Zaliczenie laboratorium.
S-4Ocena podsumowująca: Zaliczenie końcowe laboratorium.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student nabył umiejętność analizy kodu oraz potrafi dokonać implementacji prostego problemu programistycznego w obiektowo zorientowanym języku C# oraz Visual C#.
3,5
4,0
4,5
5,0