Home >>> Kurse >>> Wissenschaftler

Kundenstimmen


I really liked the course since it offered a lot of information in a structured way. I especially found it helpful to see the different techniques "in action".

Alexander Bittner, gocept GmbH & Co. KG über den Kurs "Python for Programmers" mehr dazu...


Guter Kurs. Der Einstieg wird sehr kompetent vermittelt. Nach Bedarf werden aus dem breiten Themenangebot Schwerpunkte gewählt und vertieft.

Helmut Dittrich, Geschäftsführer DiFis-Engineering UG, arrow-fix.com, über den Kurs "Einstieg in Django" mehr dazu...


[The trainer] knows well what scientists need, so his hints are very practical and valuable. The hands-on course [..] covers a wide range of examples and will be very helpful in my daily work. ..

Dorota Jarecka, University of Warsaw, Polen über den Kurs "Python for Scientists and Engineers" mehr dazu...


Dr. Müller is (a) very good teacher .. (I) would highly recommend this course and also Dr. Müller for this course.

Dhiraj Surve, Suzlon.com über den Kurs "Python for Programmers" mehr dazu...


We had a wide range of Python experience in our group and each person gained something valuable to take away....

Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH Zürich, Schweiz mehr dazu...


Python für Wissenschaftler und Ingenieure

Termine für offene Kurse

Ort Datum Kurs Sprache
Leipzig 15. - 17. Januar 2015 Python für Wissenschaftler und Ingenieure Deutsch anmelden

Kurs auch als In-Haus-Schulung verfügbar. Bitte fragen Sie unter info@python-academy.de nach.

Zielgruppe

Wissenschaftler und Ingenieure mit Pythongrundkenntnissen. Durch Kombination mit Grundkursen (siehe Empfohlene Modul-Kombinationen) können diese Kenntnisse erlangt werden.

Motivation

Für viele Aufgaben von Wissenschaftlern und Ingenieuren ist die Nutzung einer Programmiersprache nötig. Python findet bei dieser Anwendergruppe immer mehr Nutzer, da die Sprache mit relativ geringem Aufwand viel Nutzen bringt. Auch bei gelegentlicher Anwendung ist Python eine gute Wahl, da Python-Quelltexte auch nach längerer Zeit ohne Nutzung noch gut verständlich sind.

Kursinhalt

Überblick über wissenschaftlich/technische Bibliotheken für Python

Es gibt eine Vielzahl von Bibliotheken. Es wird ein Überblick gegeben und auf einzelne Beispielbibliotheken kurz eingegangen.

Numerische Berechnungen mit NumPy

Die Bibliothek NumPy ist der Quasi-Standard für die Arbeit mit Arrays und lineare Algebra.

Array-Konstruktion und Array-Eigenschaften

Es gibt verschiedene Arten wie Arrays mit NumPy erstellt werden können. An Hand von Beispielen wird dargelegt, welcher Weg für welchen Zweck der geeignetste ist. Die Eigenschaften von Array-Objekten werden behandelt und ihre Bedeutung erläutert.

Datentypen

Im Gegensatz zu Python-Datentypen, die dynamisch zur Laufzeit ermittelt werden, müssen bei NumPy-Arrays die Typen vor der Konstruktion eines Arrays festgelegt werden. Dies ist eine Voraussetzung für die gegenüber reinem Python mit NumPy erzielbaren Geschwindigkeitszuwächse. Es gibt wesentlich mehr Datentypen als in Python. Die Datentypen und ihre Nutzung werden erläutert.

Slicing und Broadcasting

Mit Hilfe des so genannten Slicings kann auf beliebige Teilbereiche auch mehrdimensionaler Arrays lesend und schreibend zugegriffen werden. Mit dieser Technik lassen sich oft kurze und elegante Lösungen finden, die ohne Schleifen auskommen. Erfahrungsgemäß sind die ersten Schritte mit Slicing gewöhnungsbedürftig. Deshalb werden im Kurs zahlreiche Übungen durchgeführt, die verschiedenste Möglichkeiten abdecken. Haben Arrays unterschiedliche Formen erfolgt in NumPy das so genannte Boradcasting, bei dem die fehlenden Array-Bestandteile sinnvoll ergänzt werden Ein gutes Verständnis dieses wichtigen Mechanismus ist Grundvoraussetzung für ein effektives Arbeiten mit NumPy.

