ZAAWANSOWANE PROGRAMOWANIE - BIOINFORMATYKA Karta ECTS (2021)


Test:
xx.xx.2023 godzina: xx:xx - xx:xx sala: e-kursy
Wyniki:

Archiwum, nowe wersje na platformie e-kursy

# Tydzień zajęć
Wykład
Odnośniki
IV tydzień
Heurystyki I
Heurystyki I Wykład i laboratorium: prof. dr hab. inż. Marta Kasprzak
V tydzień
Heurystyki II
Heurystyki II Wykład i laboratorium: prof. dr hab. inż. Marta Kasprzak
VI tydzień
-
Dzień wolny od zajęć dydaktycznych.
IX tydzień
Heurystyki III
Heurystyki III Wykład i laboratorium: prof. dr hab. inż. Marta Kasprzak
XIV tydzień
-
Dzień wolny.
XVI tydzień
-
XVII tydzień
Heurystyki IV
Heurystyki IV Wykład i laboratorium: prof. dr hab. inż. Marta Kasprzak
XVIII tydzień
Heurystyki V
Heurystyki V Wykład i laboratorium: prof. dr hab. inż. Marta Kasprzak

SPECYFIKACJA INTERFEJSU DLA PROGRAMU ZALICZENIOWEGO

Ostatnia zmiana: 20-03-2020
[20-03-2020] Aktualizacja
Wymagania dotyczące interfejsu dla projektu w ramach przedmiotu Zaawansowanie Programowanie:
  • Programu powinien być wielookienkowy lub opcjonalnie jego główne okno musi być rozdzielone na zakładaki, minimum dwa: opcje generatora instancji oraz samej metaheurystyki. Zalecane są jednak trzy zakładki, poza wcześniej wymienionymi także osobna zakłada z wynikami. Ta ostatnia ma sens oczywiście wtedy, gdy reprezentacja wyniki jest wystarczająco ciekawa - dla jednej czy dwóch liczb będących wynikiem osobnej zakładki robić nie warto.
  • Dane instancji programu muszą się wyświetlać w sposób umożliwiający ich wygodną zmianę czy w ogóle wprowadzanie ręczne. Im wygodniejszy będzie to sposób tym oczywiście lepiej - TextBox wielolinijkowy to absolutne minimum, z wygodą mające jednak niewiele wspólnego (DataGridView o ile ma sens należy traktować jako standard).
  • Program musi mieć możliwość zapisywania do pliku instancji wybranego problemu kombinatorycznego oraz odczytywania jej z pliku - format zapisu dowolny, choć dobrze byłoby gdyby był tekstowy (także XML, chodzi o to, aby plik nadawał się do obejrzenia choćby w notatniku, czyli zapis nie w formacie ''maszynowym''.
  • Parametry startowe metaheurystyki powinny być modyfikowalne poprzez interface programy, czyli wskazane jest używanie komponentów typu CheckBox, RadioButton, ComboBox. TextBox w przypadku wprowadzania danych, które trudno zawrzeć w poprzednich, np. konkretny czas pracy.
  • Bardzo wysoko będzie oceniana wielowątkowość programu, tj. główny algorytm pracuje jako osobny wątek co umożliwia ciągłe odświeżanie (i możliwość używania) elementów interface'u. Wątek ten można a) pauzować b) zakończyć przed czasem - program wyświetla wtedy to, co obliczył do danej chwili. Należy dopracować interface pod kątem bezpieczeństwa programu - na przykład w momencie pauzy możemy zmienić czas, który ma metaheurystyka na obliczenia, ale być może już nie pewne inne parametry, których zmiana w trakcie pracy byłaby bezsensowna (o ile znajdą się takie).
  • Program poza wynikiem końcowym (wartość funkcji celu + całe rozwiązanie) powinien informować o zaawansowaniu obliczeń. ProgressBar to znów absolutne minimum, jakiś minilog z obliczeń byłby wskazany (w przypadku logu roboczego akurat TexBox wielolinijkowy jest jak znalazł). Preferowane jest używanie wykresu - obiekty typu Chart, o których jest mowa na laboratoriach. Rozwiązanie jest zapisywane do pliku oraz wyświetlane na ekranie w dowolnej, byle jednak czytelnej formie.


LABORATORIA
[LABORATORIUM I: 9.10.2023]

Wstęp i wprowadzenie do Visual Studio 2022 w kontekście projektu zaliczeniowego (na wykładzie).
[LABORATORIUM IV: 20.11.2023]


LINK:  Laboratorium IV: DataGridView - Opis

LINK:  DataGridView - Przykładowy projekt

[LABORATORIUM V: 4.12.2023]


LINK:  Laboratorium V: Wykresy

LINK:  Wykresy - Przykładowy projekt

[LABORATORIUM VI: 11.12.2023]


LINK:  Laboratorium VI: Kolekcje i okna dialogowe

LINK:  Kolekcje i okna dialogowe - Przykładowy projekt
LINK:  Plik do wczytywania

Inne warte przeczytania źródła:

LINK:  MessageBoxes

LINK:  OpenFileDialog

LINK:  SaveFileDialog

LINK:  Przyklad odczytu pliku











Inne - archiwum

LINK:  Wyrażenie regularne