Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:programmierkonzepte:ws2016:33:index

33. Finale furioso: Zusammenfassung und Feedback

Themen
Zusammenfassung: Themen der Vorlesung im Überblick
Fünf Thesen
Ausblick: Wie könnte es weitergehen?
Feedback
Folien
PDF


Zentrale Aspekte

  • Programmierung ist eine Kernkompetenz für Naturwissenschaftler.
    Trotzdem hat sie einen viel zu geringen Stellenwert.
  • Wissenschaft beruht auf Nachvollziehbarkeit und Reproduzierbarkeit.
    Das ist in der Praxis oft nicht gewährleistet.
  • Die primäre Aufgabe von Code ist Kommunikation.
    Voraussetzung ist Ausdrucksstärke und Lesbarkeit.
  • Kernaspekt aller Softwarearchitektur ist Modularität.
    Das führt zu Flexibilität und Wiederverwendbarkeit.
  • Wissenschaftliche Datenauswertung erfordert ein Gesamtkonzept.
    Einzelaspekte sind (relativ) einfach umsetzbar.

Weiterführende Literatur

Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.

Die zu allen Aspekten der Programmierung verfügbare Literatur ist unübersichtlich groß, und auch über die Vorlesung wurden einige Bücher und Artikel vorgestellt. Deshalb soll hier der Versuch unternommen werden, im Rückblick auf die Themen der Vorlesung einige wenige Empfehlungen für weiterführende Literatur auszusprechen.

Wer sich direkt mit rechnergestützter Datenverarbeitung und -Analyse in den Naturwissenschaften und der dazu notwendigen Programmierung befassen möchte, findet im Buch von Scopatz und Huff [Scopatz, 2015Scopatz, Anthony; Huff, Kathryn D. (2015): Effective Computation in Physics, O'Reilly, Sebastopol] einen sehr schönen Überblick, der viele Aspekte der Vorlesung aufgreift und insbesondere die Gesamtheit der Prozesse von der Datenaufnahme bis zur fertigen Veröffentlichung der Ergebnisse in den Blick nimmt.

Wer sich ganz grundlegend mit Programmierung auseinandersetzen möchte und auch vor einer sehr maschinennahen Sprache nicht zurückschreckt, dem sei der „Klassiker“ von Kernighan und Ritchie, „The C Programming Language“, empfohlen [Kernighan, 1999Kernighan, Brian W.; Ritchie, Dennis M. (1999): The C Programming Language, Prentice Hall, Upper Saddle River, New Jersey]. Es ist eine sehr solide und nicht zu lange Einführung in die Programmiersprache C.

Eine gute Einführung in die Konzepte der Objektorientierung gibt Weisfeld [Weisfeld, 2013Weisfeld, Matt (2013): The Object-Oriented Thought Process, Addison-Wesley, Upper Saddle River, New Jersey]. Der Reiz an seinem Buch ist neben der Kürze (im Gegensatz etwa zu [Meyer, 1997Meyer, Bertrand (1997): Object-Oriented Software Construction, Prentice Hall PTR, Upper Saddle River, New Jersey]) die weitgehende Unabhängigkeit von einer bestimmten Programmiersprache und der Fokus auf den grundlegenden Konzepten der objektorientierten Programmierung.

Das große Thema des „sauberen Codes“ wird schließlich nicht nur von Robert Martin [Martin, 2008Martin, Robert C. (2008): Clean Code. A Handbook of Agile Software Craftmanship, Prentice Hall, Upper Saddle River, New Jersey] in vielen Facetten abgehandelt. Kernighan und Pike [Kernighan, 1999Kernighan, Brian W.; Pike, Rob (1999): The Practice of Programming, Addison Wesley, Boston] liefern ebenfalls sehr viele gute Hinweise und sind dazu noch sehr knapp.

Für alle weiteren Aspekte der Vorlesung sei auf die kommentierten Literaturverzeichnisse zum jeweiligen Thema verwiesen.

  • Kernighan, Brian W.; Ritchie, Dennis M. (1999): The C Programming Language, Prentice Hall, Upper Saddle River, New Jersey
  • Kernighan, Brian W.; Pike, Rob (1999): The Practice of Programming, Addison Wesley, Boston
  • Martin, Robert C. (2008): Clean Code. A Handbook of Agile Software Craftmanship, Prentice Hall, Upper Saddle River, New Jersey
  • Meyer, Bertrand (1997): Object-Oriented Software Construction, Prentice Hall PTR, Upper Saddle River, New Jersey
  • Scopatz, Anthony; Huff, Kathryn D. (2015): Effective Computation in Physics, O'Reilly, Sebastopol
  • Weisfeld, Matt (2013): The Object-Oriented Thought Process, Addison-Wesley, Upper Saddle River, New Jersey
de/lehre/programmierkonzepte/ws2016/33/index.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1