Nazwa przedmiotu:
Praktyka programowania obiektowego w języku Java
Koordynator przedmiotu:
Adam WOJTASIK
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Elektronika
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
PPOJ
Semestr nominalny:
7 / rok ak. 2019/2020
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
102
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ład15h
  • Ćwiczenia0h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Podstawowa wiedza w zakresie metodologii programowania obiektowego
Limit liczby studentów:
90
Cel przedmiotu:
Zapoznanie studentów z podstawowymi technologiami programowania w języku Java. Nabycie przez nich umiejętności tworzenia w tym języku typowych aplikacji
Treści kształcenia:
Treść wykładu: 1. Podstawowa charakterystyka środowiska Java – (1,5h): – podstawy składni; – zasady działania Maszyny Wirtualnej Java przy uruchamianiu aplikacji; – alokacja i dealokacja pamięci, Garbage Collection; 2. Specyfika dziedziczenia, modelowania obiektu i polimorfizmu w Jave – (1,5h). 3. Graficzny interfejs użytkownika (GUI), programowanie zdarzeniowe – (2h). 4. Aplikacja wielowątkowe, tworzenie i synchronizacja wątków – (3h). 5. Wykorzystanie strumieni do przesyłania informacji – (1h). 6. Aplikacje sieciowe korzystające z gniazd (socketów) – (2h). 7. Wykorzystanie Zdalnego Wywołania Metod (RMI) do przetwarzania równoległego – (2h). 8. Narzędzia Javy do współpracy z bazami danych – (2h). Laboratorium (część ćwiczeniowa): Studenci indywidualnie projektują i uruchamiają programy wykonujące następujące zadania: Lab1 – Problemy elementarne (wartość czy referencja, hermetyzacja, polimorfizm, itp.). Lab2 – Aplikacja z prostym interfejsem graficznym (GUI). Lab3 – Aplikacja graficzna z wielowątkową animacją. Lab4 – Aplikacja sieciowa korzystająca z gniazd. Lab5 – Aplikacja sieciowa korzystająca z RMI. Lab6 – Korzystanie z bazy danych (sieciowe połączenie z serwerem bazy danych). Laboratorium (część projektowa): Proj – Studenci indywidualnie projektują i uruchamiają aplikację będącą indywidualnym projektem (musi on zawierać co najmniej trzy elementy: GUI, sieciowość i wielowątkowość). Zajęcia odbywają się na zasadzie indywidualnych regularnych konsultacji w celu kontroli postępu prac i pomocy studentom w rozwiązywaniu problemów powstałych w trakcie programowania.
Metody oceny:
Laboratorium (część ćwiczeniowa): Oceniane są w systemie zaliczone–niezaliczone na podstawie oceny działania programu uruchamianego przez studenta w czasie trwania ćwiczenia. Laboratorium (część projektowa): Oceniana jest jakość stworzonej aplikacji (jej funkcjonalność, zgodność ze specyfikacją, a także jakość kodu). Ocena końcowa jest oceną części drugiej laboratorium (projektowej) pod warunkiem zaliczenia większości ćwiczeń z części pierwszej.
Egzamin:
nie
Literatura:
– podstawowe: [1] Dokumentacja języka Java, http://www.oracle.com/technetwork/java/index.html [2] Tutoriale, przykładowe kody itp., http://www.oracle.com/technetwork/java/index.html – uzupełniające: [3] Bruce Eckel, Thinking in Java. Edycja polska, Helion, Gliwice 2006. [4] Patrick Niemeyer, Jonathan Knudsen, Java. Wprowadzenie, Helion, Gliwice 2003. [5] Elliot Koffman, Paul Wolfgang, Struktury danych i techniki obiektowe na przykładzie Javy 5.0, Helion, Gliwice 2005. [6] Cay S. Horstmann, Gary Cornell, Core Java 2. Techniki zaawansowane, Helion, Gliwice 2005.
Witryna www przedmiotu:
http://www.imio.pw.edu.pl/wwwvlsi/cad/t/ppoj/index.html
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka Wpisz opis
Student, który zaliczył przedmiot, ma podstawową wiedzę na temat języka Java, a w tym: – środowiska programowania; – składni języka;
Weryfikacja: Ocena wyników Lab1 i Proj
Powiązane charakterystyki kierunkowe: K_W03, K_W04
Powiązane charakterystyki obszarowe:
Charakterystyka Wpisz opis
Student, który zaliczył przedmiot, ma podstawową wiedzę na temat języka Java, a w tym: – programowania zdarzeniowego dla interfejsu graficznego
Weryfikacja: Ocena wyników Lab2 i Proj
Powiązane charakterystyki kierunkowe: K_W04
Powiązane charakterystyki obszarowe:
Charakterystyka Wpisz opis
Student, który zaliczył przedmiot, ma podstawową wiedzę na temat języka Java, a w tym: programowania wielowątkowego
Weryfikacja: Ocena wyników Lab3 i Proj
Powiązane charakterystyki kierunkowe: K_W04
Powiązane charakterystyki obszarowe:
Charakterystyka Wpisz opis
Student, który zaliczył przedmiot, ma podstawową wiedzę na temat języka Java, a w tym: – programowania sieciowego i przetwarzania równoległego
Weryfikacja: Ocena wyników Lab4, Lab5 i Proj
Powiązane charakterystyki kierunkowe: K_W04
Powiązane charakterystyki obszarowe:
Charakterystyka Wpisz opis
Student, który zaliczył przedmiot, ma podstawową wiedzę na temat języka Java, a w tym: współpracy z bazami danych
Weryfikacja: Ocena wyników Lab6 i Proj
Powiązane charakterystyki kierunkowe: K_W04
Powiązane charakterystyki obszarowe:

Profil ogólnoakademicki - umiejętności

Charakterystyka Wpisz opis
Student, który zaliczył przedmiot, potrafi: zaprojektować, zaimplementować i uruchomić program w języku Java wykorzystujący podstawowe technologie tego języka (interfejs graficzny, wielowątkowość, sieciowość, współpracę z bazami danych)
Weryfikacja: Ocena wyników Lab1–6 i Proj
Powiązane charakterystyki kierunkowe: K_U18
Powiązane charakterystyki obszarowe: