Linux Programmier Ausbildung
Linux Programmierung ist nicht nur aufgrund der Open Source Thematik sehr interessant sondern in der Fachbranche auch sehr gefragt und gut bezahlt. Um sowohl Einsteigern als auch Fortgeschrittenen einen Lernerfolg auf hohen Niveau zu ermöglichen haben wir ein spezielles aus kleinen Modulen bestehendes Schulungskonzept entwickelt.

Bei diesem Modularen Konzept bauen alle Aufbaukurse auch immer auf dem selben Grundlagenkurs auf, anstatt auf einer langen, aufeinander aufbauenden Kursreihe, welche notwendiger Weise auch genau in der selben Reihenfolge absolviert werden muss. Durch dieses einzigartige Design entfallen nicht nur unnötige Schulungskosten für nicht benötigte Themen, sondern auch die lästigen Wartezeiten auf die exakt notwendigen Folgetermine.
Linux System Basics für Programmierer
Der Kurs richtet sich an Programmierer, die Linux nicht so sehr kennen, es aber kennen lernen wollen. Die Zusammenhänge und die Grundpfeiler des Systems werden erklärt, sodass man am Ende ein großes Bild hat und sich selbst orientieren und zurechtfinden kann.
Embedded Linux Programmierung
Linux hat sich in den letzten Jahren zu einer erstzunehmenden Alternative zu herkömmlichen Embedded Betriebssystemen entwickelt. Einerseits sind die Anforderungen an Embedded Plattformen gestiegen (USB, TCP/IP), sodass es ganz logisch erscheint, die gleiche Codebasis, die auf Desktop-PCs und Servern schon lange Einsatz findet, auch in kleineren Geräten einzusetzen. Andererseits entspricht Linux mittlerweile auch Anforderungen, die speziell aus dem Embedded-Bereich kommen, wie z.B. Echtzeitfähigkeit. Ziel des Kurses ist es, ein Verständnis des Aufbaus eines Linux-Systems zu vermitteln, und den Teilnehmern die Möglichkeit zu geben, aus Alternativen (deren es unter Linux viele gibt) zu wählen.
GNU-Make und Makefiles
Die Mutter aller Build-Tools unter Linux und Unix ist Make - unter Linux in seiner extrem mächtigen Variante "GNU Make" verfügbar. Steht man vor der Aufgabe, ein C- oder C++-basiertes Projekt zu bauen, kommt man daran nicht vorbei (selbst dann nicht, wenn man Tools wie CMake oder Automake verwendet). Dieser Kurs wendet sich an Programmierer, die nicht nur an Programmieren interessiert sind, sondern auch verstehen wollen, wie größere Projekte gebaut werden, und wie die mitunter sehr komplizierten Abhänigkeitsbeziehungen in den Griff bekommen werden können.
Linux Multithreading Programmierung
Parallele Programmierung war schon immer schwer, und es ist unverständlich, warum Multithreading von modernen Programmiersprachen und Frameworks ungeachtet der Gefahren als einzige Möglichkeit, effiziente Programme zu schreiben, propagiert wird. Parallele Programmierung ist auch unter Linux schwer - wie sollte es auch anders sein? Der Kurs gibt einen soliden Überblick über Multithreading unter Linux (in C) und die Mechanismen, die dort zur Synchronisation und Kommunikation zur Verfügung stehen. Vor allem werden die Gefahren beleuchtet, die unbedachtes Handeln in einer parallelen Welt mit sich bringt.
Linux Netzwerk Programmierung
Netzwerkprogrammierung unter Linux (und UNIX) fügt sich hervorragend in das Grundprinzip "Everything is a File" ein. Das Socket-Interface stellt ein leicht zu benutzendes Programmierparadigma dar, das nicht auf TCP/IP beschränkt ist, sondern auf eine Vielzahl anderer Netzwerkprotokolle anwendbar ist.
Linux System Advanced Programmierung
Will man in Tiefen des Systems steigen, die dem Alltagsprogrammierer normalerweise verborgen bleiben, ist dieser Kurs genau der Richtige. Linux und UNIX bieten an der Basis eine Vielzahl von Schnittstellen, die es ermöglichen, hochperformante Anwendungen zu schreiben. Hier wird ein Überblick gegeben.
Versionskontrolle mit Subversion
Versionskontrolle ist bei allen Projekten unumgänglich notwendig, denn Releasemanagement und parallele Entwicklung kann man ohne nicht betreiben. Subversion hat sich mittlerweile als hervorragende Alternative zu kommerziellen Systemen wie Clearcase oder Perforce etabliert, und auch das auf Open Source basierende CVS schon lange abgelöst.
+++ Generelle Programmierausbildungen für Windows und Linux +++
C Grundlagen
Unter allen heute verwendeten Programmiersprachen ist C immer noch der "Klassiker" und aus der systemnahen Programmierung nicht wegzudenken. Alle, die sich mit Kernel-Programmierung, Device-Drivern und ähnlichen Themen beschäftigen, benötigen C als unumgängliches Handwerkszeug. Durch das sehr schlanke Konzept, ist C einerseits für die Schönheit der schlichten Ausdrucksstärke beliebt und andererseits für unerschöpfliche Fehlerquellen durch unvorsichtige Pointer-Verwendung gefürchtet. Dieser Kurs bietet einen Einstieg in die Programmierung mit C und damit eine grundlegende Diskussion aller in der Sprache enthaltenen Konstrukte mit entsprechenden Hinweisen auf ihre richtige Anwendung und auch auf versteckte Stolpersteine.
C Seminar Hands-On
Die Syntax der Programmiersprache C zu beherrschen ist eine Sache, C sauber in der Entwicklung einzusetzen eine ganz andere Sache. Typisch, nicht nur für Einsteiger in die Softwareentwicklung in C, ist eine zu Projektbeginn herrschende Begeisterung für einfache Konstruktionen, die bei fortschreitender Projektdauer der Ernüchterung über "seltsames Verhalten" der Software weicht. Nur allzu oft geht das weiter bis zur "Suche nach Gespenstern", die durch einen korrupten Heap entstehen und ihren Ursprung in Pointerfehlern haben. Auch Memory-Leaks sind unangenehme Zeitgenossen in der Entwicklung, die alle C-Entwickler nur zu gut kennen - ganz zu schweigen von Performance-Problemen, die nur sehr schwer in den Griff zu bekommen sind.
C++ Grundlagen
Von größeren systemnahen Projekten bis hin zur End-User Applikationsentwicklung ist C++ immer noch eine der am weitesten verbreiteten objektorientierten Programmiersprachen. Einerseits hat C++ einen großen Teil der Schlichtheit von seinem Urvater C geerbt, andererseits steht durch die Objektorientierung ein modernes Entwicklungsmodell zur Verfügung, das Entwickler gerade bei der Implementierung großer und komplexer Software entscheidend unterstützt. Der Kurs bietet einen vollständigen Einstieg in die Programmiersprache C++ mit allen Facetten der Sprache bis hin zur Template-Programmierung.
C++ Seminar Hands-On
Durch seine Systemnähe und seinen gleichzeitig reichen Sprachumfang bietet C++ wie kaum eine andere Sprache eine große Sammlung an Stolpersteinen, die erfahrene Entwickler instinktiv und elegant umgehen. Aber dieser Instinkt muss bei Junior-Entwicklern in C++ erst geschärft werden, wollen sie sich nicht "von einem Loch ins nächste" vorarbeiten und dabei in alle Fallen tappen, die man sich nur (oder eben nicht) wünschen kann.

