SylabUZ

Generate PDF for this page

Programming of Web Applications - course description

General information
Course name Programming of Web Applications
Course ID 13.2-WI-GeoTSP-Progr.aplik.-S18
Faculty Faculty of Civil Engineering, Architecture and Environmental Engineering
Field of study Geoinformatics and satellite technology
Education profile academic
Level of studies First-cycle studies leading to Engineer's degree
Beginning semester winter term 2022/2023
Course information
Semester 4
ECTS credits to win 4
Course type obligatory
Teaching language polish
Author of syllabus
  • dr Sebastian Żurek
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Laboratory 60 4 36 2,4 Credit with grade

Aim of the course

Celem przedmiotu jest wprowadzenie do programowania aplikacji internetowych zarówno w warstwie prezentacji danych (programowanie po stronie przeglądarki) jak i w warstwie analizy, gromadzenia i przetwarzania danych (programowanie po stronie serwera z wykorzystaniem baz danych). Oprócz rozwijania umiejętności programowania aplikacji internetowych, celem przedmiotu jest również rozwijanie świadomości wolnego oprogramowania i umiejętności wykorzystywania go w tworzeniu profesjonalnych aplikacji internetowych.

Prerequisites

Znajomość podstaw programowanie w języku Python z uwzględnieniem programowania obiektowego, znajomość podstaw relacyjnych baz danych. Znajomość języka angielskiego na poziomie zapewniającym swobodne rozumienie treści pisanych - dokumentacji technicznych oraz użytkowych oraz popularnych artykułów traktujących o technologii.

Scope

1. HTML

  • struktura dokumentu HTML i jej model obiektowy (DOM)
  • elementy blokowe i „liniowe”
  • prezentacja treści (dobre praktyki)
  • praca z grafiką
  • odnośniki i nawigacja pomiędzy dokumentami
  • prezentacja informacji tabelarycznych i paginacja
  • formularze i wysyłanie danych do serwera
  • optymalizacja SEO

2. CSS

  • selektory, model pudełkowy i pozycjonowanie
  • podstawy stylizacji różnych treści (tekst, grafiki, tabele, formularze, etc.)
  • złożone dokumenty CSS - import, scalanie i kompresja
  • frameworki CSS na przykładzie Bootstrap
  • preprocesory CSS  na przykładzie SASS

3. JavaScript

  • podstawy języka JavaScript
  • asynchroniczne ładowanie treści (AJAX)
  • ważne frameworki JS na przykładzie JQuery i React
  • graficzna prezentacja danych i grafiki interaktywne

4. Aplikacje internetowe na przykładzie Django

  • koncepcja dynamicznego dostarczania treści
  • podstawy konfiguracji sieciowej i rozproszenia usług (serwer HTTP, serwer bazodanowy, WSGI i aplikacja)
  • serwery pośredniczące i równoważenie obciążenia (proxy i load-balancing)
  • mapowanie obiektowo-relacyjne (ORM): SQL i modelowanie zarządzania informacją
  • przechowywanie i przetwarzanie danych po stronie serwera (backend)
  • prezentacja dynamicznie ładowanych treści (frontend) - języki szablonów
  • architektura REST i AJAX oraz współpraca z JavaScript
  • uwierzytelnianie, zabezpieczanie dostępu do treści i szyfrowanie komunikacji
  • obsługa błędów i komunikacja z użytkownikiem końcowym

Teaching methods

Ćwiczenia laboratoryjne, metoda projektu, praca w grupie, giełda pomysłów,  burza mózgów,  prezentacja, praca z dokumentacją, samodzielne pozyskiwanie wiedzy.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Ocena końcowa jest oceną wykonania oraz omówienia projektu końcowego wybranego z listy zaproponowanych projektów lub własnej propozycji przyjętej przez osobę prowadzącą. W projekcie końcowym oceniane jest właściwe użycie HTML + CSS + JS (40% oceny), zaprojektowanie modeli, widoków i zaimplementowanie całości serwisu w frameworku Django (40% oceny), omówienie projektu i technik w nim zastosowanych (20% oceny).

Recommended reading

1. https://developer.mozilla.org/pl/

2. https://docs.djangoproject.com

Further reading

1. Mastering Django, Nigel George, GNW Independent Publishing, 2020

Notes


Modified by dr Sebastian Żurek (last modification: 12-05-2022 10:14)