Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Podstawy programowania 2

Informacje ogólne

Kod przedmiotu: 103A-TLxxx-ISP-PRM2T
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Podstawy programowania 2
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Programowanie )-Telekomunikacja-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 4.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.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PRM2T

Numer wersji:

1

Skrócony opis:

Głównym celem przedmiotu jest wprowadzenie obiektowego paradygmatu programowania na tle innych paradygmatów wraz z doskonaleniem wiedzy i umiejętności zdobytych na przedmiocie "Podstawy programowania 1" (PRM1T).

Pełny opis:

Głównym celem przedmiotu jest wprowadzenie obiektowego paradygmatu programowania na tle innych paradygmatów wraz z doskonaleniem wiedzy i umiejętności zdobytych na przedmiocie "Podstawy programowania 1" (PRM1T).



Treść wykładu

  1. Wstęp. Omówienie zasad podejścia obiektowego do tworzenia oprogramowania: analiza obiektowa, dekompozycja problemu, obiekt, jego cechy, dane, klasa, metoda, abstrakcja, en-kapsulacja, dziedziczenie, polimorfizm. UML, diagramy struktur, diagramy zachowań. (2 godz.)
  2. Podstawy programowania obiektowego. Modelowanie obiektowe: definiowanie i projekto-wanie obiektów, definiowanie i projektowanie klasy. Referencja i wskaźnik. Modyfikator const. Przeciążanie funkcji. Przeciążanie operatorów. Domyślne wartości parametrów formal-nych. Klasa jako typ, zasady dostępu: pola prywatne i publiczne. Tworzenie i usuwanie obiektów klasy, konstruktor, konstruktor kopiujący, destruktor. Przekazywanie argumentów do funkcji i zwracanie wartości z funkcji. Relacja przyjaźni. Szablony. Dziedziczenie wirtual-ne. Wyjątki: definiowanie, dziedziczenie, zgłaszanie, chwytanie. (4 godz.)
  3. Ekosystem Javy. Podstawy programowania obiektowego w Javie. Moduł, pakiet, klasa. Kon-strukcja i inicjacja obiektów, cykl życia obiektów. Realizacja paradygmatu obiektowego w Javie. Klasy osłonowe, kontenerowe, zagnieżdżone. Wyjątki. Parametryzacja. Elementy pro-gramowania funkcyjnego. Kolekcje. Podstawy współbieżności: wątek, jego stany, synchroni-zacja. Strumieniowe i kanałowe wejście-wyjście. Programowanie zdarzeniowe. Interfejs użytkowania. (4 godz.)
  4. Systemy operacyjne. System unix/linux, system Windows. Funkcje systemowe. (2 godz.)
  5. Inżynieria oprogramowania. Proces projektowania oprogramowania. Podejście tradycyjne. Metodyki zwinne. Wzorce projektowe. Dobre praktyki projektowe. Testowanie jednostkowe, funkcjonalne, systemowe. Ciągła integracja. (3 godz.)



Treść ćwiczeń

  1. Projektowanie obiektowe na poziomie języka UML. Diagram przypadków użycia. Diagram sekwencji. Klasa. Obiekt. Diagram klas. Diagram czynności. (2 godz.)
  2. Podstawy programowania obiektowego. Generowanie kodu z narzędzi modelowania UML. Dostęp do funkcji systemu operacyjnego. Przykłady projektów niewielkich systemów. (4 godz.)
  3. Podstawy programowania obiektowego w ekosystemie Javy. Manipulacja systemem plików systemu operacyjnego. Interfejs graficzny. Współbieżność. (5 godz.)
  4. Inżynieria oprogramowania. Proces projektowania oprogramowania w zespole w podejściu tradycyjnym i w podejściu zwinnym (Java). (4 godz.)



Zakres laboratorium

  1. Wykonanie projektu przykładowego systemu w UML, diagram klas, diagram czynności. (3 godz.)
  2. Generowanie kodu systemu z narzędzia UML. (3 godz.)
  3. Implementacja modułów systemu. System wejścia-wyjścia. (3 godz.)
  4. Implementacja modułów systemu. Interfejs graficzny. (3 godz.)
  5. Implementacja modułów systemu. Użycie bibliotek standardowych Javy. Kolekcje. Strumie-nie, przetwarzanie funkcyjne. (3 godz.)
  6. Testowanie zintegrowanego systemu. (3 godz.)



