opisy kursów/przedmiotów
Transkrypt
opisy kursów/przedmiotów
OPISY KURSÓW Kod kursu: ETD 3066 Nazwa kursu: Języki programowania 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 Projekt 2 2 ocena ocena 2 60 3 90 Poziom kursu zaawansowany Wymagania wstępne: Informatyka (podstawowy/zaawansowany): studia I stopnia Seminarium stacjonarne, Imię, nazwisko i tytuł/stopień prowadzącego: Krzysztof Urbański, dr inż. Imiona i nazwiska oraz tytuły/stopnie członków zespołu dydaktycznego: Jarosław Serafińczuk; dr inż., Rafał Walczak, dr inż., Przemysław Matkowski, Rok: ......II...... Semestr:.......3................. Typ kursu (obowiązkowy/wybieralny): obowiązkowy Cele zajęć (efekty kształcenia): Zdobycie umiejętności posługiwania się zaawansowanymi technikami programowania takimi jak programowanie zorientowanie obiektowo. Umiejętność projektowania i tworzenia oprogramowania komunikacyjnego, przetwarzania danych, programowania graficznych interfejsów użytkownika, zastosowania zewnętrznych bibliotek we własnych projektach. Forma nauczania (tradycyjna/zdalna): tradycyjna Krótki opis zawartości całego kursu: Wprowadzenie do obiektowo zorientowanychjęzyków wysokiego poziomu, demonstrowane przykładami z języków C++ i Java. Wybrane zagadnienia praktycznego programowania: obliczeń, grafiki, dostępu do plików i urządzeń, aplikacji sterowanych komunikatami, bibliotek dołączanych dynamicznie, programowania interfejsów komunikacyjnych, użycia języków SQL oraz XML w aplikacjach C++, zastosowanie wielowątkowości w C++ i Javie. Wykład (podać z dokładnością do 2 godzin): Zawartość tematyczna poszczególnych godzin wykładowych Liczba godzin 1. Wprowadzenie. Przegląd współczesnych języków programowania. 2 2. Polimorfizm: porównanie implementacji w językach C++ i Java 2 3. Użycie GDI. Zaawansowane struktury danych: tablice mieszające, 2 1 drzewa, tablice asocjacyjne 4. WinAPI: okienkowa aplikacja sterowana zdarzeniami. Użycie zasobów. 5. Programowanie GDI. Wielowątkowość w aplikacji okienkowej. Sekcja krytyczna. 6. Analiza wyrażeń arytmetycznych 7. Interfejsy komunikacyjne: programowanie portów COM i LPT oraz wymiana danych z ich użyciem. Komunikacja z urządzeniami zewnętrznymi. 8. Obliczenia: demonstracja wybranych algorytmów i użycie zaawanoswanych bibliotek numerycznych w C++ 9. Programowanie SQL: komunikacja z bazami danych z poziomu aplikacji C++ 10. Języki XTML i XML. XML jako przenośny język do wymiany danych. 11. Multimedia: przechwytywanie, przetwarzanie i kompresja danych wideo. Zastosowanie kodeków. 12. Obsługa protokołów intyernetowych: TCP i UDP 13. Użycie bibliotek dołączanych dynamicznie 14. Projektowanie obiektowego modelu urządzenia peryferyjnego ze szczególnym uwzględnieniem możliwości jego rozbudowy w przyszłości. 15. Podsumowanie, zaliczenie Ćwiczenia - zawartość tematyczna: Seminarium - zawartość tematyczna: Laboratorium - zawartość tematyczna: Projekt - zawartość tematyczna: Literatura podstawowa: Petzold, Charles: Programming Windows Kuczmarski, Karol, Kurs C++, http://avocado.risp.pl (GNU license) Bartlet, Jonathan, Programming from the Ground Up, http://www.bartlettpublishing.com/ (GNU license) Numerical Recipes in C++ (http://www.nr.com/) http://www.msdn.com Literatura uzupełniająca: 1. 2. 3. 4. 5. 2 2 2 2 2 2 2 2 2 2 2 2 Aktualnie dostępne materiały dotyczące tematyki zajęć: SQL, CGI, XML, programowanie wielowątkowe, dokumentacje mikrokontrolerów, projektowanie PCB. Warunki zaliczenia: wykład: ocena z kolokwium, projekt: oceny z 3 łatwiejszych projektów lub jednego złożonego * - w zależności od systemu studiów 2