1 OPISY KURSÓW • Kod kursu: MCD4102L • Nazwa kursu
Transkrypt
1 OPISY KURSÓW • Kod kursu: MCD4102L • Nazwa kursu
OPISY KURSÓW Kod kursu: MCD4102L Nazwa kursu: Programowanie obiektowe Język wykładowy: polski Forma kursu Tygodniowa liczba godzin ZZU * Semestralna liczba godzin ZZU* Forma zaliczenia Punkty ECTS Liczba godzin CNPS Wykład Ćwiczenia Laboratorium 2 Projekt Seminarium 30 ocena Poziom kursu (podstawowy/zaawansowany): Wymagania wstępne: Podstawy informatyki, podstawy sieci komputerowych Imię, nazwisko i tytuł/ stopień prowadzącego: Dr inż. Krzysztof Urbański Imiona i nazwiska oraz tytuły/stopnie członków zespołu dydaktycznego: Dr inż. Krzysztof Urbański Rok: ...2...... Semestr:.......4............. Typ kursu (obowiązkowy/wybieralny): Cele zajęć (efekty kształcenia): Poznanie paradygmatu programowania obiektowego, platformy .NET z językiem C# i umiejętność zastosowania tej wiedzy w praktyce, poprzez zaprojektowanie i wykonanie aplikacji komunikującej się z zewnętrznymi urządzeniami (czujnikami, układami wykonawczymi). Forma nauczania (tradycyjna/zdalna): Krótki opis zawartości całego kursu: Kurs skupia się na obiektowym podejściu do rozwiązywania problemów spotykanych w elektronice i telekomunikacji. W ramach kursu przedstawione zostanie Zunifikowany Język Modelowania UML, oraz implementacja modelu wybranego zagadnienia w języku C#. W trakcie zajęć studenci uzyskują dostęp do makiet uruchomieniowych (zestawów mikroprocesorowych) z interfejsami Ethernet (TCP, UDP) oraz USBUART. Dla chętnych dostępne są też projekty takich zestawów do samodzielnego wykonania (np. w OpenLab). Możliwe są też scenariusze niewymagające użycia sprzę- 1 towych rozwiązań – wymiana danych może się odbywać pomiędzy aplikacjami sieciowymi uruchomionymi na komputerach. Laboratorium Zawartość tematyczna poszczególnych godzin Liczba godzin 1. Platforma i język obiektowy .NET/C#. Podstawy języka C#. Graficzny 4 interfejs użytkownika i środowisko Visual Studio. 2. Paradygmat programowania obiektowego. Projektowanie obiektowe. 4 Opis obiektowy fragmentu rzeczywistego systemu z użyciem wybranego czujnika, elementu wykonawczego, metody wizualizacji i przetwarzania danych w aplikacji. 3. Polimorfizm. Zastosowanie polimorfizmu w taki sposób, aby uzyskać jak 4 najlepszą przenośność abstrakcji między projektami grupami laboratoryjnymi (tak, aby 2 grupy mogły w ramach swoich projektów wymienić się czujnikami i/lub układami wykonawczymi) 4. Opis projektu w języku UML. 2 5. Hermetyzacja, enkapsulacja, dziedziczenie. Przeniesienie założeń projek4 towych do struktury klas, obiektów, metod w docelowej implementacji 6. Programowanie komunikacji szeregowej i sieciowej w C#. 7. Wątki i sekcje krytyczne w C#. Komunikacja ze światem zewnętrznym. 2 Implementacja metod komunikacyjnych w wariancie z portem szerego2 wym oraz komunikacją sieciową z użyciem protokołów TCP i UDP. 8. Obsługa wyjątków. Uwzględnienie czynników zewnętrznych mogących 4 zakłócić prawidłowe funkcjonowanie aplikacji. Przygotowanie scenariuszy testowych. 9. Zaliczenie w postaci uruchomienia i prezentacji działającego systemu 4 Literatura podstawowa: 1. Petzold, Charles: Pogramming Microsoft Windows with C# 2. Programmer's Heaven C# School Book (ebook) 3. G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Wydawnictwa Naukowo-Techniczne, 2002. 4. E. Gamma, R. Helm, R. Johnson, J. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Wydawnictwa NaukowoTechniczne, 2005. Literatura uzupełniająca: 1. B. Eckel, Thinking in Java, Prentice Hall, wydanie 4, 2006. 2. http://www.msdn.com Warunki zaliczenia: realizacja zadań w postaci kolejnych etapów realizacji wybranych projektów programistycznych * – w zależności od systemu studiów 2