Wojskowa Akademia Techniczna - Centralny System Uwierzytelniania
Strona główna

Programowanie obiektowe

Informacje ogólne

Kod przedmiotu: WMTAKCSI-POb
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie obiektowe
Jednostka: Wydział Mechatroniki, Uzbrojenia i Lotnictwa
Grupy:
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Forma studiów:

stacjonarne

Rodzaj studiów:

I stopnia

Rodzaj przedmiotu:

wybieralny

Forma zajęć liczba godzin/rygor:

W 12/+, C 12/zal, L 14/+, P 12/+ razem: 50 godz., 4 pkt ECTS

Przedmioty wprowadzające:

Informatyka / zna podstawowe pojęcia z dziedziny informatyki, instrukcje, funkcje, typy danych i operacje na nich w języku wysokiego poziomu; potrafi opracować dokumentację zadania inżynierskiego z wykorzystaniem funkcji edytora tekstu oraz arkusza kalkulacyjnego

Programy:

Mechatronika, studia I-go stopnia, stacjonarne, WMTAKCSI

Autor:

ppłk dr inż. Robert Paszkowski

mgr inż. Kamil Rajkowski

Bilans ECTS:

1. Udział w wykładach / 12

2. Udział w laboratoriach / 14

3. Udział w ćwiczeniach / 12

4. Udział w seminariach /

5. Samodzielne studiowanie tematyki wykładów / 18

6. Samodzielne przygotowanie do laboratoriów / 20

7. Samodzielne przygotowanie do ćwiczeń / 18

8. Samodzielne przygotowanie do seminarium / …..

9. Udział w zajęciach projektowych / 12

10. samodzielna realizacja projektu / ...

11. Udział w konsultacjach / 4

12. Przygotowanie do egzaminu / …..

13. Przygotowanie do zaliczenia / 10

14. Udział w egzaminie / …..


Sumaryczne obciążenie pracą studenta: 120 godz./ 4,0 ECTS

Zajęcia z udziałem nauczycieli: 50 godz./ 2,0 ECTS

Zajęcia powiązane z działalnością naukową/ 3,0 ECTS


Skrócony opis:

Wprowadzenie do programowania zorientowanego obiektowo, słuchacze pogłębiają wiedzę o językach programowania i algorytmice. Praktycznie zapoznają się z tworzeniem programów w środowisku Visual Studio. Operatory arytmetyczne i logiczne. Obiekty. Zmienne i ich typy oraz zasięg. Przekazanie zmiennej przez wartość i referencję. Instrukcje sterujące: pętle i iteracje. Funkcje. Atrybuty obiektów. Tablice i kolekcje - deklarowanie, przechowywanie i przekazywanie do funkcji. Tablice wielowymiarowe. Klasy obiektów. Konstruktory. Dziedziczenie i polimorfizm obiektów.

Pełny opis:

Wykłady/ metoda werbalno-wizualna wykorzystaniem nowoczesnych

technik multimedialnych

1. Wstępne wiadomości o obiektowym języku projektowania. Typy danych. Deklaracje zmiennych i obiektów. Pojęcie funkcji: deklaracja i przekazanie parametrów. Instrukcje i wyrażenia (2h)

Definicje programowania zorientowanego obiektowo, pojęcie obiektu, pola i metody. Przykłady języków obiektowych. Wbudowane (natywne) typy danych, sposoby deklarowania i inicjowania danych. Rzutowanie typów. Pojęcie zasięgu zmiennej i praktyczne zastosowanie przeciążenia nazw. Zmienne łańcuchowe, stałe oraz operatory. Pojęcie zasięgu zmiennych. Przekazanie argumentów poprzez wartość i referencję. Przyjmowanie argumentów domyślnych przez funkcję.

2. Strumienie wejścia – wyjścia, pętle, instrukcje warunkowe w języku C#.(2h)

Omówienie działania obsługi strumieni wejściowych i wyjściowych. Typy pętli i ich zastosowanie: pętle o znanej ilości powtórzeń, pętle iteracyjne o nieznanej wstępnie ilości powtórzeń. Operator trójargumentowy i instrukcja warunkowa w języku C#. Instrukcja wielokrotnego wyboru.

