Dr inż. Stanisław Polak

Przewiń stronę, aby zobaczyć treść główną

Informacje dla programistów

Materiały pomocnicze

Wykłady

Wykłady odbywają się w wirtualnym pokoju — https://agh-mche.webex.com/meet/polak/

Terminy

# Data Tematyka
1 8 III 2024 Ogólna charakterystyka języka JS, typy danych
2 22 III 2024 Obiektowy model dokumentu — DOM, komponenty React
3 05 IV 2024 Podstawy usługi WWW; środowisko uruchomieniowe "NodeJS"
4 19 IV 2024 Framework "Express" oraz baza danych "MongoDB"
5 17 V 2024 Asynchroniczne zapytania — AJAX oraz Fetch API
6 14 VI 2024 Podstawy języka TypeScript
7 17 VI 2024 Grywalizacja, referaty

Wybrane slajdy

Slajdy
Data modyfikacji slajdów: 11-04-2024, 11:08

Zasady zaliczenia

  1. Ćwiczenia są prowadzone w oparciu o wybrane elementy metody "Odwrócone nauczanie"
  2. Przed każdymi zajęciami, kilka dni wcześniej, w systemie informatycznym będzie się pojawiał zestaw zadań składający się z 4 lub 5 zadań prostych
  3. Zadania :
    1. Są przeznaczone do samodzielnego wykonania przed (zadania domowe) lub na ćwiczeniach (zadanie ćwiczeniowe)
    2. W przypadku zadań domowych, ich szczegóły są znane z góry; w przypadku zadania ćwiczeniowego, są tylko informacje ogólne — jego szczegóły będą podawane na początku zajęć
    3. Zadanie ćwiczeniowe można dokończyć po zajęciach, ale w takim przypadku jest ono traktowane jako domowe i w związku z tym jest niżej punktowane — patrz tabela z punktacją
  4. Punktacja zadań:
    Typ zadania Oznaczenie / Ikona Maksymalna liczba punktów Uwagi
    Domowe 1 Do wykonania przed zajęciami
    Ćwiczeniowe 1
    0,75
    2
    1,5
    Wersja łatwiejsza, wykonana na zajęciach
    Wersja łatwiejsza, dokończona po zajęciach
    Wersja trudniejsza, wykonana na zajęciach
    Wersja trudniejsza, dokończona po zajęciach
  5. Wysokość oceny końcowej będzie obliczana na podstawie sumarycznej ilości zdobytych punktów, w oparciu o progi określone w regulaminie studiów (§13, ust. 1)
  6. Na każdych zajęciach:
    • na samym ich początku sprawdzana jest poprawność oraz samodzielność wykonania zadań domowych, tj. tych, których treść jest znana z góry
    • ostatnie 10-15 minut to czas na podsumowanie tematu ćwiczenia — rozpoczęcie podsumowania kończy okres przyjmowania rozwiązania zadania
  7. W przypadku stwierdzenia, że przedstawiany do oceny kod (dowolnego zadania) jest kopią kodu innej osoby, jego autorzy otrzymują 0 pkt za całość zadania

Oddawanie zadań

  1. Dla potrzeb weryfikacji wyników efektów kształcenia, rozwiązanie każdego zadania należy wgrywać do UPEL-a
  2. Następnie trzeba to rozwiązanie przedstawić prowadzącemu

Tematyka ćwiczeń laboratoryjnych

L. p. Tematyka Jak się przygotować do ćwiczenia
1 CSS 3
  • Podstawy
  • Tworzenie animacji
Tworzenie responsywnej strony WWW w oparciu o framework Bootstrap, W3.CSS lub Bulma
Na komputerach znajdujących się w laboratorium 4.29, 4.30 oraz na puli PCoIP "Podstawowy system - ICSR (Win10)" jest zainstalowany edytor Visual Studio Code
  1. Przeczytaj jakie funkcjonalności związane z tworzeniem dokumentów HTML oraz arkuszy CSS oferuje ten edytor
  2. Obejrzyj film poświęcony tworzeniu w/w dokumentów
  3. Uruchom ten edytor za pomocą komendy code
  4. Za pomocą opcji "Open folder..." (Ctrl+K Ctrl+O) określ katalog w którym będą przechowywane Twoje dokumenty oraz skrypty
  5. W obrębie panelu "EXPLORER" najedź kursorem myszy na nazwę powyższego katalogu i kliknij ikonę "New File" - utwórz dokument HTML (plik) o nazwie 'dokument.html'
  6. Naciśnij klawisze Shift+1, a następnie Enter, co spowoduje utworzenie przykładowego dokumentu HTML. Jeżeli Twój edytor nie tego skrótu klawiszowego, to ręcznie utwórz dokument o poniższej zawartości:
     
    <!DOCTYPE html>
    <html lang="pl">
      <head>
        <meta charset="UTF-8" />
        <title>Tytuł strony</title>
      </head>
      <body>
      </body>
    </html> 
  7. Zmodyfikuj dokument - ma zawierać:
    • nagłówek stopnia 1 (h1) z Twoim imieniem i nazwiskiem
    • wewnętrzny arkusz stylów zawierający następujące dwie reguły:
      1. Lewy margines strony WWW ma mieć rozmiar 100 pikseli
      2. Treść wszystkich elementów 'h1' ma się wyświetlać na czerwono
  8. Wyświetl ten dokument w przeglądarce WWW
