Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Podstawy programowania w Javie

Informacje ogólne

Kod przedmiotu: 103A-INJEE-PNP-PPJ
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Podstawy programowania w Javie
Jednostka: Instytut Informatyki
Grupy: ( Semestr 1 )-Java EE - produkcja oprogramowania-pod.-EITI
Punkty ECTS i inne: 3.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Kod wydziałowy:

PPJ

Liczba godzin zajęć praktycznych:

10

Liczba godzin zajęć teoretycznych:

6

Numer wersji:

1

Skrócony opis:

Cel przedmiotu

Zapoznanie słuchaczy z podstawowymi mechanizmami języka Java i ze składnikami platformy programowej Java 11; projektowanie i uruchamianie prostych programów konwersacyjnych.

Pełny opis:

Wykład

Ogólna charakterystyka języka (1 godz.). Manifest J. Goslinga z C/C++ w tle, nowe podejście do przenośności i bezpieczeństwa kodu. Kulisy kompilacji i wykonania, program źródłowy, kod bajtowy, maszyna wirtualna Javy (JVM). Ewolucja języka i platformy programowej od wersji Java 1.0 do Java 11, wspierane paradygmaty, obecny status biznesowy technologii Java (Java ecosystem).

Struktura programu źródłowego i zarządzanie projektem (1 godz.). Komponowanie programu z pakietów, pojęcie jednostki kompilacji, klasy, metody, deklaracje, instrukcje, wyrażenia. Publiczna metoda main(). Konwencje nazewnicze dla plików źródłowych, pakietów, klas i metod. Dwupoziomowe reguły gramatyczne: poziom leksykalny i składnia bezkontekstowa. Kategorie atomów: słowa kluczowe, identyfikatory, literały, operatory, separatory i ograniczniki.

System typów i podstawowe operacje we/wy oraz wyrażenia i instrukcje (2 godz.). Typy prymitywne, typy referencyjne (osadzone w klasach), typy tablicowe, anonimowy typ wartości null; literały typów prymitywnych. Konwersje. Statyczna kontrola typów. Deklarowanie i inicjowanie zmiennych/obiektów, cykl życia i widzialność zmiennych. Serializacja znakowa typów prymitywnych. Klasa String. Współpraca z konsolą (System.in, System.out).Wyrażenia i instrukcje: repertuar operatorów i instrukcji. Obliczenia na typach prymitywnych, instrukcje wyrażeniowe, przypisania. Tablice. Przetwarzanie tablic, iteracje while, do, dwie wersje instrukcji for; instrukcje sterujące. Przetwarzanie łańcuchów znakowych. Klasy „opakowania” dla typów prymitywnych (Boolean, Character, Byte, Short, …)

Definiowanie klas (1 godz.). Model hierarchiczny klas Javy, terminologia. Definiowanie klasy, składowe (pola) instancyjne, metody, składniki statyczne (z poziomu klasy). Specyfikacje dostępności (public, protected, private). Definiowanie metod, parametryzacja, przeciążanie. Konstruktory. Dziedziczenie rozszerzające klasy, klasa bazowa implikowana Object, polimorfizm metod. Przykład definicji klas z polimorfizmem. Interfejsy, dziedziczenie roli interfejsu. Jednoczesne dziedziczenie rozszerzające i dziedziczenie ról. Przykłady.

Eksplorowanie środowiska Java (1 godz.). Komentowanie kodu według konwencji javadoc. Dokumentacja pakietów i klas platformy. Usługi matematyczne, generacja pseudolosowa liczb, usługi dotyczące czasu i kalendarza, kolekcje. Narzędzia pomocnicze w JDK.


Laboratorium

Zintegrowane środowisko programowe przykłady wprowadzające (2 godz.). Pakiet JDK z poziomu linii poleceń, zmienne środowiskowe, edycja, kompilacja i wykonanie programu. Środowisko IDE (drJava | NetBeans), błędy kompilacji, błędy wykonania, uruchamianie programu.

Podstawowe operacje we/wy (2 godz.). Realizacja przykładów: Deklarowanie i inicjowanie zmiennych/obiektów. Serializacja znakowa typów prymitywnych. Współpraca z konsolą (System.in, System.out), organizowanie konwersacji z użytkownikiem.

Wyrażenia i instrukcje (3 godz.). Przetwarzanie tablic, iteracje while, do, dwie wersje instrukcji for; instrukcje sterujące. Przetwarzanie łańcuchów znakowych.

Definiowanie klas (3 godz.). Przykłady dziedziczenia rozszerzającego klasy. Przykład definicji klas z polimorfizmem. Interfejsy, dziedziczenie roli interfejsu. Jednoczesne dziedziczenie rozszerzające i dziedziczenie ról.

Efekty uczenia się:

Wiedza i umiejetności, które student uzyskuje w wyniku zaliczenia przedmiotu

  • Zna podstawowe pojęcia związane z algorytmami.
  • Zna podstawowe elementy języka programowania.
  • Potrafi przeanalizować, zaprojektować i zapisać prosty algorytm w różnych postaciach.
  • Potrafi korzystać ze zintegrowanego środowiska programistycznego.
  • Potrafi zarządzać prostym projektem programistycznym.

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Zajęcia zintegrowane, 16 godzin więcej informacji
Koordynatorzy: Andrzej Pająk, Dariusz Turlej
Prowadzący grup: Andrzej Pająk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (zakończony)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Zajęcia zintegrowane, 16 godzin więcej informacji
Koordynatorzy: Andrzej Pająk, Elżbieta Styczek, Dariusz Turlej
Prowadzący grup: Andrzej Pająk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (zakończony)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Zajęcia zintegrowane, 16 godzin więcej informacji
Koordynatorzy: Andrzej Pająk, Leszek Śliwa
Prowadzący grup: Andrzej Pająk, Leszek Śliwa
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Zajęcia zintegrowane, 16 godzin więcej informacji
Koordynatorzy: Andrzej Pająk, Leszek Śliwa
Prowadzący grup: Andrzej Pająk, Leszek Śliwa
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Zajęcia zintegrowane, 16 godzin więcej informacji
Koordynatorzy: Leszek Śliwa
Prowadzący grup: Leszek Śliwa
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Zajęcia zintegrowane, 16 godzin więcej informacji
Koordynatorzy: Andrzej Pająk, Leszek Śliwa
Prowadzący grup: Andrzej Pająk, Leszek Śliwa
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)