3. Klasy i obiekty w programowaniu obiektowym. Konstruktory. Kolekcje danych.(2h)

Właściwości obiektu oraz metody. Klasa obiektu, definicja oraz kontrola dostępu do składowych klasy. Konstruktory jawne i domyślne. Destruktory. Tablice jednowymiarowe, indeksowanie tablic. Przeglądanie wartości elementów tablic, pobieranie i nadpisywanie wartości w tablicach. Kolekcje: listy obiektów, HashSet, HashTable, Dictionary.

4. Dziedziczenie i polimorfizm w programowaniu obiektowym.(2h)

Łączenie klas (metod i pól) za pomocą dziedziczenia. Pojęcie klasy bazowej i klasy pochodnej, dziedziczenia wielokrotnego. Omówienie typów dziedziczenia (publiczne, chronione i prywatne). Praktyczne wykorzysta-nie dziedziczonych metod i wartości. Pojęcie polimorfizmu.

5. Zapis i wymiana danych. Wykorzystanie referencji. (2h)

Omówienie biblioteki do obsługi strumieni plików. Tryb dostępu, pojęcie kursora i określanie położenia w pliku. Wczytywanie danych z pliku, separacja zmiennych. Przechowywanie adresu innej zmiennej w pamięci - pobieranie a modyfikacja wartości.

6. Programowanie z wykorzystaniem GUI: kontrolki i komponenty. Interakcja z użytkownikiem.(2h)

Graficzny interfejs użytkownika. Wstawianie kontrolek standardowych w Visual Studio. programowanie zdarzeń i modyfikowanie właściwości. Typowe komponenty, tworzenie formularzy, pobieranie danych i wykorzystanie we własnych programach. Okna modalne i niemodalne, otwieranie dodatkowych okien programu. Wykorzystanie popularnych komponentów (klas) systemu do obsługi programu.

Ćwiczenia / metoda werbalno-praktyczna

1. Podstawy programowania obiektowego: klasy i instancje (4h)

Pojęcia podstawowe: klasa, obiekt, instancja, pola, właściwości. Składnia definicji klasy w C#. Inicjalizacja obiektów przy pomocy operatoranew. Konstruktor i jego rola w tworzeniu obiektów. Dostęp do pól i właściwości obiektu (get/set).

2. Projektowanie i wykorzystanie metod w klasach (4h).

Przypomnienie czym jest metoda (sygnatura, ciało, parametry, zwracana wartość). Metody instancyjne – wywoływane na obiektach. Metody statyczne – wywoływane bez tworzenia obiektu. Porównanie metod instancyjnych i statycznych – kiedy stosować. Przeciążanie metod (overloading) – definicja i przykłady.

3. Wprowadzenie do dziedziczenia i polimorfizmu (4h).

Idea dziedziczenia – klasa bazowa i pochodna. Słowo kluczowe „:”, konstruktor klasy bazowej. Przykłady hierarchii klas. Słowa kluczowe virtual, override, new. Wprowadzenie do polimorfizmu – różne implementacje tej samej metody. Przechowywanie obiektów różnych klas w jednej kolekcji.

Laboratoria / metoda werbalno-praktyczna z wykorzystaniem komputerów – samodzielne opracowanie i uruchomienie programów

1. Podstawy aplikacji okienkowych (GUI) w C# (2h)

Różnice między aplikacją konsolową a okienkową. Omówienie środowiska (Windows Forms lub WPF). Utworzenie prostego projektu GUI. Dodawanie i rozmieszczanie kontrolek (przycisk, pole tekstowe, etykieta). Obsługa zdarzeń (np. Click).

2. Projektowanie warstwy domenowej i serwisowej (4h)

Klasy domenowe – reprezentacja danych i pojęć z rzeczywistości. Klasy serwisowe – enkapsulacja logiki biznesowej. Oddzielenie logiki od prezentacji i danych. Operacje na kolekcjach danych – zapis i odczyt z pliku oraz serializacja obiektów. Implementacja metod serwisowych.

