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