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

Programowanie urządzeń mobilnych w systemach Windows

Informacje ogólne

Kod przedmiotu: 1000-I1PMobWin
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 urządzeń mobilnych w systemach Windows
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:

Zalecana jest przynajmniej podstawowa znajomość języka C#.

Absolutnie niezbędne są:

1. Znajomość składni języka C lub innego języka wyższego poziomu, który wyewaluował z języka C (np. któregoś z języków C++, Java, C#, D, Objective C) i umiejętność tworzenia programów w tym języku (włącznie z ich kompilacją i uruchamianiem) .

2. Wcześniejsze poznanie i zrozumienie koncepcji programowania obiektowego oraz opanowanie w stopniu podstawowym umiejętności tworzenia programów w wybranym obiektowym języku programowania (zakładana jest znajomość podstawowych paradygmatów, wzorców i antywzorców).


Całkowity nakład pracy studenta:

1. Godziny realizowane z udziałem nauczycieli - 61 godzin, w tym

* wykład - 30 godzin

* laboratorium 30 godzin (w tym przynajmniej 1 kolokwium programistyczne)

* prezentacja projektu programistycznego - 1 godzina

2. Czas potrzebny na pracę indywidualną studenta - 70 godzin, w tym

* 15 godzin na powtórzenie materiału z wykładu

* 30 godzin na przygotowanie się do laboratorium (wykonywanie zadań)

* 25 studiowanie literatury uzupełniającej

* 20 godzin przygotowanie projektu programistycznego

3. Czas potrzebny na przygotowanie się i uczestnictwie w procesie oceniania - 30 godzin

* 25 godzin przygotowanie projektu programistycznego

* 5 godzin na powtórzenie materiału związanego z projektem

Efekty uczenia się - wiedza:

Po ukończeniu kursu student

* zna cykl życia aplikacji w systemach Windows 8(.1), Windows Phone 8, Windows Phone 8.1, Windows 10 (K_W06);

* zna wybrane zasady działania systemów Windows 8 i Windows Phone 8 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:

Po ukończeniu kursu student

* potrafi pisać, uruchamiać i testować programy przeznaczone dla systemów Windows 8(.1), Windows Phone 8 i Windows Phone 8.1 w środowisku Visual Studio 2012/2013/2015 (K_U05);

* potrafi czytać ze zrozumieniem programy napisane w języku C# przeznaczone dla systemów Windows 8(.1), Windows Phone 8, Windows Phone 8.1 i Windows 10 (K_U06);

* potrafi skonfigurować środowisko programistyczne, założyć i skonfigurować konto w Windows Store, skonfigurować konto deweloperskie, odblokować telefon i wgrywać na niego pisane przez siebie programy oraz je usuwać, a także publikować pisane przez siebie programy (K_U09);

* potrafi zaprojektować wygodny i funkcjonalny interfejs aplikacji mobilnej w WPF (K_U15);

* projektuje i tworzy oprogramowanie w języku C# przeznaczone dla urządzeń mobilnych działających w systemach Windows 8(.1), Windows Phone 8 i Windows Phone 8.1 (K_U22);

* potrafi tworzyć programy zgodne z koncepcją "flush & fluid" wykorzystujące operacje asynchroniczne (K_U28).

Efekty uczenia się - kompetencje społeczne:

Student 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).

Metody dydaktyczne:

* wykład;

* laboratorium;

* projekt programistyczny.

Skrócony opis:

Przy aktualnym rozwoju rynków urządzeń mobilnych, umiejętność programowania aplikacji na te urządzenia staje się podstawową wiedzą wymaganą od programistów.

Zagadnienie to zawiera w sobie potrzebę znajomości wydajnych algorytmów, umiejętność ich tworzenia i analizy oraz dostosowywania znanych rozwiązań do nowych problemów. Ważnym zagadnieniem jest tu także nauka optymalizacji kodu z wykorzystaniem dostępnych narzędzi jego analizy. Programowanie urządzeń mobilnych pozwala usprawnić warsztat programistyczny uczestników, oferując jednocześnie wyjątkowo atrakcyjną dla nich formę kształcenia.

Zwracam uwagę na to, iż przedmiot ten jest następcą przedmiotu "Programowanie urządzeń mobilnych w systemach Windows Phone 8 i Windows 8" i znaczna część materiału z tego przedmiotu zostanie na nim wykorzystana.

Pełny opis:

Na wykładzie planowane jest poruszenie mechanizmów programistycznych z systemów

* Windows Phone 8

* Windows Phone 8.1

* Windows 10 (rozszerzenia dla urządzeń mobilnych).

Ponieważ jednak do chwili zgłaszania sylabusa (koniec września 2015) nie została opublikowana wersja systemu Windows 10 dla urządzeń mobilnych na razie podaję plan nie uwzględniający mechanizmów specyficznych dla tego systemu (informacje prawdopodobnie zostaną uzupełnione w terminie późniejszym):

1) Podstawy języka C#

2) Warsztat programisty Windows 8/Windows Phone 8 - zapoznanie ze środowiskiem programistycznym Visual Studio 2013/2015

3) Konto Microsoft id, Windows Store, Windows Phone Store, telefon - urządzenie z systemem Windows Phone

4) Pisanie prostej aplikacji Windows Phone oraz generowanie aplikacji z poziomu serwisu WWW,

5) Przegląd dostępnych frameworków dla Windows Phone.

6) Programowanie aplikacji multitouch.

7) Tworzenie interfejsu użytkownika z wykorzystaniem Microsoft Blend i za pomocą kodu.

8) Sposoby wykorzystania i rozszerzenia możliwości wbudowanych kontrolek systemowych.

9) Wykorzystywanie możliwości sprzętowych urządzeń Windows Phone w celu podniesienia wydajności aplikacji

