Narzędzia programistyczne
Wykład i laboratorium
Termin zajęć w semestrze letnim 2011/2012
- Wykład: poniedziałki, godz. 13-14, sala 28, WFAiIS
- Laboratorium: wtorki, godz. 16-18, sala PK2, WFAiIS
Przebieg zajęć/ prezentacje
| Data | Grupa | Temat | Prowadzący | Źródła/Projekty |
|---|---|---|---|---|
| 02/10/2012 | I+II | Wstęp - plan | MG | |
| 16/10/2012 | I | Eclipse (Java) | K. Daszkowski | Przykładowy projekt (Java) |
| Programowanie w iOS | Ł. Zieliński | |||
| 23/10/2012 | II | NetBeans (PHP/C++) | K. Chyziński | |
| Mantis Bug Tracker | M. Walentynowicz | Demo | ||
| 30/10/2012 | I | Windows Forms | E. Bendlin | Inviders Wyścigi |
| SVN | D. Dziurzyński | |||
| 6/11/2012 | II | QT Creator | M. Ochociński | |
| Team Fundation Serwer + CodePleX | MG | |||
| 13/11/2012 | I | QT Creator | S. Wieczorkowski | |
| Testowanie jednostkowe w Visual Studio | MG | |||
| 20/11/2012 | II | MS Project | J. Kucharski | |
| Drupal | P. Cholewa | |||
| M. Cieszyńska | ||||
| 27/11/2012 | I | CodeBloks + Valgrind | M. Bethke | |
| 4/12/2012 | II | Matlab PDF | D. Mitoń | |
| UML MS Visio | P. Gołębiewski | |||
| 11/12/2012 | I | Matlab | M. Dubacki | Przykładowe skrypty |
| Cygwin | M. Dudek | |||
| 18/12/2012 | II | Visual Studio 2010 i 2012, .NET | R. Liniowiecki | |
| J. Homenda | ||||
| 8/01/2013 | I | DevC++ | Ł. Orzeszko | |
| TFS | M. Ausfeld | |||
| 15/01/2013 | II | GCC, Make | A. Resler | |
| Subversion | K. Rumianowski | |||
| WorkFlow w VS | D. Lewandowski | |||
| 22/01/2013 | I | | | |
| UML w Visual Studio | M. Ciećwierz | |||
| MySQL Workbeanch | M. Ochocinski | |||
| Programming microcontrollers - AVR Studio | Stipe Kodzoman | |||
| 28/01/2013 | I+II | kolokwium |
Ostatnia modyfikacja — Marek Grochowski 2013/01/24 10:13
Propozycje tematów
Inne tematy do przygotowania (niektóre można/należy podzielić na kilka prezentacji):
- <fs large>Visual Studio 2010 Professional</fs> (ewentualnie Ultimate)
- Zarządzanie projektami. Kompilatory C++ i C#.
- Debugger
- Projektowanie wizualne (WindowsForms)
- Generowanie kodu :kreatory, refaktoryzacja, inne pomocne „sztuczki” (np. for<Tab>)
- Generowanie dokumentacji : VS2010 C#, c++
Quick C# Documentation using XML
XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files
XML Comments
Pomocne narzędzia: VSdocman NDoc GhostDoc - Wsparcie dla programowania obiektowego: ClassDiagram i generowanie kodu, ClassViewer, Nawigacja pomiędzy klasami/metodami, Diagramy UML (tylko Ultimate)
- Tworzenie aplikacji web
- Profilowanie kodu (tylko ultimate)
- Testowanie : Testy jednostkowe (TestUnit, NUnit - trzeba zainstalować)
- WPF, WorkFlow,
- Team Foundation Server (VS2010, czy wirtualna maszyna to pociągnie?)
- <fs large>Eclipse</fs> 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:- VS2010 (C++)
- Linux (gcc/g++, ar, ranlib, ldconfig, ld, ldd, nm)
Tutorial - Static, Shared Dynamic and Loadable Linux Libraries
Program Library HOWTO
- 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)
- Trac, TFS, Google Code, GitHub, CodePlex, inne…
- TaskJuggler, Redmine, Microsoft Project, MS Project Server
- metodologie zarządzania: Scrum, inne.. i oprogramowanie wspierające
- 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)
- Wdrażanie aplikacji w VS2010
Deploying Your Program (C%%++%%) - MSDN
http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx
Choosing a Deployment Strategy
- Inne: jakich narzędzi używacie? Pochwalcie się!
Zaliczenie zajęć
Warunki zaliczenia laboratorium:
- Kolokwium zaliczeniowe …
- … lub prezentacja wybranych narzędzi programistycznych (ok. 30-45 min.) + przykłady demonstracyjne (ćwiczenia) do wykonania na zajęciach.
- Obecność.
Kolokwium zaliczeniowe
Zagadnienia na kolokwium
Ostatnie modyfikacja — Marek Grochowski 2013/01/24 10:12