2 JavaScript (framework Vanilla JS)
  • Podstawowe typy danych
  • Obiekty wbudowane
  • Dostęp do pól formularza przy użyciu DOM 0
  • Obsługa zdarzeń za pomocą DOM 0
  • Tworzenie dynamicznych grafik - element "canvas"
  • Testy jednostkowe w oparciu o Mocha i Chai
Zaznajom się z:
3 Standard DOM 4
  • Dynamiczna zmiana stylów CSS
  • Tworzenie i modyfikacja treści dokumentów HTML "w locie"
  • Obsługa zdarzeń
  • Komponenty React
Zaznajom się z:
4 Serwer Node.js
  • Tworzenie prostych serwisów WWW - moduł 'http'
  • Obsługa systemu plików - moduł 'fs'
Zaznajom się z: Po zalogowaniu się do systemu Linux (laboratorium 4.29/4.30) dokonaj konfiguracji edytora Visual Studio Code
  1. Wykonaj poniższe komendy:
     
    mkdir ~/cw4
    cd ~/cw4
    npm init --yes
    npm install --save eslint eslint-config-airbnb-base eslint-plugin-import
    echo -e "module.exports = {\n  'extends': 'airbnb-base',\n  'rules': {\n    'no-console': 0\n  }\n};" > .eslintrc.js
    code --install-extension dbaeumer.vscode-eslint
    code ~/cw4  
  2. W obrębie panelu "EXPLORER" najedź kursorem myszy na nazwę cw4 i kliknij ikonę "New File" — utwórz pusty plik/skrypt o nazwie skrypt.js
  3. Umieść w nim następujący kod JS:
    
    console.log('\x1B[31mWitaj Świecie\x1B[0m\n');
    				      
  4. Za pomocą sekwencji klawiszy Ctrl+` otwórz panel terminala, a następnie wpisz w nim polecenie node skrypt.js, co spowoduje uruchomienie Twojego skryptu; tu: wypisanie, na czerwono, napisu "Witaj Świecie"
  5. Jeżeli chcesz, aby określona sekwencja klawiszy (np. Ctrl+Alt+R) uruchamiała polecenie node <nazwa_bieżącego_skryptu>, to:
    • Naciśnij Ctrl+K Ctrl+S, następnie ikonę 'Open Keyboard Shortcuts (JSON)' co spowoduje wyświetlenia zawartości pliku keybindings.json — umieść, pomiędzy parą nawiasów kwadratowych, pokazaną poniżej, w liniach 2-6, treść:
                              
      [ 
        { "key": "ctrl+alt+r", 
          "command": "workbench.action.tasks.runTask", 
          "args": "node",
          "when": "editorLangId == 'javascript'" 
        }
      ]
                    
                    
    • Utwórz plik tasks.json z definicją treści zadań:
      1. Naciśnij Ctrl+Shift+B
      2. Wybierz "No build task to run found. Configure Build Task..."
      3. Wybierz dowolny task
    • Zastąp zawartość pliku tasks.json następującą:
                                                  
      {
        "version": "2.0.0",
        "tasks": [
          {
            "label": "node",
            "command": "node",
            "args": [ "${file}" ]
          }
        ]
      }
                    
                    
    • Umieść, w skrypcie JS, fragment kodu, który jest niezgodny z zasadami pisania poprawnego kodu i sprawdź czy edytor podkreśla ten fragment
    • Najedź kursorem myszy na podkreślony fragment i zobacz co się wyświetla w "dymku"
    • Sprawdź czy działa autouzupełnienie — dopisz na końcu skryptu tekst console.l. Jeżeli nie pojawiło się menu z propozycjami nazw metod, to naciśnij Ctrl+Spacja
    • Przeczytaj jak korzystać z debuggera
5 Framework Express — podstawy
  • Tworzenie aplikacji internetowej przy wykorzystaniu systemu szablonów 'Pug'
  • Tworzenie aplikacji internetowej korzystającej z bazy danych 'MongoDB'
Zaznajom się z:
6 Asynchroniczne zapytania — AJAX oraz Fetch API
  • Asynchroniczna komunikacja z serwerem przy użyciu metody GET, POST ...
  • Odczyt danych odpowiedzi w oparciu o metody responseText() / responseXML()
  • Obietnice
7 Język TypeScript