Zakres projektu

Projekt grupowy. Implementacja systemu w wybranym narzędziu w wykorzystaniem systemu kontroli wersji. (10 godz.)

Literatura:

  1. Eric Matthes, Python, Instrukcje dla programisty,Helion, 2016.
  2. Joshua Bloch, Java. Efektywne programowanie,Wydanie III, Helion, 2018.
  3. Bruce Eckel, Thinking in Java, 4th Edition, Helion, 2006.
  4. Kompilator C (gcc).
  5. Środowisko zintegrowane (Eclipse, InteliJ,NetBeans, Visual Studio).
  6. Dokumentacje oprogramowania (dostępne on-line).

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 120 miejsc więcej informacji
Laboratorium, 15 godzin, 120 miejsc więcej informacji
Projekt, 10 godzin, 120 miejsc więcej informacji
Wykład, 15 godzin, 120 miejsc więcej informacji
Koordynatorzy: Krystian Ignasiak
Prowadzący grup: Grzegorz Galiński, Krystian Ignasiak, Maciej Jasiński, Karolina Pondel-Sycz, Arkadiusz Sycz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 120 miejsc więcej informacji
Laboratorium, 15 godzin, 120 miejsc więcej informacji
Projekt, 10 godzin, 120 miejsc więcej informacji
Wykład, 15 godzin, 120 miejsc więcej informacji
Koordynatorzy: Krystian Ignasiak
Prowadzący grup: Andrzej Buchowicz, Grzegorz Galiński, Krystian Ignasiak, Maciej Jasiński, Michał Nurek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 120 miejsc więcej informacji
Laboratorium, 15 godzin, 120 miejsc więcej informacji
Projekt, 10 godzin, 120 miejsc więcej informacji
Wykład, 15 godzin, 120 miejsc więcej informacji
Koordynatorzy: Krystian Ignasiak
Prowadzący grup: Andrzej Buchowicz, Grzegorz Galiński, Krystian Ignasiak, Maciej Jasiński, Jakub Wagner
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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ęć:
Ćwiczenia, 15 godzin, 56 miejsc więcej informacji
Laboratorium, 15 godzin, 56 miejsc więcej informacji
Projekt, 10 godzin, 56 miejsc więcej informacji
Wykład, 15 godzin, 56 miejsc więcej informacji
Koordynatorzy: Krystian Ignasiak
Prowadzący grup: Krystian Ignasiak
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 120 miejsc więcej informacji
Laboratorium, 15 godzin, 120 miejsc więcej informacji
Projekt, 10 godzin, 120 miejsc więcej informacji
Wykład, 15 godzin, 120 miejsc więcej informacji
Koordynatorzy: Krystian Ignasiak
Prowadzący grup: Jerzy Cuper, Grzegorz Galiński, Krystian Ignasiak, Marcin Lewandowski, Jakub Wagner
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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ęć:
Ćwiczenia, 15 godzin, 56 miejsc więcej informacji
Laboratorium, 15 godzin, 56 miejsc więcej informacji
Projekt, 10 godzin, 56 miejsc więcej informacji
Wykład, 15 godzin, 56 miejsc więcej informacji
Koordynatorzy: Piotr Bobiński, Krystian Ignasiak, Marcin Lewandowski
Prowadzący grup: Piotr Bobiński, Krystian Ignasiak, Marcin Lewandowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 120 miejsc więcej informacji
Laboratorium, 15 godzin, 120 miejsc więcej informacji
Projekt, 10 godzin, 120 miejsc więcej informacji
Wykład, 15 godzin, 120 miejsc więcej informacji
Koordynatorzy: Krystian Ignasiak
Prowadzący grup: Piotr Bobiński, Grzegorz Galiński, Krystian Ignasiak, Marcin Lewandowski, Paweł Mazurek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych

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)