Nazwa przedmiotu:
Programowanie zdarzeniowe (I)
Koordynator przedmiotu:
Roman PODRAZA
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
PROZ
Semestr nominalny:
4 / rok ak. 2012/2013
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
126
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt30h
  • Lekcje komputerowe0h
Wymagania wstępne:
Umiejetność programowania obiektowego (w C++)
Limit liczby studentów:
120
Cel przedmiotu:
Praktyczne zapoznanie studentów z programowaniem zdarzeniowym w kontekście tworzenia interaktywnych i wielowątkowych aplikacji w Javie.
Treści kształcenia:
Treść wykładu: 1. Informacje wstępne o środowisku języka Java: Język, program źródłowy, kompilator, maszyna wirtualna, biblioteki API, konfiguracja JDK, pakiety. Podstawowe elementy programu, typy języka Java, typy wbudowane, stałe, zmienne, operatory i wyrażenia, instrukcje strukturalne i sterujące - porównanie z C++. Bloki, zakresy interpretacji nazw. Obsługa sytuacji wyjątkowych. (2h). 2. Klasy i obiekty, definiowanie klas, tworzenie obiektów, cykl życia obiektu, odśmiecanie pamięci. Definiowanie metod, przeciążenie, sygnatury, metody statyczne, abstrakcyjne, synchronizowane. Tablice. Dziedziczenie i polimorfizm. Interfejsy. Zarządca bezpieczeństwa. Systemowe obiekty wejścia/wyjścia. (2h). 3. Przegląd klas i pakietów podstawowych. Klasy pakietu java.lang (Object, obiektowe klasy numeryczne, klasa String, hierarchia wyjątków, System, Runnable, Thread). Klasy pakietu java.util, java. math, java.io. (2h). 4. Java Beans: idea i konstrukcja, indekser, wzorzec projektowy obserwator, powiadamianie o zmianie własności, kontrola i zatwierdzanie zmiany własności. Trwałość obiektów. Odzwierciedlenie i introspekcja. (2h). 5. Programowanie wielowątkowe: Sytuacje wymagające współbieżności, reagowanie na zdarzenia i wątki. Tworzenie wątków, wątek główny, wątki - demony. Stany wątków, priorytety. Anomalie w programach wielowątkowych, wyścigi, impas, synchronizowanie wątków; instrukcje synchronizujące, metody synchronizowane, monitory. (2h). 6. Wzorzec Model-View-Controller: okoliczności stosowania, alternatywy (2h). 7. Programowanie interfejsu: Abstract Window Toolkit - elementy interfejsu, zdarzenia (2h). 8. Sprawdzian 1 (2h). 9. Programowanie interfejsu: Swing (2h). 10. Klasa Graphics (2h). 11. Programowanie zaawansowane wejścia/wyjścia (2h). 12. Kod uogólniony (generics). Kolekcje. (2h). 13. Komunikacja sieciowa - gniazdka, obsługa http, RMI, JMS. (2h). 14. Mechanizm adnotacji. (2h). 15. Sprawdzian 2 (2h). Zakres projektu: W ramach projektu każdy student (indywidualnie lub w zespole) ma zaprojektować, uruchomić i przetestować przenośny program napisanych w języku Java wykorzystujący graficzny interfejs użytkownika i techniki programowania współbieżnego.
Metody oceny:
Ocena sprawdzianu 1 Ocena sprawdzianu 2 Ocena projektu
Egzamin:
nie
Literatura:
[1] Herbert Schildt, “Java. Kompendium programisty”, Wydawnictwo Helion, 2005. [2] Brutt McLaughlin, David Flanagan, „Java 1.5 Tiger. Zapiski programisty”, Wydawnictwo Helion, 2005. [3] Bruce Eckel, “Thinking in Java. Edycja polska”, Wydawnictwo Helion, 2001. [4] Simon Roberts, Philip Heller, Michael Ernest, "The Complete Java 2 Certification Study Guide", Sybex Inc., USA, 1999. [5] Cay S. Horstmann, Gary Cornel, „Core Java 2. Podstawy”, Wydawnictwo Helion, 2003. [6] Cay S. Horstmann, Gary Cornel, „Core Java 2. Techniki zaawansowane”, Wydawnictwo Helion, 2003. [7] online: http://java.sun.com/docs/books/tutorial.
Witryna www przedmiotu:
https://studia.elka.pw.edu.pl
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt PROZ_W01
Student, który zaliczył przedmiot, posiada podstawową wiedzę na temat: Podstawowego programowania obiektowego w Javie
Weryfikacja: Ocena sprawdzianu 1
Powiązane efekty kierunkowe: K_W09, K_W13, K_W19
Powiązane efekty obszarowe: T1A_W04, T1A_W04, T1A_W05, T1A_W07
Efekt PROZ_W02
Student, który zaliczył przedmiot, posiada podstawową wiedzę na temat: Tworzenie prostego graficznego interfejsu użytkownika
Weryfikacja: Ocena sprawdzianu 1
Powiązane efekty kierunkowe: K_W09, K_W19
Powiązane efekty obszarowe: T1A_W04, T1A_W07
Efekt PROZ_W03
Student, który zaliczył przedmiot, posiada podstawową wiedzę na temat: Podstaw programowania współbieżnego
Weryfikacja: Ocena sprawdzianu 2
Powiązane efekty kierunkowe: K_W09, K_W12, K_W19
Powiązane efekty obszarowe: T1A_W04, T1A_W03, T1A_W07
Efekt PROZ_W04
Student, który zaliczył przedmiot, posiada podstawową wiedzę na temat: Wybranych elementów technologii Javy
Weryfikacja: Ocena sprawdzianu 2
Powiązane efekty kierunkowe: K_W09, K_W12, K_W14
Powiązane efekty obszarowe: T1A_W04, T1A_W03, T1A_W03, T1A_W04, T1A_W05, T1A_W07

Profil ogólnoakademicki - umiejętności

Efekt PROZ_U01
Student, który zaliczył przedmiot, potrafi: Zaprojektować, uruchomić i przetestować przenośny program napisanych w języku Java wykorzystujący graficzny interfejs użytkownika i techniki programowania współbieżnego
Weryfikacja: Ocena projektu
Powiązane efekty kierunkowe:
Powiązane efekty obszarowe: