- 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: