W przemyśle informatycznym od dawna stosuje się praktyki pomagające w tworzeniu wysokiej jakości oprogramowania. Dzięki nim oszczędza się czas i skutecznie redukuje się ilość błędów w kodzie. Odpowiednio zaadaptowane, te praktyki mogą być równie skuteczne także w oprogramowaniu naukowym, wspomagając weryfikowalność badań.

Oprogramowanie naukowe powstaje w celu potwierdzenia stawianych hipotez lub wysunięcia nowych. Jeżeli jednak do kodu wkradnie się błąd fałszujący wyniki, jaką wartość mają wnioski wysunięte z przeprowadzonych obliczeń? Każdy błąd programistyczny może spowodować nie tylko stratę czasu, ale też reputacji naukowca.


Czego się nauczysz?

  • Dowiesz się jak wygląda typowy zestaw narzędzi pozwalający na uzyskanie wysokiej jakości kodu.
  • Poznasz metody organizacji pracy ułatwiające obsługę błędów.
  • Nauczysz się korzystać z techniki Test-Driven Development, z naciskiem na typowe zagadnienia związane z oprogramowaniem naukowym.
  • Dowiesz się jak uzyskać program którego poprawność można łatwo zweryfikować.


Dla kogo jest to szkolenie?

Szkolenie jest adresowane do osób chcących:

  • usprawnić swój warsztat programistyczny,
  • unikać popełniania wciąż tych samych błędów,
  • sprawnie radzić sobie z pomyłkami kiedy nastąpią,
  • spać spokojnie po wysłaniu pracy naukowej na konferencję lub do czasopisma naukowego.

Uwaga: Uczestnicy powinni posługiwać się sprawnie co najmniej jednym językiem programowania. Wskazana jest znajomość podstaw metod numerycznych. Szkolenie może zostać zorganizowane w oparciu o C++ lub Pythona.

Szkolenie ma charakter warsztatowy: materiał jest prezentowany przez praktyczne ćwiczenia do wykonania pod nadzorem instruktora.


Skrót programu szkolenia

  • Podstawowe techniki
  • Automatyczne wykrywanie błędów
  • Test-Driven Development
  • Narzędzia wspomagające programowanie


WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY sortorder' at line 1]
SELECT * FROM wp_ngg_pictures WHERE galleryid = ORDER BY sortorder

Program szkolenia

  1. Podstawowe techniki
    • Podstawy dokumentowania kodu programu
    • Dokumentowanie algorytmów i metod numerycznych
    • Unikanie powtarzania informacji w kodzie
    • Metody organizowania kodu programu
  2. Automatyczne wykrywanie błędów
    • Techniki defensive programming
    • Programy typu lint
    • System typów jako narzędzie wymuszania poprawności kodu
    • Testy losowe
  3. Test-Driven Development
    • Podstawy metodologii TDD
    • Testy jednostkowe
    • Mocki
    • Testy w obliczeniach
    • Testy w symulacjach
    • Testy regresji
    • Testy integracyjne
  4. Narzędzia wspomagające programowanie
    • Praca z systemami kontroli wersji
    • Praca z systemami zarządzania projektami
    • Serwery Continuous Integration
    • Metody efektywnej pracy w wielosobowym zespole

Spróbuj ponownie