Powered by Ubuntu Linux

Kurs: Programmierpraxis — Programmierkunst

Dauer: 3-5 Tage

Motivation: Die alltägliche Programmierpraxis umfaßt viel mehr als nur das reine Erstellen von Code: Programmierer müssen Spezifikationen einhalten, Schnittstellen definieren und aus Design-Alternativen auswählen. Sie haben sich mit Aspekten wie Portabilität, Kompatibilität, Robustheit und Zuverlässigkeit auseinanderzusetzen. Sie müssen debuggen, immer wieder testen und die Performance verbessern. Und nicht zuletzt müssen Sie Software warten, die von ihnen oder meist von anderen geschrieben wurde.

Ziel: Anhand vieler Beispiele wird ein regelbasierter Programmierstil erarbeitet, dessen Einhaltung zu größerer Effektivität und Produktivität führt. Die Beispiele werden in C, C++, Java, Shell, Awk und Perl sowie einigen weiteren Spezialsprachen verfasst.

Hinweis: Der Kurs ist vor allem für Linux/UNIX-Systeme geeignet!

Inhalt:

  • Stil: Code schreiben, der gut funktioniert und angenehm zu lesen ist.
  • Algorithmen und Datenstrukturen: Auswahl guter Algorithmen und Datenstrukturen.
  • Design und Implementierung: Zwischen Zielen und Anforderungen abwägen.
  • Schnittstellen: Die Interaktion zwischen Komponenten durch Abstraktion und Informationskapselung kontrollieren.
  • Debugging: Fehler schnell und mit Methode finden.
  • Testen: Korrektheit und Zuverlässigkeit von Software garantieren.
  • Performance: Programme schnell und kompakt gestalten.
  • Portabilität: Programme schreiben, die überall ohne Änderungen laufen.
  • Automatisierung: Sprachen und Werkzeuge auswählen, die die meiste Arbeit auf die Maschine übertragen.
  • Notation: Oft wird ein Programmierproblem durch die Auswahl einer geeigneten Sprache viel leichter handhabbar.

Schulungsunterlagen:

  • Buch
  • Lösungsblätter zu den Übungen

Voraussetzungen:

  • Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
  • Muss: Gute Programmierkenntnisse
  • Muss: Kenntnis einer beliebigen Programmiersprache (vorzugsweise C, C++, Java oder Perl)
  • Optional: Linux/UNIX-Kenntnisse im Rahmen des Kurses "Linux/UNIX-Einführung"

Abgrenzung:

  • Kein Programmierkurs, sondern ein Kurs zum Thema "Besser Programmieren". Wendet sich an Programmierer mit mindestens 2-3 Jahren Programmiererfahrung.