Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Programowanie dla systemów: mobilnego iOS oraz MacOS X

Informacje ogólne

Kod przedmiotu: 103A-ELxxx-ISP-APIOS
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie dla systemów: mobilnego iOS oraz MacOS X
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty obieralne )-Elektronika i inżynieria komputerowa-inż.-EITI
( Przedmioty obieralne )-Elektronika-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:

APIOS

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest praktyczne zapoznanie z obiektowymi językami programowania Objective-C i Swift. Języki te stosowane są do budowania aplikacji mobilnych dla urządzeń Apple iPhone/iPod/iPad (system iOS) oraz do budowania interfejsów graficznych użytkownika dla aplikacji na stacjonarne i przenośne komputery Apple Mac (MacOS X). Dlatego też drugim celem przedmiotu jest przedstawienie systemu Cocoa służącego do tworzenia takich właśnie aplikacji (systemy Cocoa, CocoaTuch i metodologie UIKit oraz SwithUI).

Pełny opis:

Celem przedmiotu jest praktyczne zapoznanie z obiektowymi językami programowania Objective-C i Swift. Języki te stosowane są do budowania aplikacji mobilnych dla urządzeń Apple iPhone/iPod/iPad (system iOS) oraz do budowania interfejsów graficznych użytkownika dla aplikacji na stacjonarne i przenośne komputery Apple Mac (MacOS X). Dlatego też drugim celem przedmiotu jest przedstawienie systemu Cocoa służącego do tworzenia takich właśnie aplikacji.

Treść wykładu
(wykład skupia się na równoległym przedstawianiu języków Swift i
Objective-C jako języków służących temu samemu celowi, choć o różnych
składniach):

  • Wprowadzenie, Swift i Objective-C na tle innych języków
    programowania; powiązania semantyczne tych języków (0,5h)

  • Podstawy składni języka Swith i zasady w nich obowiązujące (0,5h)

  • Interfejs i implementacja klasy, wywoływanie metod, typowanie,
    kontekstowość typów (1h)

  • Ukrywanie zmiennych, enkapsulacja. Property: składnia, atrybuty i
    stosowalność (1h)

  • Dziedziczenie, klasy abstrakcyjne, struktury, znaczenie typów
    self i super, polimorfizm (1h)

  • Tworzenie, inicjalizacja i likwidowanie obiektu, gospodarka
    pamięcią (1h)

  • Protokoły: składnia, protokoły formalne i nieformalne, instancje
    protokołów (1h)

  • Zaawansowane funkcje języków: selektory, kategorie, rozszerzenia
    klas, asocjacje (2h)

  • Obsługa sytuacji wyjątkowych (1h)

  • Mieszanie kodu Swift z Objective-C oraz Objective-C z C/C++,
    współpraca klas definiowanych w różnych językach (1h)

  • Cocoa: system tworzenia oprogramowania na sprzęt firmy Apple (iOS
    i MacOS X) (0,5h)

  • Przegląd paradygmatów programowania obiektowego, programowania
    zdarzeniowego, metodologii wysyłania sygnałów przez obiekty, itp. w
    kontekscie stosowalności w Swift, Objective-C i Cocoa (1,5h)

  • Tworzenie graficznego interfejsu użytkownika (1,5h)

  • Przegląd bibliotek (frameworks) systemu Cocoa (1h)

  • Zasady umieszczania aplikacji w App Store (0,5h)



  • Zakres laboratorium
    Studenci mają do dyspozycji laboratorium z komputerami Apple Macintosh
    (iMac) wyposażonych w oprogramowanie Xcode i symulator
    iPhone/iPad/iPod. Oprogramowanie to jest licencjonowane w ramach
    Apple University Developer Program (w skład licencji wchodzi
    także dydaktyczny dostęp do App Store umożliwiający umieszczanie tam
    aplikacji). Zajęcia laboratoryjne wykonywane są przez studentów
    indywidualnie. W trakcie zajęć ćwiczone jest tworzenie elementarnych
    programów w językach Swift i Objective-C ze zwiększaniem poziomu ich
    złożoności. Następnie programy te są rozszerzane przez stopniowe
    wykorzystanie bibliotek Cocoa (dodawanie nowych funkcjonalności i
    budowa interfejsu użytkownika) w celu stworzenia `kompleksowej"
    aplikacji działającej w systemie iOS/MacOS X.

    Tematy laboratoriów:

    1. Środowisko Xcode, pierwsze proste aplikacja w Objective-C i Swift

    2. Aplikacja w Swift/Objective-C (dziedziczenie, polimorfizm,
      property, łączenie kodu w różnych językach itp.)

    3. Aplikacja w Swift/Objective-C (protokoły, kategorie, sytuacje
      wyjątkowe itp.)

    4. Aplikacja z prostym interfejsem graficznym użytkownika Cocoa

    5. Aplikacja z zastosowaniem wybranej technologii funkcjonalnej
      Cocoa

    6. Kompleksowa aplikacja na iOS lub MacOS X - cz. 1

    7. Kompleksowa aplikacja na iOS lub MacOS X - cz. 2

    8. Kompleksowa aplikacja na iOS lub MacOS X - cz. 3


    Każdy student może konkretną tematykę ćwiczeń 5 oraz 6?8 indywidualnie
    dobrać do swoich zainteresowań.


Poprzedniki
Typ poprzednikaNr poprzednikaKod poprzednikaNazwa poprzednika
Zalecany1103A-TExxx-ISP-PROEProgramowanie obiektowe
Zalecany1103A-INxxx-ISP-PROIProgramowanie obiektowe

Literatura:

Dokumentacja wbudowana w narzędzie do tworzenia aplikacji firmy Apple –Xcode, dokumentacja języka Swift dostępna on-line (www.swift.org).

Metody i kryteria oceniania:

Sprawdzenie teoretycznej znajomości Objective-C: trzy kolokwia na początku ćwiczeń 2, 3 i 4 (wpływ na ocenę końcową 20%); sprawdzenie praktycznej znajomości Objective-C: ocena wyników ćwiczeń 1-5 (30%); ocena aplikacji kompleksowej wykonanej na ćw. 6-8 (50%).

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ęć:
Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 15 godzin, 60 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 71 miejsc więcej informacji
Wykład, 15 godzin, 71 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 50 miejsc więcej informacji
Wykład, 15 godzin, 50 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 50 miejsc więcej informacji
Wykład, 15 godzin, 50 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 50 miejsc więcej informacji
Wykład, 15 godzin, 50 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 15 godzin, 60 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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ęć:
Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
Koordynatorzy: Adam Wojtasik
Prowadzący grup: Adam Wojtasik
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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)