Nazwa przedmiotu w
ję-zyku polskim Od HTMLa do PostGISa Nazwa przedmiotu w
ję-zyku angielskim From HTML to PostGIS A. Usytuowanie przedmiotu w systemie studiów Poziom kształcenia Studia pierwszego stopnia Forma i tryb prowadzenia
studiów Stacjonarne
Kierunek studiów
(dedyko-wany) Informatyka i Systemy Informacyjne Inne kierunki studiów -
Profil studiów Profil ogólnoakademicki
44
Specjalność -
Jednostka prowadząca Wydział Matematyki i Nauk Informacyjnych Jednostka realizująca Wydział Matematyki i Nauk Informacyjnych Koordynator przedmiotu Dr inż. Michał Okulewicz
Zakład SIMO, M.Okulewicz@mini.pw.edu.pl Osoby prowadzące zajęcia Dr inż. Michał Okulewicz, Inż. Maciej Bednarz B. Ogólna charakterystyka przedmiotu
Blok przedmiotów Kierunkowe
Poziom przedmiotu Średniozaawansowany
Grupa przedmiotów Obowiązkowe: Programowanie aplikacji wielowarstwowych Status przedmiotu Obieralny swobodnego wyboru
Język prowadzenia zajęć Angielski Semestr nominalny 5
Minimalny numer semestru 5 Usytuowanie realizacji
w roku akademickim Semestr zimowy Wymagania wstępne /
przed-mioty poprzedzające Programowanie obiektowe / Object oriented programming Projektowanie obiektowe / Object oriented design
Limit liczby studentów Liczba grup: 1
Laboratorium, projekt – 15 osób / grupa C. Efekty uczenia się i sposób prowadzenia zajęć
Cel przedmiotu Celem przedmiotu jest przekazanie wiedzy na temat technologii stosowanych w tworzeniu aplikacji WWW, ich architektury oraz zaprezentowanie ich wy-korzystania w biznesowym i technologicznym kontekście systemów przetwa-rzających informacje przestrzenne.
The goal of the course is to present the information on web applications de-velopment, their architecture and business and technical context of the web application in the environment of geographical information systems.
Efekty uczenia się Patrz TABELA 1.
Formy zajęć i ich wymiar
(se-mestralny) Wykład 30
Ćwiczenia 0
Laboratorium 15
Projekt 15
45 Treści kształcenia Wykład:
1. Przygotowywanie dokumentów wg standardu HTML.
2. Formatowanie dokumentów oraz projektowanie układu interfejsu z wyko-rzystaniem kaskadowych arkuszy stylów CSS.
3. Objaśnienie zasad funkcjonowania protokołu HTTP oraz uzupełnienie opisu dokumentów HTML o formularze, omówienie zagadnień związanych z bez-pieczeństwem komunikacji.
4. Programowanie aplikacji przeglądarkowych w języku JavaScript (obsługa zdarzeń interfejsu użytkownika, timerów, dynamiczna modyfikacja wy-glądu interfejsu).
5. Zaprezentowanie przykładowej biblioteki JavaScript związanej z prezenta-cją danych przestrzennych (np. GoogleMaps, OpenLayers).
6. Programowanie asynchroniczne i budowa aplikacji z wykorzystaniem ję-zyka JavaScript oraz komponentów serwerowych.
7. Zasady budowy aplikacji wykorzystujących REST API.
8. Podstawy prawne funkcjonowania infrastruktury informacji przestrzennej.
9. Omówienie podstawowych typów danych przestrzennych.
10. Omówienie standardów danych i usług Open Geospatial Consortium.
11. Omówienie możliwości i zastosowań wybranych aplikacji internetowych (np. Geoportal, OpenStreetMap, GoogleMaps).
12. Omówienie struktur danych i operacji wykorzystawanych w przestrzen-nych bazach daprzestrzen-nych.
13. Omówienie algorytmów i metod uczenia maszynowego znajdujących za-stosowanie w aplikacjach operujących na danych przestrzennych.
Laboratorium:
1. Przygotowywanie dokumentów wg standardu HTML oraz projektowanie układu interfejsu z wykorzystaniem kaskadowych arkuszy stylów CSS.
2. Wykorzystanie mechanizmów protokołu HTTP w komunikacji między in-terfejsem użytkownika a serwerem.
3. Programowanie aplikacji przeglądarkowych w języku JavaScript (obsługa zdarzeń interfejsu użytkownika, timerów, dynamiczna modyfikacja wy-glądu interfejsu, biblioteki do przetwarzania i prezentacji danych prze-strzennych).
4. Programowanie asynchroniczne, budowa aplikacji z wykorzystaniem ję-zyka JavaScript, komponentów serwerowych oraz przestrzennej bazy da-nych.
46 Projekt:
1. Wybór tematu projektu z obszaru systemów przetwarzania lub wizualizacji danych przestrzennych (np. aplikacja gromadząca i wizualizująca wybrane dane liczbowe w formie map tematycznych (np. dane o stanie powietrza w Polsce), automatyczna klasyfikacja obszarów na mapie (budynki, drogi, te-reny zielone) z wykorzystaniem metod nauki z nadzorem i bez nadzoru w oparciu o zdjęcia lotnicze lub satelitarne).
2. Przedstawienie analizy biznesowej, wysokopoziomowej architektury oraz harmonogramu dostarczania poszczególnych komponentów.
3. Dostarczanie i prezentacja poszczególnych komponentów.
4. Prezentacja finalnego produktu w formie seminarium.
Lecture:
1. Creating text documents according to HTML standard.
2. Document formatting and layout design with Cascade Style Sheets.
3. HTTP protocol features and limitations.
4. Client-based web applications development in JavaScript.
5. An example of JavaScript library for processing and presenting spatial data (eg. GoogleMaps, OpenLayers).
6. Asynchronous programming and data exchange in JavaScript.
7. REST API: design principles and examples.
8. Business and legal environment of the geographical information systems.
9. Spatial data types.
10. OGC spatial services.
11. Examples of web-based spatial systems (Geoportals, OpenStreetMap, GoogleMaps).
12. Spatial databases.
13. Examples of machine learning algorithms and methods applied to pro-cessing spatial information
Laboratories:
1. Preparing documents according to HTML standard and designing interfaces using CSS standard.
2. Utilizing HTTP protocol properties to facilitate communication between cli-ent and server parts of the applications.
3. Preparing JavaScript application, with a special emphasis on spatial data presentation.
4. A multi-layered web application, utilizing asynchronous programming, REST APIs and a spatial database.
Project:
1. Choosing a topic from the area of spatial processing and presentation sys-tems (e.g. maps based on numerical data, object detection, land usage clas-sification).
2. Presentation of the business analysis, high-level architecture design and de-livery schedule.
3. Completing subsequent milestones of the project (delivering working itera-tions of the final product).
4. Presentation of a final product.
47 Metody dydaktyczne Wykład:
1. Prezentacja wybranych fragmentów specyfikacji HTML, CSS, JavaScript, AJAX i wybranej technologii serwerowej (np. .NET WebAPI, Java Servlet, PHP)
2. Prezentacja wybranych fragmentów specyfikacji KML, GML, WMS, WFS, API Google Maps, OpenLayers, SQL Spatial
3. Podstawowy tutorial w zakresie w/w technologii
4. Omówienie ram prawnych oraz przykładów zastosowań technologii 5. Krótkie sprawdziany teoretyczne
Laboratorium:
Samodzielne rozwiązywanie zadań Projekt:
Zrealizowanie systemu informatycznego w małym zespole Lecture:
1. Presentation of the selected parts of HTML, CSS and JavaScript specification.
2. Presentation of the selected parts of KML, GML, WMS, WFS, GoogleMaps API, OpenLayers API and SQL Spatial specifications
3. Basic tutorial of aforementioned technologies
4. Business and legal ramifications aforementioned technologies 5. Short theoretical tests
Laboratories:
Designing small web applications during classes Project:
Delivering an IT system while working in a small team Metody i kryteria oceniania /
regulamin zaliczenia Do zdobycia podczas krótkich sprawdzianów teoretycznych na wykładzie jest 30 punktów.
Do zdobycia podczas zadań praktycznych jest 40 punktów. Podział punktów pomiędzy poszczególne zadania praktyczne kształtuje się następująco:
- 10 punktów za zadanie z zakresu HTML i CSS
- 10 punktów za zadanie z zakresu działania protokołu HTTP - 10 punktów za zadanie z zakresu JavaScript
- 10 punktów za zadanie z zakresu wykorzystania REST API i przestrzen-nych baz daprzestrzen-nych
Do zdobycia podczas realizacji projektu jest 30 punktów.
Skala ocen kształtuje się następująco:
- 50 punktów i mniej: 2.0
48 - 51 – 60 punktów: 3.0 - 61 – 70 punktów: 3.5 - 71 – 80 punktów: 4.0 - 81 – 90 punktów: 4.5 - 91 punktów i więcej: 5.0
One may get up to 30 points for theoretical tests.
During practical laboratories exercises one may get up to 40 points.
- 10 pt for HTML and CSS task
- 10 pt for HTTP protocol features task - 10 pt for JavaScript task
- 10 pt for asynchronous programming, REST APIs and spatial databases One may get up to 30 points for completing the project of spatial data pro-cessing system.
Grades are as follows:
- 50 points and less: 2.0 - 51 – 60 points: 3.0 - 61 – 70 points: 3.5 - 71 – 80 points: 4.0 - 81 – 90 points: 4.5 - 91 points and more: 5.0 Metody sprawdzania
efek-tów uczenia się Patrz TABELA 1.
Egzamin Nie
Literatura i oprogramowanie 1. Specyfikacje standardów W3ORG / W3ORG standards
2. Specyfikcja .NET Framework/.NET Core WebAPI / .NET Framework / .NET Core WebAPI specification
3. Specyfikacja protokołu HTTP/ HTTP protocol specification
4. Ustawa z dnia 4 marca 2010 r. o infrastrukturze informacji przestrzennej, http://isap.sejm.gov.pl/DetailsServlet?id=WDU20100760489 / Directive 2007/2/EC of the European Parliament and of the Council of 14 March
49
2007 establishing an Infrastructure for Spatial Information in the European Community (INSPIRE)
5. OGC Web Map Service 1.3.0, http://www.opengeospatial.org/stand-ards/wms
6. OGC Web Feature Service 1.1.0, http://www.opengeospatial.org/stand-ards/wfs
7. OGC Geography Markup Language 3.3, http://www.opengeospa-tial.org/standards/gml
8. Google/OGC KML 2.2.0, http://www.opengeospatial.org/standards/kml 9. OGC Catalogue Service 2.0.2,
http://www.opengeospatial.org/stand-ards/specifications/catalog
10. ISO/IEC 13249-3 SQL/MM Spatial
11. INSPIRE Conference 2010, Building INSPIRE in Poland, 2010.
12. L. Litwin, Metadane geoinformacyjne w INSPIRE i SDI. ApropoGEO, 2010 13. P. Krawczyk, A. Rosłan, M. Wierzchowski, Geoportal, praca inżynierska,
2013, http://www.mini.pw.edu.pl/~okulewiczm/downloads/inz/Geopor-tal_PracaDyplomowa.pdf
14. MS Visual Studio 15. QuantumGIS
16. PostgreSQL + PostGIS
Witryna www przedmiotu http://www.mini.pw.edu.pl/~okulewiczm/www/?Dydaktyka:WWW http://www.mini.pw.edu.pl/~okulewiczm/www/?Dydaktyka:AiUGIS D. Nakład pracy studenta
Liczba punktów ECTS 4 E. Informacje dodatkowe
Uwagi -
TABELA 1. EFEKTY PRZEDMIOTOWE
1. Efekty uczenia się i ich odniesienie do charakterystyk drugiego stopnia Polskiej Ramy Kwalifikacji oraz efektów uczenia się dla kierunków Informatyka i Systemy Informacyjne, Matematyka oraz Inżynieria i Ana-liza Danych
Efekty ucze-nia się dla
modułu
OPIS EFEKTÓW UCZENIA SIĘ Absolwent studiów I/II stopnia na kierunku Informatyka i Systemy Informacyjne / Matematyka /
Inżynieria i Analiza Danych
Odniesienie do charakterystyk drugiego
stop-nia PRK
Odniesienie do efektów uczenia się dla
kierun-ków WIEDZA
W01 Ma uporządkowaną wiedzę ogólną w zakresie architek-tury aplikacji WWW
Has organized general knowledge in the area of architec-ture of web applications
I.P6S_WG.o
III.P6S_WG K_W05
50
W02 Ma wiedzę ogólną oraz zna podstawowe techniki z za-kresu tworzenia interfejsu użytkownika z wykorzysta-niem języka HTML, CSS i JavaScript
Has general knowledge and knows basic techniques used in creating the user interface with HTML, CSS and JavaS-cript
I.P6S_WG.o K_W07
W03 Zna podstawowe metody, techniki i narzędzia stosowane przy rozwiązywaniu prostych zadań informatycznych z zakresu budowy systemów komputerowych wykorzy-stujących protokół HTTP
Knows the basic methods, techniques and tools used to solve simple computer tasks related to construction of computer systems that use the HTTP protocol
I.P6S_WG.o
III.P6S_WG K_W11
W04 Zna technologię i formaty danych dotyczące informacji przestrzennej
Knows technology and data formats supporting pro-cessing of spatial data
I.P6S_WG.o
III.P6S_WG K_W05
W05 Zna standardy i podstawy prawne dotyczące infrastruk-tury danych przestrzennych
Knows standards and legal ramifications of spatial data infrastructure
I.P6S_WG.o
III.P6S_WG K_W09
W06 Ma wiedzę z zakresu baz danych, pogłębioną o informa-cje dotyczące sposobów przechowywania danych prze-strzennych oraz programowania aplikacji z uwzględnie-niem tego typu danych
Has a general knowledge of data bases with spatial em-phasis on storing spatial data and programming spatial data processing applications
I.P6S_WG.o K_W08
UMIEJĘTNOŚCI
U01 Ma umiejętność tworzenia aplikacji internetowych z wy-korzystaniem wybranej technologii serwerowej (np.
ASP.NET WebForms, Java Servlet, PHP) oraz technologii warstwy przeglądarkowej
Is able to develop a web application with the usage of a web server (eg. ASP.NET WebForms, Java Servlet, PHP) and web browser technologies
I.P6S_UW.o
III.P6S_UW.o K_U18 K_U30
U02 Potrafi zaprojektować dobry interfejs użytkownika dla aplikacji WWW w oparciu o HTML z wykorzystaniem CSS, JavaScript i AJAX
Can design a proper user interface for the web applica-tion with the usage of HTML, CSS and JavaScript
I.P6S_UW.o
III.P6S_UW.o K_U19
U03 Potrafi zaprojektować i zrealizować aplikację WWW, w tym dobrać właściwe standardy i języki programowania do stworzenia poszczególnych komponentów tej aplika-cji oraz właściwie zabezpieczyć przesyłane pomiędzy nimi dane
Can design and develop a web application, while choos-ing proper standards and programmchoos-ing languages and properly securing the data passed between the compo-nents of the system
I.P6S_UW.o
III.P6S_UW.o K_U18 K_U30
U04 Potrafi tworzyć aplikacje umożliwiające prace z danymi przestrzennymi
Can design and develop an application for handling spa-tial data
I.P6S_UW.o
III.P6S_UW.o K_U20 K_U30
U05 Potrafi implementować systemy współpracujące z pu-blicznie dostępnymi usługami w oparciu o globalne stan-dardy organizacji Open Geospatial Consortium
Can design and develop an application cooperating with OGC based services
I.P6S_UW.o
III.P6S_UW.o K_U18 K_U30
51
U06 Posiada umiejętność tworzenia aplikacji w zespole
Can create software as a member of a team I.P6S_UO K_U08 U07 Potrafi efektywnie wizualizować dane przestrzenne
Can effectively visualize spatial data I.P6S_UW.o
III.P6S_UW.o K_U19 KOMPETENCJE SPOŁECZNE
K01 Rozumie na przykładzie standardów wykorzystywanych w aplikacjach WWW, że w informatyce rozwój nowych standardów i wymagań stawianych systemom następuje bardzo szybko
Understands that in the field of computer science knowledge and skills very quickly become obsolete (ex-ample: development of standards and libraries used for building Web applications)
I.P6S_KK K_K01
K03 Potrafi wykazać się skutecznością w realizacji projektów o charakterze programistyczno-wdrożeniowym, wcho-dzących w program studiów lub realizowanych poza stu-diami
Can effectively carry out programming an introductory projects, both included in the program of studies and un-related to the study program
P6S_KO K_K06
K04 Potrafi współdziałać w zespole informatycznym, organi-zować pracę, wyznaczać i realiorgani-zować zadania
Is able to work in a team, organize work, define, delegate and complete tasks
I.P6S_KR K_K05
K05 Ma świadomość roli systemów informatycznych w zarzą-dzaniu opartym o informacje przestrzenne i umiejętność przekazywania informacji o funkcjonowaniu tych syste-mów
Understands the role of spatial data systems in e-Govern-ment and knowledge-based managee-Govern-ment
and can present information on the features of such sys-tems
P6S_KO K_K06
K06 Rozumie sposób funkcjonowania projektów tworzonych przez społeczność (np. OpenStreetMap) i potrzebę współuczestniczenia w ich tworzeniu w przypadku ich wykorzystywania
Understands the role of open-source and open-data pro-jects created and maintained by the community (e.g.
OpenStreetMap), understands responsibility for partici-pation in such projects, especially when utilizing them
I.P6S_KR K_K05
2. Formy prowadzenia zajęć i sposób weryfikacji efektów uczenia się
Zamierzone efekty Forma zajęć Sposób weryfikacji
W01, W02, W03, W04, W05,
W06, K05 wykład, laboratorium
lecture, laboratory sprawdziany teoretyczne na wykładzie short theoretical quizzes
W01, W02, W03, U01, U02,
U03, U04, K01, K02 laboratorium
laboratory cztery krótkie zadania programistyczne wyma-gające zastosowania technologii objętych treścią przedmiotu
four short development tasks using the technolo-gies presented during the course
W01, W02, W03, W04, W05, W06, U01, U02, U03, U04, U05, U06, U07, K01, K02, K03, K04
projekt
project realizacja systemu informatycznego
completion of an IT project in the area of spatial data processing and web-based applications
52 Opis przedmiotu
NETWORK OPERATING SYSTEMS