Ostatnim zadaniem na naszym kursie jest przygotowanie projektu strony internetowej. Strona ma na celu przedstawienie pewnego zagadnienia matematycznego na poziomie przynajmniej liceum (prowadzący laboratoria mogą doprecyzować wymagania, o ile spełniony jest podany tu warunek). Zagadnienie to musi być inne niż dotyczące funkcji kwadratowej (delta odpada, wszyscy z Was pewnie mają jej absolutnie dość).
Strona powinna spełniać następujące wytyczne (Niektóre wytyczne w punkcie 5 oraz 7 opisują biblioteki JavaScript, które omówimy na kolejnym wykładzie. Zanim to nastąpi są one podlinkowane do odpowiednich stron, ale można już zacząć pracę).
Strona korzysta z serwera napisanego w Pythonie z wykorzystaniem biblioteki Flask.
Strona korzysta z żywego standardu
HTML oraz wykorzystuje
CSS nadający jej nieodstraszający wygląd (jeśli nie wygląda jak strony z okresu Wojen Przeglądarek, będzie dobrze — nie ma konieczności „trafienia w gusta” prowadzącego, można zrobić stronę w zgodzie ze swoimi gustami).
HTML oraz
CSS na stronie przechodzą pomyślnie proces walidacji.
Strona ma przynajmniej trzy podstrony, przykładowo:
podstronę o projekcie,
podstronę z demonstracją zagadnienia matematycznego oraz
podstronę z informacjami o autorach.
Strona posiada przynajmniej jeden wzór matematyczny złożony za pomocą biblioteki
MathJax.
Strona ma przynajmniej jeden formularz przesyłający dane do aplikacji we Flasku za pomocą metody POST.
W oparciu o dane z formularza strona przygotowuje rysunek za pomocą przynajmniej jednej z poniższych metod:
generowanie obrazu PNG lub SVG za pomocą biblioteki matplotlib,
przygotowanie odpowiedniego skryptu wyświetlającego ilustrację w
JSXGraph,
przygotowanie wizualizacji danych w bibliotece
D3.js,
przygotowanie diagramów lub wizualizacji w bibliotece
TikZJax.
Strona powinna być przechowywana na repozytorium git do kursu oraz:
każdy członek zespołu chcący otrzymać komplet punktów powinien mieć przynajmniej 2 commity,
w repozytorium powinny znajdować się wszystkie pliki potrzebne do uruchomienia i działania strony,
do repozytorium należy dodać swoich prowadzących, aby mieli dostęp do kodu.
Potraktowanie wytycznych w sposób istotnie nieminimalistyczny lub wykorzystanie rozwiązań wykraczających poza omawiane na wykładzie, może być promowane przez prowadzących dodatkowymi punktami (10% skali).
Projekt przygotowujemy w grupach 3–4 osobowych. Łączenie członków zespołów z różnych grup laboratoryjnych jest możliwe pod warunkiem uzyskania zgody prowadzących ze wszystkich grup.
Termin oddania projektu ustalimy podczas najbliższych zajęć (przynajmniej do końca semestru, możliwość przesunięcia na sesję).