Narzędzia programistyczne

Termin zajęć w semestrze zimowym 2013/2014

  • wtorki, godz. 1000-1130, sala 28, WFAiIS
  • Laboratorium: poniedziałki, godz. 8-10, sala PK1, WFAiIS
Data Temat Prowadzący Źródła/Projekty/
08/10/2013 Wstęp - plan MG
15/10/2013 IDE przegląd MG
22/10/2013 TFS + ALM MG
29/10/2013 Git R. Gardziński
Subversion M. Schalau
Porównanie SVN vs. git MG
5/11/2013 Doxygen A. Ławniczak demo.zip
Testy jednostkowe w VS W. Szymecki demo.zip
19/11/2013 firebug M. Przybył demo.7z
Deployment w VS 2010 R. Burzyński
26/11/2013 MonoGame Ł. Kiełczykowski
PhysX Visual Debugger T. Gańko
3/12/2013 X Code, tworzenie oprogramowania Apple M. Bartnicki
Free Pascal Ł. Gorzel
10/12/2013 GCC + make S. Chojnicki
Eclipse + libgdx Ł. Dzwonkowski demo.7z
17/12/2013 Matlab K. Falewicz
gettext J. Ejnik
14/01/2014 autotools P. Milewski
Narzędzia deweloperskie Java Ł. Demski java-cmd
21/01/2014 NetBeans G. Furdyna Żródła
Delphi Ł. Król Opis
PHP + Framework Symfony N. Rybarczyk
28/01/2014 Kolokwium

Niektóre, w zależności od ujęcia, można/należy podzielić na kilka prezentacji:

  • Visual Studio 2010/2012/2013 (Professional/Ultimate)
  • Team Foundation Server
  • Team Foundation Service
  • Azure, usługi
  • Eclipse przegląd narzędzi,
    • JDT - Java development tools
    • CDT, Eclipse IDE for C/C++ Developers, wsparcie dla C++
    • Eclipse for Mobile Developers
    • Eclipse Modeling Tools (MDT)
    • Eclipse for Testers
    • PDT, PHP Development Tools
    • Mylyn - Application Lifecycle Tools
    • jest tu bardzo dużo różnych narzędzi postaci dodatków: Memory Analyzer, Test and Performance Tools Platform (TPTP), Web Tools
  • Netbeans
    • przegląd, tworzenie projektów, dostępne narzędzia i pluginy
    • Projektowanie GUI + SWING, mniej więcej to samo co dla VS +
    • profilowanie kodu
    • NetBeans i wsparcie dla C++, tworzenie aplikacji na system Linux.
  • Valgrind wykrywanie wycieków pamieci (Cygwin, ferm lub virtualna maszyna)
  • Doxygen lub/i javadoc (ferm (?), virtualna maszyna)
  • Systemy kontroli wersji
    • SVN - konfiguracja serwera (sprawdzić czy czy potrzebne uprawnienia administracyjne?)
    • SVN - użytkowanie, rozwiązywanie konfliktów, (zdalna maszyna)
    • GIT
  • Kompilator gcc (Linux/Cygwin), najważniejsze opcje + narzędzie make (Linux/ferm/Cygwin)
  • GDB - debuuger
  • Tworzenie i używanie statycznych i/lub dynamicznych bibliotek:
  • Autotools (Linux/Cygwin)
  • Systemy raportujące błędy (Trac , Bugzilla)
  • Trac - Wsparcie dla programowania zespołowego (harmonogramy, śledzenie wykonania zadań, itp.)
  • Zarządzanie projektami (Project Management Software)
  • gettext - lokalizacja programów w Linuxie
  • Profilowanie kodu za pomocą GNU gprof + grafy wywołań (GraphViz) (Linux/ferm)
  • UML (Dia, dia2code, MS Visio, umbrello, argouml, bouml, …), UML i inżynieria wstecz/wprzód na przykładzie diagramów klas/use case przy użyciu programu ArgoUML
    W miarę potrzeb moźna rozszerzyć temat o inne dostępne w programie diagramy lub uwzględnić inne narzędzia: VioletUML (brak generowania kodu), StarUML (brak wersji portable), VS2010 Ultimate (widomo, na pracowni jest professional), umbrello (wymaga KDE), dia (wymaga GTK), inne (?)…
  • Wdrażanie aplikacji (deployment)
  • Inne: jakich narzędzi używacie? Pochwalcie się!
  • Inne przydatne narzędzia:

Zagadnienia na kolokwium

Warunki zaliczenia laboratorium:

  • Kolokwium zaliczeniowe …
  • … lub prezentacja wybranych narzędzi programistycznych (ok. 30-45 min.). W prezentacji, obok części prowadzającej teoretycznie, warto zawrzeć przykłady demonstracyjne.
  • Obecność.