Notes and additional points to gain.
This commit is contained in:
parent
daf780bd6e
commit
5584d7280d
58
README.md
58
README.md
@ -1,6 +1,6 @@
|
|||||||
# Zajęcia laboratoryjne z programowania grupa nr 11 studia zaoczne 2022/2023
|
# Zajęcia laboratoryjne z programowania grupa nr 11 studia zaoczne 2022/2023
|
||||||
|
|
||||||
# Cele przedmiotu
|
## Cele przedmiotu
|
||||||
|
|
||||||
Celem przedmiotu jest zapoznanie studentów z procesem pracy nad złożonym serwisem internetowym
|
Celem przedmiotu jest zapoznanie studentów z procesem pracy nad złożonym serwisem internetowym
|
||||||
z uwzględnieniem różnych jego aspektów (przetwarzanie danych, współpraca z bazą danych,
|
z uwzględnieniem różnych jego aspektów (przetwarzanie danych, współpraca z bazą danych,
|
||||||
@ -8,17 +8,17 @@ komunikacja sieciowa, wymiana informacji pomiędzy różnymi elementami systemu
|
|||||||
interfejs użytkownika). W ramach przedmiotu studenci wykonują samodzielnie różne podmoduły projektu,
|
interfejs użytkownika). W ramach przedmiotu studenci wykonują samodzielnie różne podmoduły projektu,
|
||||||
które ostatecznie integrują w jeden złożony serwis.
|
które ostatecznie integrują w jeden złożony serwis.
|
||||||
|
|
||||||
Student otrzymuje dowolność w wyborze technologii, z której będzie korzystał w celu wykonania
|
Student otrzymuje *dowolność w wyborze technologii*, z której będzie korzystał w celu wykonania
|
||||||
projektu, ale ma także możliwość wyboru ścieżki wyznaczonej przez prowadzącego. Przedmiot oceniany
|
projektu, ale ma także możliwość wyboru ścieżki wyznaczonej przez prowadzącego. Przedmiot oceniany
|
||||||
jest na podstawie indywidualnych obron projektów.
|
jest na podstawie indywidualnych obron projektów.
|
||||||
|
|
||||||
# Wymagania wstępne w zakresie wiedzy, umiejętności oraz kompetencji społecznych
|
## Wymagania wstępne w zakresie wiedzy, umiejętności oraz kompetencji społecznych
|
||||||
|
|
||||||
Wymagania: Znajomość zasad programowania obiektowego, wiedza z zakresu: Technologii Internetowych,
|
Wymagania: Znajomość zasad programowania obiektowego, wiedza z zakresu: Technologii Internetowych,
|
||||||
Systemów Operacyjnych, Baz Danych. Umiejętność pracy z materiałami dodatkowymi, samodzielnego
|
Systemów Operacyjnych, Baz Danych. Umiejętność pracy z materiałami dodatkowymi, samodzielnego
|
||||||
pozyskiwania informacji i analizy przykładów.
|
pozyskiwania informacji i analizy przykładów.
|
||||||
|
|
||||||
# Zagadnienia poruszane na laboratorium
|
## Zagadnienia poruszane na laboratorium
|
||||||
|
|
||||||
1. Przygotowanie środowiska programistycznego:
|
1. Przygotowanie środowiska programistycznego:
|
||||||
- utworzenie repozytorium,
|
- utworzenie repozytorium,
|
||||||
@ -81,16 +81,58 @@ oraz budowy artefaktów programistycznych za pomocą jednego polecenia),
|
|||||||
- monitorowanie osadzonej aplikacji,
|
- monitorowanie osadzonej aplikacji,
|
||||||
- debuggowanie aplikacji (patrz zdalne debuggowanie).
|
- debuggowanie aplikacji (patrz zdalne debuggowanie).
|
||||||
|
|
||||||
8. Interfejs użytkownika:
|
8. Interfejs użytkownika i logika biznesowa:
|
||||||
- serwowanie plików statycznych,
|
- serwowanie plików statycznych,
|
||||||
- obsługa odwołań i przekierowań,
|
- obsługa odwołań i przekierowań,
|
||||||
- integracja z zewnętrznym frameworkiem.
|
- integracja z zewnętrznym frameworkiem,
|
||||||
|
- warstwa logiki biznesowej.
|
||||||
|
|
||||||
9. Integracja usług sieciowych:
|
9. Integracja usług sieciowych:
|
||||||
- zabezpieczanie usług OAuth,
|
- zabezpieczanie usług OAuth,
|
||||||
- autoryzacja i korzystanie z zewnętrznych usług.
|
- autoryzacja i korzystanie z zewnętrznych usług.
|
||||||
|
|
||||||
# Kryteria zaliczenia
|
## Kryteria zaliczenia
|
||||||
|
|
||||||
Zaliczenie zajęć polega na (inkrementalnym!) przygotowaniu projektu, który
|
Zaliczenie zajęć polega na (inkrementalnym!) przygotowaniu projektu, który
|
||||||
pokrywa zagadnienia poruszane na zajęciach.
|
pokrywa zagadnienia poruszane na zajęciach:
|
||||||
|
- Zagadnienia 1-3 – 20% oceny (20 punktów do zdobycia),
|
||||||
|
- Zagadnienia 4-6 – 40% oceny (40 punktów do zdobycia),
|
||||||
|
- Zagadnienia 7-9 – 40% oceny (40 punktów do zdobycia).
|
||||||
|
|
||||||
|
### Dodatkowe punkty
|
||||||
|
|
||||||
|
Dodatkowe punkty można zyskać za:
|
||||||
|
- aktywność na zajęciach,
|
||||||
|
- prawidłową dekompozycję kodu:
|
||||||
|
- segregacja interfejsów;
|
||||||
|
- kohezja na poziomie klasy i metody;
|
||||||
|
- konsekwentną i logiczną organizację kodu w pakiety (np. zastosowanie Domain Driven Design),
|
||||||
|
- czystość kodu (ang. Clean Code):
|
||||||
|
- odpowiednie (ang. meaningful), anglojęzyczne nazwy zmiennych, metod, klas i pakietów;
|
||||||
|
- posortowanie atrybutów i metod według kolejności użycia lub wywołania;
|
||||||
|
- minimalizację liczby parametrów wywołania metod (lub funkcji);
|
||||||
|
- powstrzymanie się od korzystania z efektów ubocznych, niemutowalność;
|
||||||
|
- upewnienie się że metoda i klasa robi jedną rzecz (patrz kohezja);
|
||||||
|
- odpowiednią liczbę metod publicznych w klasie (do siedmiu);
|
||||||
|
- właściwą liczbę linii kodu w metodzie (5 +/- 2, przy czym strumienie należy liczyć jako jedną linię),
|
||||||
|
- stosowanie zasad:
|
||||||
|
- SOLID;
|
||||||
|
- YAGNI/KISS;
|
||||||
|
- DRY,
|
||||||
|
- zastosowanie wzorców projektowych nieujętych w zagadnieniach (Uwaga! Tam gdzie to ma sens),
|
||||||
|
- zastosowanie metodologii Test Driven Development, szczególnie w odmianie Behavior-Driven Development,
|
||||||
|
- zastosowanie paradygmatu funkcyjnego wszędzie gdzie się da.
|
||||||
|
|
||||||
|
|
||||||
|
### Oceny
|
||||||
|
|
||||||
|
|
||||||
|
| Punkty | Ocena |
|
||||||
|
|:------:|:-----:|
|
||||||
|
| do 50 | niedostateczny (2.0 |
|
||||||
|
| 51 do 60 | dostateczny (3.0) |
|
||||||
|
| 61 do 70 | dostateczny plus (3.5) |
|
||||||
|
| 71 do 80 | dobry (4.0) |
|
||||||
|
| 81 do 90 | dobry plus (4.5) |
|
||||||
|
| powyżej 90 | bardzo dobry (5.0) |
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user