Universelle Funktionen

Mit NumPy können verschiedenste Operationen auf ganze Arrays unabhängig von deren Dimensionen ausgeführt werden. Diese als universelle Funktionen bezeichneten Operationen werden an Beispielen erläutert.

Numerische Algebra

NumPy bietet grundlegende Funktionen für die Lösung von Aufgaben der numerischen Algebra. Diese werden an Beispielen erläutert und angewendet.

Speichern und Verarbeiten sehr großer Datenmengen

Bei wissenschaftlich/technischen Anwendungen ist es oft nötig mit großen Datenmengen zu arbeiten. Um diese Daten dauerhaft zu speichern gibt es verschiedene Möglichkeiten. Einige davon werden im Kurs vorgestellt.

Textdateien

Die einfachste Art Daten zu speichern sind Textdateien. Es wird gezeigt wie Textdateien effizient gelesen und geschrieben werden können. Techniken für die Umwandlung spaltenbasierter Daten in Python-Datenstrukturen werden behandelt.

Excel-Dateien

Viele Daten werden in Excel-Dateien abgelegt. Python bietet mehrere Möglichkeiten Exceldateien zu lesen und zu schreiben. Zugriffe über die Microsoft COM-Schnittstelle unter Windows werden ebenso angewendet wie der direkte binäre Lese- und Schreibzugriff, der ein vom Betriebssystem unabhängiges Arbeiten ermöglicht.

NetCDF-Dateien

Für die effiziente Speicherung großer arraybasierte Daten bis in den Terabyte-Bereich wird das Datenformat NetCDF eingesetzt. Python bietet eine Schnittstelle für NetCDF. Die Handhabung wird mit Beispielen erarbeitet.

HDF-Dateien

Das HDF-Format wird für sehr ähnliche Zwecke wie das NetCDF-Format eingesetzt. Es ist geplant beide Formate in zukünftigen Versionen zu vereinigen. HDF steht für hierachical data format und bietet somit ein bessere Möglichkeit Daten zur organisieren. Mit pyTables steht eine ausgereifte und sehr komfortable Schnittstelle zu HDF zur Verfügung. Diese wird im Kurs mit Beispielen erläutert.

Datenbanken

Oft liegen Daten in Datenbanken vor. Python bietet eine einheitliche API für den Datenbankzugriff auf alle gängigen Datenbanken.

Die Arbeitsweise der API wird an Beispielen erläutert.

Pickling und Shelving

Python bietet die Möglichkeit mit den eingebauten Modulen pickle und shelve Python-Objekte persistent zu speichern. Damit lassen sich ohne Entwicklung von Dateiformaten schnell auch komplexe Datenstrukturen speichern und zu einem späteren Zeitpunkt wieder laden.

Die Anwendung, Vor- und Nachteile dieser Speichermethoden werden mit Beispielen dargestellt.

Objektorientierte Programmierung für wissenschaftlich/technische Projekte

Das objektorientierte Paradigma ist das zurzeit in der Softwareentwicklung vorherrschende. Viele Wissenschaftler und Ingenieure sind jedoch mit der prozeduralen Programmierung wesentlich besser vertraut. Im Kurs wird mit Beispielen erarbeitet, dass Objektorientierung auch für typische wissenschaftliche oder ingenieurtechnische Problemstellungen Vorteile bietet.

Grafische Darstellung wissenschaftlicher Daten

Ergebnisse wissenschaftlich/technischer Berechnungen müssen oft grafisch dargestellt werden. Obwohl viele Grafikprogramme existieren, ist die automatisierte Erstellung von Grafiken insbesondere bei vielen Grafiken oder bei sich immer wiederholenden Darstellungen von Vorteil.