3. Dziedziczenie w praktyce – rozszerzanie klas (4h)

Przykład klasy bazowej. Rozszerzanie klasy bazowej – dodawanie nowych pól i metod w klasach pochodnych. Różnica między nadpisaniem metody (override) a ukrywaniem (new). Tworzenie obiektów klas po-chodnych i korzystanie z metod klasy bazowej. Testowanie hierarchii klas na kolekcjach (lista obiektów bazowych).

4. Polimorfizm w praktyce – dynamiczne wiązanie metod (4h)

Przykład klasy bazowej i metod wirtualnych. Implementacja różnych wersji metod w klasach pochodnych. Użycie polimorfizmu przy kolekcjach. Dynamiczne wiązanie metod w czasie działania programu.

Projekt / metoda praktyczna

1. Zadanie problemowe: zaprojektowania i napisanie kodu aplikacji realizującej zadany problem do wykonania w grupie. (4h)

Opracowanie i prezentacja założeń i wymagań. Propozycja podziału zadania projektowego w podgrupie.

2. Prezentacja algorytmu działania aplikacji, przedstawienie rozwiązania problemu i podziału ról programistów w grupie projektowej. (4h)

Prezentacja możliwych rozwiązań postawionego problemu, omówienie złożoności problemu i prezentacja algorytmu rozwiązania zadania projektowego.

3. Praktyczna implementacja opracowanego kodu aplikacji, testy oprogramowania, opracowanie instrukcji obsługi, dokumentacja kodu i prezentacja działania programu (4h)

Prezentacja oprogramowania, testy aplikacji oraz opracowanie sprawozdania zawierającego omówienie założeń, zastosowanych metod rozwiązania problemu, komentarze do kodu programu.

Projekt polega na zespołowym rozwiązaniu zadania w celu rozwinięcia i pogłębiania umiejętności U1 oraz U2.

Literatura:

Podstawowa:

1. Joseph Albahari, C# 12 w pigułce. Kompendium programisty. Helion, Gliwice 2024.

2. Andrew Stellman, Jennifer Greene, C#. Rusz głową! Wydanie V. He-lion, Gliwice 2025 (wyd V)

3. Jacek Matulewski, C#. Lekcje programowania. Praktyczna nauka programowania dla platform .NET i .NET Core. Helion, Gliwice 2021

Uzupełniająca:

1. Jacek Matulewski, Visual Studio 2022. Wprowadzenie do .NET MAUI, Helion, Gliwice 2023.

2. Mark J. Price, C# 12 i .NET 8 dla programistów aplikacji wieloplat-formowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 8, Blazor i EF Core 8, Helion, Gliwice 2024.

Efekty uczenia się:

Symbol i nr efektu modułu / efekt kształcenia / odniesienie do efektu kierun-kowego

W1 / Ma uporządkowaną wiedzę w zakresie architektury komputerów, algorytmizacji, metodyki i techniki programowania oraz budowy baz danych / K_W05

W2 / Ma elementarną wiedzę w zakresie architektury systemów i sieci komputerowych oraz systemów operacyjnych, niezbędną do instalacji, obsługi i utrzymania narzędzi informatycznych służących do projektowania, obliczeń inżynierskich i wytwarzania elementów, układów i systemów mechatronicznych/ K_W07

U1 / Potrafi opracować algorytm, posłużyć się językami programowania wysokiego i niskiego poziomu oraz odpowiednimi narzędziami informatycznymi do opracowania programów komputerowych do symulacji działania urządzeń mechatronicznych lub sterowania tymi urządzeniami/ K_U13

U2 / Potrafi stosować właściwe środowiska programistyczne, symulatory i narzędzia komputerowego wspomagania projektowania, wytwarzania i eksploatacji urządzeń mechatronicznych/ K_U18

Metody i kryteria oceniania:

Przedmiot zaliczany jest na podstawie: zaliczenia z oceną;

