Propozycje tematów

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

Zarządzanie projektami. Kompilatory C++ i C#.

Projektowanie wizualne (WindowsForms, WPF, inne)

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, wizualizacja zależności między klasami

Programowanie Windoes Phone/Windoes 8

Blend

Diagramy UML w VisualStudio (Ultimate)

Tworzenie aplikacji web

WPF, WorkFlow,

inne: Using the Visual C# Development Environment - MSDN,

Azure, usługi

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 pamięci

Doxygen lub/i javadoc

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)

List_of_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 przydatne narzędzia:

ReSharper

FxCop

DebugView

dotTrace

dotCover

dotPeak

Dziennik zdarzeń windows

Zaciemnianie kodu