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)
|
| 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. |
Właścicielem praw autorskich jest Wojskowa Akademia Techniczna.