~~NOCACHE~~
====== 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 | [[.:wyklad:plan|Wstęp - plan]] | MG | |
| 16/10/2012 | I | {{..:npr_2012_2:daszkowski-eclipse.pdf|Eclipse (Java) }} | K. Daszkowski | {{..:npr_2012_2:daszkowski-src.rar|Przykładowy projekt (Java) }} |
| ::: | ::: | {{..:npr_2012_2:zielinski-iphone.pdf|Programowanie w iOS}} | Ł. Zieliński | |
| 23/10/2012 | II | {{..:npr_2012_2:chyzinski-netbeans.pdf|NetBeans (PHP/C++)}} | K. Chyziński | |
| ::: | ::: | {{..:npr_2012_2:walentynowicz-mantis.pdf|Mantis Bug Tracker}} | M. Walentynowicz | [[http://www.mantisbt.org/demo/my_view_page.php|Demo]] |
| 30/10/2012 | I | {{..:npr_2012_2:bendlin-windows_forms.pdf|Windows Forms}} | E. Bendlin | {{..:npr_2012_2:bendlin-inviders-src.zip|Inviders}} \\ {{..:npr_2012_2:bendlin-wyscigi-src.zip|Wyścigi}} |
| ::: | ::: | {{..:npr_2012_2:dziurzynski-svn.pdf|SVN}} | D. Dziurzyński | |
| 6/11/2012 | II | {{..:npr_2012_2:ochocinski-qtcreator.pdf|QT Creator}} | M. Ochociński | |
| ::: | ::: | [[zajecia:npr_2012_2:tfs_codeplex|Team Fundation Serwer + CodePleX]] | MG | |
| 13/11/2012 | I | {{..:npr_2012_2:wieczorkowski-qt.pdf|QT Creator}} | S. Wieczorkowski | |
| ::: | ::: | [[zajecia:npr_2012_2:unit_test|Testowanie jednostkowe w Visual Studio]] | MG | |
| 20/11/2012 | II | {{..:npr_2012_2:kucharski-msproject.pdf|MS Project}} | J. Kucharski | |
| ::: | ::: | {{..:npr_2012_2:cholewa-cieszynska-drupal.pdf|Drupal}} | P. Cholewa | |
| ::: | ::: | ::: | M. Cieszyńska | |
| 27/11/2012 | I | {{..:npr_2012_2:bethke-codeblocks-valgrind.pdf|CodeBloks + Valgrind}} | M. Bethke | |
| 4/12/2012 | II | [[http://prezi.com/isq3xiv35izd/matlab/|Matlab]] {{..:npr_2012_2:miton-matlab.pdf|PDF}} | D. Mitoń | |
| ::: | ::: | {{..:npr_2012_2:golebiewski-uml.pdf|UML MS Visio}} | P. Gołębiewski | |
| 11/12/2012 | I | {{..:npr_2012_2:dubacki-matlab.pdf|Matlab}} | M. Dubacki | {{..:npr_2012_2:dubacki-matlab-src.zip|Przykładowe skrypty}} |
| ::: | ::: | {{..:npr_2012_2:dudek-cygwin.pdf|Cygwin}} | M. Dudek | |
| 18/12/2012 | II | {{..:npr_2012_2:homenda-liniowiecki-dotnet-vs.pdf|Visual Studio 2010 i 2012, .NET}} | R. Liniowiecki | |
| ::: | ::: | ::: | J. Homenda | |
| 8/01/2013 | I | {{..:npr_2012_2:orzeszko-devcpp.pdf|DevC++}} | Ł. Orzeszko | |
| ::: | ::: | {{..:npr_2012_2:ausfeld-tfs.pdf|TFS}} | M. Ausfeld | |
| 15/01/2013 | II | {{..:npr_2012_2:resler-gcc-make.pdf|GCC, Make }} | A. Resler | |
| ::: | ::: | {{..:npr_2012_2:rumianowski-svn.pdf|Subversion }} | K. Rumianowski | |
| ::: | ::: | {{..npr_2012_2:lewandowski-workflow.pdf|WorkFlow w VS}} | D. Lewandowski | |
| 22/01/2013 | I | Tworzenie web aplikacji lub aplikacji Metro dla Windows 8 | M. Gajewski | |
| ::: | ::: | {{..npr_2012_2:ciecwierz-uml-vs.pdf|UML w Visual Studio}} | M. Ciećwierz | |
| ::: | ::: | [[http://mysqlworkbench.org/|MySQL Workbeanch]] | M. Ochocinski | |
| ::: | ::: | {{..:npr_2012_2:stipe-avr.pdf|Programming microcontrollers - AVR Studio}} | Stipe Kodzoman | |
| 28/01/2013 | I+II | kolokwium | | |
Ostatnia modyfikacja --- //[[grochu@is.umk.pl|Marek Grochowski]] 2013/01/24 10:13//
===== Propozycje tematów =====
Inne tematy do przygotowania (niektóre można/należy podzielić na kilka prezentacji):
* Visual Studio 2010 Professional (ewentualnie Ultimate)
* Zarządzanie projektami. Kompilatory C%%++%% i C#.
* Debugger
* Projektowanie wizualne (WindowsForms)
* Generowanie kodu :kreatory, refaktoryzacja, inne pomocne "sztuczki" (np. for)
* Generowanie dokumentacji : VS2010 C#, c%%++%% \\ [[http://www.codeproject.com/KB/cpp/TestXMLdoc.aspx|Quick C# Documentation using XML]] \\ [[http://msdn.microsoft.com/en-us/magazine/cc302121.aspx|XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files]] \\ [[http://community.sharpdevelop.net/blogs/mattward/pages/FeatureTourXmlComments.aspx|XML Comments]] \\ Pomocne narzędzia: [[http://www.helixoft.com/vsdocman/overview.html|VSdocman]] [[http://ndoc.sourceforge.net/|NDoc]] [[http://submain.com/products/ghostdoc.aspx|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,
* inne: [[http://msdn.microsoft.com/en-us/library/ms173063%28v=VS.100%29.aspx|Using the Visual C# Development Environment - MSDN]],
* Team Foundation Server (VS2010, czy wirtualna maszyna to pociągnie?)
* 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:
* VS2010 (C%%++%%)
* Linux (gcc/g%%++%%, ar, ranlib, ldconfig, ld, ldd, nm) \\ [[http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html|Tutorial - Static, Shared Dynamic and Loadable Linux Libraries]] \\ [[http://www.tldp.org/HOWTO/Program-Library-HOWTO/|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)
* [[wp>List_of_project_management_software]]
* Trac, TFS, Google Code, GitHub, CodePlex, inne...
* [[http://www.taskjuggler.org/|TaskJuggler]], [[http://www.redmine.org/|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 [[http://argouml.tigris.org/|ArgoUML]]\\ W miarę potrzeb moźna rozszerzyć temat o inne dostępne w programie diagramy lub uwzględnić inne narzędzia: [[http://alexdp.free.fr/violetumleditor/page.php|VioletUML]] (brak generowania kodu), [[http://staruml.sourceforge.net/en/|StarUML]] (brak wersji portable), VS2010 Ultimate (widomo, na pracowni jest professional), [[http://uml.sourceforge.net/download.php|umbrello]] (wymaga KDE), dia (wymaga GTK), inne (?)...
* Wdrażanie aplikacji (deployment)
* Wdrażanie aplikacji w VS2010 \\ [[http://msdn.microsoft.com/en-us/library/bb384837.aspx| Deploying Your Program (C%%++%%) - MSDN]] \\ [[http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx|http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx]] \\ [[http://msdn.microsoft.com/en-us/library/e2444w33.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|Zagadnienia na kolokwium]] \\
Ostatnie modyfikacja --- //[[grochu@is.umk.pl|Marek Grochowski]] 2013/01/24 10:12//