Dydaktyka

Technologie programistyczne (semestr letni 2018-19)

Wyniki z testu

Wyniki z testu znajdują się w tym arkuszu. Aby rozwiązać na Państwa korzyść sytuacje graniczne, każdy otrzymał 0.5 punktu jako bonus i na tej podstawie wyznaczana była ocena końcowa. Nikt na pisaniu testu nie stracił :)

Zagadnienia do zaliczenia

Poniżej zamieszczam zagadnienia do zaliczenia. Będziemy sprawdzali ogólną orientację w poszczególnych tematach, a nie szczegóły typu API (do odpowiedzi na pytania powinno wystarczyć nieco bardziej uważne zapoznanie się z prezentacjami).

  1. MiniZinc
  2. Rozwijanie aplikacji dla iOS -- link do slajdów z wykładów dr. Prędkiego
  3. Konteneryzacja
  4. Event Sourcing
  5. Programowanie funkcyjne
  6. Projekt GraalVM
  7. Biblioteka pyTorch
  8. Testy AB
  9. Scala i Spark
  10. ML i technologie mobilne

Zgłoszone prezentacje

Lista zgłoszonych i zaakceptowanych propozycji prezentacji znajduje się tutaj. Poniżej znajduje się bardziej szczegółowy plan -- będzie on uzupełniany w trakcie semestru.

2019-06-03

  • Nowoczesne narzędzia wykorzystywane w technologiach mobilnych (uczenie maszynowe, rozszerzona rzeczywistość) - prezentacja (PDF)

2019-05-27

2019-05-20

2019-05-13

2019-05-06

2019-04-15

2019-04-08

2019-04-01

2019-03-25

Wcześniej

Punkty kontrolne

Trzeci punkt kontrolny - 14.06.2019

Każdą grupę chciałbym poprosić o przygotowanie sprawozdania pisemnego zawierającego:

  • opis i cele projektu - zakładane i ostatecznie zrealizowane,
  • opis koncepcji rozwiązania problemu (architektura systemu, opis algorytmu i/lub modelu matematycznego),
  • opis wykorzystanych technologii i implementacji rozwiązania,
  • opis wykonanych testów i/lub eksperymentów (w zależności od charakteru projektu - eksperymenty nie zawsze były konieczne),
  • podsumowanie i wnioski z realizacji projektu (problemy podczas realizacji, sposoby ich rozwiązania, początkowo założone cele, których nie udało się zrealizować),
  • instrukcję techniczna, wyjaśniająca jak zainstalować/uruchomić projekt (powinna ona pozwolić na samodzielne późniejsze uruchomienie projektu).

Praktyka pokazuje, że dobry opis przekłada się to na 5-8 stron tekstu, ale może być też nieco więcej:)

Przepraszam za opóźnioną publikację powyższych wymagań. Jeśli ktoś już z Państwa przesłał mi sprawozdanie, to proszę go nie modyfikować. Jeśli będę miał jakieś pytania, to przekażę je mailowo.

Drugi punkt kontrolny - 10.05.2019

Pierwszy punkt kontrolny - 15.03.2019

Zajęcia prezentacyjne związane z pierwszym punktem kontrolnym odbędą się 15 marca. Obecność na tych zajęciach jest obowiązkowa. Proszę każdy zespół o przygotowanie prezentacji zawierającej następujące informacje:

  • skład osobowy grupy,
  • temat projektu,
  • opis projektu i jego podstawowe cele (jeśli projekt jest częścią pracy magisterskiej, to również cel i zakres pracy oraz jej promotor),
  • wstępna koncepcja rozwiązania (może ona ulec zmianie w trakcie realizacji projektu),
  • narzędzia i technologie do (potencjalnego) wykorzystania w projekcie (jeśli w ramach projektu planowane jest zapoznanie się z nową technologią, to proszę to również zaznaczyć),
  • zagrożenia związane z realizacją projektu (np. możliwe problemy techniczne),
  • wstępny harmonogram prac ze szczególnym uwzględnieniem przyrostów związanych z drugim i trzecim punktem kontrolnym (odpowiednio 10.05.2019 i 14.06.2019).

Każdą grupę projektową będę też prosił o przygotowanie krótkiego (2-3 strony) dokumentu podsumowującego prezentację oraz uwzględniającego ewentualną dyskusję po prezentacji. Dokument ten chciałbym otrzymać do 31 marca.

Tematy projektów

Moje propozycje

Jak wspomniałem podczas zajęć, tematy te bazują na moich "zachciankach" i potrzebach praktycznych. Przekreślone tematy to tematy, na które znaleźli się już chętni.

  1. Rozwiązywanie prostych równań na podstawie zdjęć (aplikacja na urządzenia mobilne)
  2. Implementacja podstawowych algorytmów teorii zbiorów przybliżonych w bibliotece scikit-learn (przybliżenia, LEM2, klasyfikacja, redukcja?)
  3. Generator danych niezrównoważonych w scikit-learn (w tym utrzymanie obszarów rare)
  4. Nowa wersja systemu MET (metadane i definicja interfejsu), responsywny interfejs działający na urządzeniach mobilnych
  5. Klient do systemu kontomierz.pl z możliwością dołączania paragonów do transakcji oraz analizy cen na wybranych przez użytkownika obszarach
  6. Modifykacja wybranych algorytmów indukcji reguł (implementacja - WEKA) w celu identyfikacji charakterystyki pokrywanych przez nie reguł oraz wykonanie eksperymentów obliczeniowych

Projekty "niemagisterskie" z poprzednich lat

Poniżej zamieszczam kilka wybranych tematów z poprzednich lat -- mam nadzieję, że będą stanowiły dobrą inspirację dla Państwa propozycji...

  1. Kreator kart do gry RPG (wraz z crawlerem ściągającym dane do kart z Internetu)
  2. System do zarządzania budżetem domowym
  3. System do automatycznego planowania czasów realizacji zadań (z wykorzystaniem biblioteki optaplanner)
  4. System do synchronizacji plików w chmurze domowej (serwer na Raspberry Pi i klient w Electron--ie)
  5. System do nauki znaków Kanji (uczący się charaktersytki "ucznia")

Zasady zaliczania zajęć projektowych

  1. Projekty realizowane są indywidualnie lub w grupach dwuosobowych.
  2. W czasie semestru odbędą się 3 prezentacje pełniące rolę punktów kontrolnych postępu w realizacji projektów:
    • 15 marca -- przedstawienie tematu projektu, wstępnej koncepcji jego realizacji oraz harmonogramu prac,
    • 10 maja -- przedstawienie aktualnego stanu projektu i porównanie ze stanem założonym w harmonogramie,
    • 14 czerwca -- przedstawienie (prawie) gotowego projektu.
  3. Obecność na zajęciach prezentacyjnych jest obowiązkowa, pozostałe zajęcia mają charakter konsultacyjny. Każdy z zespołów projektowych będzie miał jednak obowiązek pojawienia się co najmniej dwukrotnie na konsultacjach (po pierwszej i drugiej prezentacji).
  4. Oprócz samej prezentacji będę prosił każdy zespół projektowych o przygotowanie dokumentu podsumowującego wykonane prace. Na stronie będę zamieszczał wymagania dotyczące prezentacji i dokumentacji.
  5. Każdy punkt kontrolny (prezentacja i dokument) będzie oceniany, a ocena końcowa będzie średnią ważoną z ocen cząstkowych (wagi odpowiednio 0.1, 0.3 i 0.6).

Dodatkowe informacje dotyczące przedmiotu, poruszanej tematyki oraz zasad zaliczania znajdują się w karcie ECTS.