Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Programowanie i zastosowania urządzeń mobilnych - Android

Informacje ogólne

Kod przedmiotu: 1000-I2Android
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie i zastosowania urządzeń mobilnych - Android
Jednostka: Wydział Matematyki i Informatyki
Grupy: Inf., I st., stacjonarne, 3 rok, przedmioty do wyboru
Inf., II st, stacjonarne, przedmioty do wyboru
Punkty ECTS i inne: (brak) 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
Wymagania wstępne:

Konieczna jest znajomość składni języka Java lub innego języka obiektowego (C++ lub C#), oraz zasad programowania obiektowego.

W szczególności potrzebne jest wcześniejsze zaliczenie przedmiotów Programowanie I, II, III.

Zalecana jest podstawowa znajomość jednego z języków skryptowych: Python, JavaScript, Ruby, Lua.

Zalecana jest podstawowa znajomość budowy systemu operacyjnego, w tym systemu Linux.


Całkowity nakład pracy studenta:

30 godz. - wykład

30 godz. - laboratoria

3 godz. - zaliczenie projektu.

3 godz. - prezentacja zadań z laboratoriów

40 godz. - praca własna: przygotowanie zadań

40 godz. - bieżące przygotowania do zajęć, studiowanie literatury

40 godz. - praca własna: przygotowanie projektu indywidualnego


Efekty uczenia się - wiedza:

A_W01 ma ogólną wiedzę na temat różnych paradygmatów programowania i języków programowania (imperatywny, obiektowy, funkcyjny, logiczny, skryptowy, maszyna wirtualna, podstawy translacji, deklaracje i typy, odśmiecanie, mechanizmy abstrakcji); szczegółowo zna metody projektowania i programowania obiektowego (kapsułkowanie i ukrywanie informacji, klasy i podklasy, dziedziczenie, polimorfizm, hierarchie klas) (X1A_W01, X1A_W03, X1A_W04, X1A_W05).



A_W02 ma wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania (Android Studio lub Eclipse oraz API Android, Google Play Services)



A_W03 zna podstawowe konstrukcje programistyczne (przypisanie, instrukcje sterujące, wywoływanie podprogramów i przekazywanie parametrów) oraz pojęcia składni i semantyki języka programowania Java, Python.



A_W04 zna cykl życia aplikacji w systemach android



A_W05 zna wybrane zasady działania systemów android ze szczególnym uwzględnieniem procesów, współbieżności, szeregowania zadań i zarządzania pamięcią (K_W08);


Efekty uczenia się - umiejętności:

A_U01 potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym (Android Studio oraz Eclipse);


A_U02 projektuje, analizuje pod kątem poprawności i złożoności obliczeniowej oraz programuje algorytmy; wykorzystuje podstawowe techniki algorytmiczne i struktur danych;


A_U03 potrafi czytać ze zrozumieniem programy napisane w języku Java , C++ lub jednym z języków skryptowych (Python, JavaScript, Ruby) przeznaczone dla systemów Android (K_U06);


A_U04 projektuje i tworzy oprogramowanie w języku Java lub C++ lub jednym z języków skryptowych (Python, JavaScript, Ruby) przeznaczone dla urządzeń mobilnych działających w systemach Android (K_U22);


A_U05 potrafi skonfigurować środowisko programistyczne, założyć i skonfigurować konto w google play, skonfigurować konto deweloperskie, odblokować telefon i wgrywać na niego pisane przez siebie programy oraz je usuwać, a także publikować pisane przez siebie programy, potrafi zainstalować na urządzeniu mobilnym inny system operacyjny (K_U09);


A_U06 potrafi zaprojektować wygodny i funkcjonalny interfejs aplikacji mobilnej (K_U15);


A_U07 potrafi tworzyć programy wykorzystujące operacje asynchroniczne (K_U28);


Efekty uczenia się - kompetencje społeczne:

A_K01 potrafi zaprezentować stworzone przez siebie oprogramowanie oraz opisać sposób jego działania, posługując się przy tym właściwie terminologią fachową (K_K05).


A_K02 Myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań.


A_K03 Jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny.


A_K04 Jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych.


Metody dydaktyczne:

Metody dydaktyczne podające:

* wykład informacyjny (konwencjonalny), slajdy.


Metody dydaktyczne poszukujące:

* ćwiczeniowa,

* laboratoryjna,

* klasyczna metoda problemowa.


Z użyciem posiadanego przez wydział sprzętu mobilnego (tablety i telefony


Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)
- wykład konwersatoryjny
- wykład problemowy

Metody dydaktyczne poszukujące:

- ćwiczeniowa
- laboratoryjna
- projektu

Skrócony opis:

Dynamiczny rozwój platform mobilnych, sprawia że umiejętność programowania aplikacji dla tych platform staje się jedną z podstawowych kompetencji programistycznych. Zagadnienie to pozwala na praktyczne wykorzystanie wiedzy zdobytej z takich dziedzin jak algorytmika, programowanie obiektowe, inżynieria oprogramowania. Programowanie urządzeń mobilnych pozwala usprawnić warsztat programistyczny uczestników, oferując jednocześnie wyjątkowo atrakcyjną dla nich formę kształcenia. Ważnym elementem przedmiotu jest pokazanie szerokiego spektrum zastosowań samych urządzeń mobilnych oraz tworzonego oprogramowania. Ze względu na specyfikę platform mobilnych, istotnym elementem jest nauka optymalizacji kodu z wykorzystaniem dostępnych narzędzi w różnych kontekstach: obliczeń, zużycia energii, ograniczeniami związanymi z przesyłem i składowaniem danych.

Pełny opis:

Przedmiot będzie zrealizowany w dwóch częściach: wykład oraz laboratorium.

Wykład będzie obejmował teoretyczne i praktyczne aspekty programowania w środowisku Android. Treścią wykładu będzie również budowa i ewolucja samego systemu Android oraz jego liczne zastosowania. Materiały wykładu zostaną udostępnione w formie slajdów.

Praca w laboratorium będzie polegać przede wszystkim na samodzielnym wykonaniu przez studentów zadań związanych z prezentowanymi na wykładzie zagadnieniami. W trakcie zajęć wykorzystane zostaną urządzenia Google Nexus (w celu umożliwienia testowania oprogramowania na rzeczywistym sprzęcie). Ćwiczenia będą prowadzone w formie zachęcającej uczestników do intensywnej pracy w trakcie zajęć, jak i samodzielnej pracy domowej.

Treści zadań wraz z opisem ich realizacji będą udostępnione w formie materiałów z laboratorium publikowanych w systemie moodle.

Niniejszy przedmiot pozwoli studentom zapoznać się ze sposobem działania aplikacji pod systemami z rodziny Android przeznaczonych na urządzenia mobilne. Celem jest także wyrobienie intuicji programistycznej dotyczącej rozwiązywania standardowych problemów związanych z tworzeniem oprogramowania dla tych systemów. Drugim ważnym celem jest pokazanie studentom szerokiej palety zastosowań urządzeń mobilnych zarówno w pracy zawodowego informatyka jak i zwykłego użytkownika.

Głównym czynnikiem oceny końcowej będzie indywidualny projekt o ściśle określonych kryteriach.

Zgodnie z warunkami konkursu materiały zostaną przygotowane w dwóch wersjach językowych: polskiej i angielskiej. W zależności od zapotrzebowania wykład, ćwiczenia oraz konsultacje będą mogły być przeprowadzone po polsku lub angielsku.

Literatura:

1. Android Developer training https://developer.android.com/training/index.html

2. Api Guides https://developer.android.com/guide/index.html

3. Android reference

4. Android Tools reference

5. Learning Android, 2nd Edition Develop Mobile Apps Using Java and Eclipse – Marko Gargenta, Masumi Nakamura

6. Google services https://developer.android.com/google/index.html

7. Android samples https://developer.android.com/samples/index.html

8. Android Development short course - 2011 https://sites.google.com/site/androidshortcourse2011/ home

9. Practical Android Projects - Lucas Jordan, Pieter Greyling

10. Professional Android 4 Application Development - Reto Meier

11. Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) - Bill Phillips, Brian Hardy

12. The Busy Coder’s Guide to Android Development - Mark L. Murphy

Metody i kryteria oceniania:

Zaliczenie laboratorium na ocenę na podstawie zadań ćwiczeniowych.

Zaliczenie wykładu w formie egzaminu, podczas którego student będzie musiał zaprezentować stworzony przez siebie indywidualny projekt programistyczny.

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.3.0-1 (2024-04-02)