10) Projektowanie narzędzi komunikacji sieciowej, wykorzystanie dostępnych w Windows Phone narzędzi, struktury danych przesyłanych przez sieć

11) Zarządzanie danymi w aplikacjach mobilnych. Wykorzystanie zasobów lokalnych i zasobów sieciowych z użyciem dostępnych narzędzi i frameworków

12) Programowanie wbudowanych komponentów: Bluetooth, GPS, NFC

13) Umieszczanie aplikacji w Windows Phone Store

Aktualizacja (19 stycznia 2016):

Na chwilę obecną (19 stycznia 2016) dla posiadanych przez Wydział (posiadanych na stanie oraz wypożyczonych) modeli telefonów (Nokia Lumia 925, Nokia Lumia 625):

  1. nie ma dostępnej wersji aktualizacji systemu do Windows 10;
  2. nie ma tych modeli na pierwszej liście telefonów Lumia, które otrzymają darmową aktualizację do tego systemu (wymienione są modele Lumia 430, Lumia 435, Lumia 532, Lumia 535, Lumia 540, Lumia 635 (1 GB RAM), Lumia 640, Lumia 640 XL, Lumia 735, Lumia 830 i Lumia 930);
  3. inne czynniki sugerują, że przynajmniej dla modelu Lumia 625 stworzenie takiej aktualizacji może się przynajmniej opóźnić.

W związku z tym rezygnuję z forsowania wprowadzenia Windows 10 do programu zajęć w semestrze letnim 2016.

Aktualizacja (15 luty 2017):

  1. Dla obecnie posiadanych przez Wydział (posiadanych na stanie oraz wypożyczonych) modeli telefonów (Nokia Lumia 925, Nokia Lumia 625) nie ma i nie będzie dostępnej wersji aktualizacji systemu do Windows 10 Mobile.
  2. W programie zajęć planowane są między innymi ćwiczenia programowania aplikacji w modelu Universal Windows Platform.
  3. Uruchamianie i testowanie aplikacji w systemie Windows 10 Mobile na zajęciach będzie przeprowadzane, ale wyłącznie w emulatorach.

Aktualizacja (2 października 2017):

Ponieważ na obecną chwilę na stanie wydziału jest tylko jedno urządzenie z systemem Windows 10 Mobile, a najnowsza wersja środowiska Visual Studio nie obsługuje już systemów Windows Phone, a części funkcjonalności (Bluetooth, żyroskop) nie da się przetestować pod emulatorami rozważam różne możliwe podejścia, w szczególności

  1. Położenie większego nacisku na programowanie aplikacji Windows 10 UWP bez konkretnego rozszerzenia (SKU), jakim w tym wypadku jest rozszerzenie "Mobile" (Windows 10 Mobile).
  2. Programowanie dla systemów Windows Phone 8.1 pod Visual Studio 2015 oraz uruchamianie i testowanie tych aplikacji na posiadanych przez Wydział telefonach
  3. Wprowadzenie elementów programowania aplikacji Windows 10 UWP dla innych rozszerzeń (np. Windows 10 IoT Core) i przeprowadzenie uruchamiania i testowania tych aplikacji na posiadanych przez Wydział urządzeniach (tu: Raspberry Pi 2 i Raspberry Pi 3).

O podjętych decyzjach poinformuję w terminie późniejszym.

Aktualizacja (19 lutego 2018): Skłaniałbym się ku pierwszej opcji polegającej na przeprowadzeniu na zajęciach pod kątem programowania aplikacji Windows 10 UWP (Universal Windows Platform) ze wskazaniem różnic w stosunku do poprzedników (Windows 8/8.1, Windows Phone 8.1 i Windows Phone 8.0).

Literatura:

  1. Microsoft Developer Network Library (np. Create your first Windows Store app using C# or Visual Basic (Windows), C#, VB, and C++ programming concepts for Windows Store apps, Develop UWP apps)
  2. Microsoft Virtual Academy (np. A Developer's Guide to Windows 10,...)
  3. Channel 9
  4. Andrew Whitechapel, Sean McKenna, Windows Phone 8 Development Internals, Microsoft Press, 2013.
  5. Luca Regnicoli, Paolo Pialorsi, Roberto Brunetti, Build Windows 8 Apps with Microsoft Visual C# and Visual Basic Step by Step, Microsoft Press, 2013.
  6. Samidip Basu, Real World Windows 8 Development, Apress, 2013.
  7. Lori Lalonde, David R. Totzke, Windows Phone 8 Recipes, A Problem-Solution Approach, Apress, 2013.
  8. Jesse Liberty, Windows 8 XAML Primer, Apress, 2013.
  9. Jesse Liberty, Jon Galloway, Philip Japikse, Pro Windows 8 Development with XAML and C#, Apress, 2013.
  10. Adam Dawes, Windows 8 and Windows Phone 8 Game Development, Apress, 2013.

Metody i kryteria oceniania:

Podstawowym elementem niezbędnym do otrzymania zaliczenia jest wykonanie indywidualnego projektu, na który składać się będzie napisanie aplikacji dla Windows Phone 8.0/8.1 i/lub Windows 8/10. Aplikacje te powinny przejść proces certyfikacji i zostać zaakceptowane do publikacji w Windows App Store. Podczas egzaminu student będzie musiał zaprezentować działanie stworzonych przez siebie programów, omówić ich działanie (odpowiadając przy tym na otrzymane pytania), pokazać ich kod źródłowy. Student powinien być też przygotowany na konieczność dokonania podczas tego egzaminu modyfikacji programu wskazanych przez egzaminującego oraz przeprowadzania kompilacji i wgrania nowej wersji programu na urządzenie.

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)