MIMINF:Indywidualny projekt programistyczny

From Studia Informatyczne

Spis treści

Forma zajęć

Laboratorium (30 godzin)

Opis

Laboratoryjna kontynuacja Wstępu do programowania, której celem jest praktyczne kształcenie umiejętności programowania w średniej skali. Studenci podczas zajęć realizują projekt programistyczny, istotnie większy od tych z zajęć ze Wstępu do programowania. Projekt ten ma stanowić podsumowanie wiedzy i umiejętności zdobytych podczas pierwszego semestru nauki programowania.

Zajęcia zaczynają się od przekazania i omówienia specyfikacji zadania. Następnie studenci tworzą projekt swojego rozwiązania i przekazują do oceny prowadzącym. Dopiero zaakceptowany projekt podlega realizacji. Podczas zajęć studenci poznają różnorodne narzędzia wspomagające:

  • śledzenie wykonywania programu,
  • zarządzanie wersjami,
  • tworzenie graficznego interfejsu użytkownika,
  • dokumentowanie programu.

Wskazane jest, by zadanie było tak skonstruowane, żeby nie tylko wymagało utworzenia interaktywnego programu, ale także modułu mogącego uczestniczyć w konkursie. Dzięki temu można premiować zarówno czytelny kod programu z dobrą dokumentacją jak i efektywność przyjętych rozwiązań.

Sylabus

Autor

  • Janusz Jabłonowski — Uniwersytet Warszawski, Wydział Matematyki, Informatyki i Mechaniki, Instytut Informatyki

Wymagania wstępne

  • Wstęp do programowania

Zawartość

  • Projekt
    • analiza problemu
    • podział programu na moduły
    • podział modułów na procedury
  • Samodzielna implementacja programu
    • wersjonowanie
    • odpluskwianie
    • dokumentowanie
  • Testowanie programu
  • Dokumentacja techniczna i użytkownika
  • Konkurs modułów (zalecany)

Literatura

Literaturę stanowi dokumentacja do użytych narzędzi. W opisie przedmiotu nie rozstrzygamy, które konkretne narzędzia mają być wybrane, pozostawiając tę decyzję prowadzącym. Na przykład można wybrać którąś z wersji Delphi (ze środowiskiem ułatwiającym śledzenie wykonywanego programu i tworzenie graficznych interfejsów użytkownika), system zarządzania wersjami SVN oraz Latexa do pisania dokumentacji.