matplotlib

Mit matplotlib lassen sich mit nur wenigen Zeilen Quelltext unterschiedlichste Diagramme erstellen. An Beispielen wird die Nutzung der Bibliothek geübt.

MayaVi

Für die dreidimensionale Visualisierung und Animation von Daten eignet sich MayaVi hervorragend. Im Kurs wird sowohl die Nutzung als eigenständige Anwendung als auch die Automatisierung mit Pythonprogrammen behandelt.

Integration von Anwendungen mit Python

Python wird oft als so genannte "glue language" bezeichnet, da es besonders für Verbindung heterogener Anwendungen geeignet ist. Diese Eigenschaft macht es für wissenschaftlich-technische Anwendungen besonders interessant. Im Kurs werden verschiedene Möglichkeiten vorgestellt wie unterschiedlichste Anwendungen zu einem einheitlichen Programm verbunden werden können.

Offene Zeit für Problemlösungen der Teilnehmer

Die Teilnehmer werden vor dem Kurs gebeten Aufgaben zu formulieren, die sie in ihrer täglichen Praxis lösen müssen. Im Kurs werden Lösungsmöglichkeiten für diese Aufgaben aufgezeigt und wenn möglich mit Beispielen untersetzt.

Kursdauer

3 Tage

Ablauf

Die Teilnehmer können alle Arbeitsschritte direkt auf ihrem Computer nachvollziehen. Am Ende jedes Themas können sie das erworbene Wissen durch praktische Übungen festigen.

Kursmaterialien

Jeder Teilnehmer erhält ausführliche Kursunterlagen mit ausformulierten Beschreibungen der Kursinhalte und eine CD mit allen verwendeten Quelltexten und genutzter Software.

Empfohlene Modul-Kombinationen

Die Module Python-Erweiterungen in anderen Sprachen und Optimierung von Pythonprogrammen stellen inhaltliche Ergänzungen zu diesem Kurs dar.

Das Modul kann mit den Kursen Python für Nichtprogrammierer oder Python für Programmierer kombiniert werden.




Die Python Academy ist Sponsor der PyData London 2014.

[PyData London 2014]

Die Python Academy ist Sponsor der EuroPython 2014.

[EuroPython 2014]

Die Python Academy ist Sponsor der PyCon 2014 Montréal.

[PyCon 2014 Montréal]

Die Python Academy ist Sponsor des Python BarCamp Köln 2014.

[Python BarCamp 2014]

Die Python Academy ist Sponsor der PyConDE 2013.

[PyCon DE 2013]

Die Python Academy ist Sponsor der EuroPython 2013.

[EuroPython 2013]

Die Python Academy ist Sponsor der PyCon US 2013.

[PyCon US 2013]

Die Python Academy ist Sponsor der EuroSciPy 2013.

[EuroSciPy 2013]

Die Python Academy ist Sponsor der PyConPL 2012.

[PyCon PL 2012]

News


Die nächsten offenen Kurse
mehr dazu ...


Python Academy ist Sponsor der EuroPython 2013
mehr dazu ...


Python Academy ist Sponsor der EuroSciPy 2013
mehr dazu ...


Python Academy ist Sponsor der PyCon US 2013
mehr dazu ...


Python Academy ist Sponsor des Python Barcamps in Köln
mehr dazu ...


Nächster Pythonstammtisch am 12. November 2013
mehr dazu ...


Kurs: "Introduction to Django" (Englisch) in Leipzig 11. - 13. November 2013
mehr dazu ...


Kurs: "Professional Testing with Python" (Englisch) in Leipzig 25. - 27. November 2013
mehr dazu ...


Kurs: "Advanced Django" (Englisch) in Leipzig 13. - 15. Januar 2014
mehr dazu ...


Python Academy ist Sponsor der PyCon PL 2012
mehr dazu ...


Python Academy ist Sponsor der PyCon DE 2012
mehr dazu ...


Gründer der Python Academy erhält PSF Community Service Award
mehr dazu ...