Ćwiczenia laboratoryjne zaliczane są na podstawie: zaliczenia z oceną. Ćwiczenia laboratoryjne obejmują rozwiązanie zadania inżynierskiego, w tym częściowo zadań realizowanych uprzednio w ramach ćwiczeń (przygotowanie algorytmu, opracowanie kodu programu, dyskusja o optymalnej złożoności obliczeń).

Ćwiczenia zaliczane są na podstawie: zaliczenia. Ćwiczenia audytoryjne obejmują przypomnienie, utrwalenie i usystematyzowanie wiedzy wcześniej nabytej, uzyskanej jako rezultat ukierunkowanej pracy własnej poprzez rozwiązywanie zadań i problemów projektowych.

Projekt zaliczany jest na podstawie zaliczenia z oceną. W ramach projektu podgrupa studentów realizuje własne zadanie projektowe przekrojowo sprawdzające nabytą wiedzę, wymagające samodzielności i kreatywności w rozwiązaniu.

Warunkiem dopuszczenia do zaliczenia jest uzyskanie zaliczenia z ćwiczeń, ćwiczeń laboratoryjnych i projektu.

Osiągnięcie efektów W1, W2 sprawdzane są przed przystąpieniem do realizacji ćwiczeń audytoryjnych i laboratoryjnych (podczas weryfikacji wiedzy i przygotowania studentów do zajęć) oraz podczas zaliczenia przedmiotu.

Osiągnięcie efektów U1, U2 sprawdzane podczas realizacji ćwiczeń audyto-ryjnych i laboratoryjnych oraz w ramach oceny realizacji projektu.

Ocenę bardzo dobrą otrzymuje student, którego średnia ważona z ocen wynosi min. 4,70, oraz który posiadł wiedzę i umiejętności przewidziane efektami kształcenia, a ponadto wykazuje zainteresowanie przedmiotem, w sposób twórczy podchodzi do powierzonych zadań i wykazuje się samodzielnością w zdobywaniu wiedzy. Wykazuje się wytrwałością i samodzielnością w pokonywaniu trudności oraz systematycznością pracy.

Ocenę dobrą plus otrzymuje student, którego średnia ważona z ocen wynosi min. 4,25, oraz który posiadł wiedzę i umiejętności przewidziane efektami kształcenia, a ponadto wykazuje zainteresowanie przedmiotem, w sposób twórczy podchodzi do powierzonych zadań i wykazuje się samodzielnością w zdobywaniu wiedzy. Wykazuje się wytrwałością i samodzielnością w pokonywaniu trudności oraz systematycznością pracy.

Ocenę dobrą otrzymuje student, którego średnia ważona z ocen wynosi min. 3,75, oraz który posiadł wiedzę i umiejętności przewidziane programem nauczania w stopniu dobrym. Potrafi rozwiązywać zadania i problemy o średnim stopniu trudności.

Ocenę dostateczną plus otrzymuje student, którego średnia ważona z ocen wynosi min. 3,25, oraz który posiadł wiedzę i umiejętności przewidziane programem nauczania w stopniu dobrym. Potrafi rozwiązywać zadania i problemy o średnim stopniu trudności.

Ocenę dostateczną otrzymuje student, którego średnia ważona z ocen wynosi min. 3,00, oraz który posiadł wiedzę i umiejętności przewidziane programem nauczania w stopniu dostatecznym. Samodzielnie rozwiązuje zadania i problemy o niskim stopniu trudności. W jego wiedzy i umiejętnościach zauważalne są luki, które potrafi jednak uzupełnić pod kierunkiem nauczyciela.

Ocenę niedostateczną otrzymuje student, który nie ma zaliczonego testu lub ćwiczenia lub który nie spełnia przedstawionych powyżej wymogów.

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Wojskowa Akademia Techniczna.
ul. gen. Sylwestra Kaliskiego 2, 00-908 Warszawa 46 tel: +48 261 839 000 https://www.wojsko-polskie.pl/wat/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.3.0.0 (2025-12-18)