Politechnika Warszawska - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

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
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 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
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:


powiększ
zobacz plan zajęć
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:


powiększ
zobacz plan zajęć
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.