Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python

Größe: px
Ab Seite anzeigen:

Download "Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python"

Transkript

1 Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python Jan Rosendahl, Christian Herold 02. April 2019 Human Language Technology and Pattern Recognition Computer Science Department, RWTH Aachen University J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 1 / April 2019

2 Python: Kurze Charakterisierung interpretierte höhere Programmiersprache hat den Anspruch gut lesbarer, knapper Programmierstil zu fördern klare übersichtliche Syntax verschiedene Programmierparadigmen imperativ, objektorientiert, funktional,... dynamische Typisierung J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 2 / April 2019

3 Python3 Python2 gilt als veraltet erste Python3 Version 2008 veröffentlicht größere Verbesserungen der Hauptbibliotheken nur für Python3 Hauptgrund warum Python2 auch noch stärker verwendet wird sind speziellere ältere Bibliotheken, welche nur Python2 unterstützen Ihr werdet aber solche spezielleren Bibliotheken nicht brauchen insbesondere TensorFlow unterstützt uneingeschränkt Python3 Für dieses Praktikum verlangen wir Python3 Code die Unterschiede in Syntax sind größtenteils nur marginal oder nicht vorhanden J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 3 / April 2019

4 print Funktion print("hello world!") for Schleife für i von 1 bis 9 for i in range(1,10): print(i) Erste Code Zeilen I Scopes werden durch konsistente Einrückung definiert Tabs und Leerzeichen werden unterstützt, dürfen aber nicht gemischt verwendet werden (Standard: 4 Leerzeichen) for Schleife über eine Liste (von strings) for w in ['Hello', 'world', '!']: print(w) Ausführen / Interpretieren des Programms # python3 hello.py J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 4 / April 2019

5 Beispiel Datei: calc_log.py import sys, math as m Erste Code Zeilen II ln_arg = sys.argv[1] log_res = m.log(float(ln_arg)) print("ln(%s) = %.4f" % (ln_arg, log_res)) Ausführen des Programms # python3 calc_log.py 2 ln(2) = (Ausgabe nach stdout) Sichtbare Konzepte Kommandozeilen Argumente Zugriffsoperator [ ] Importieren und Nutzen von Bibliotheken Typenkonvertierung (hier string zu float) Formatierungs-Strings allerdings besser arparse verwenden J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 5 / April 2019

6 Python typisch: List Comprehension Einfaches Beispiel l = [2, 3, 4] l_squared = [i**2 for i in l] l_squared == [4, 9, 16] vgl. mit ähnlicher Schreibweise in der Mathematik: {i 2 i N} Weiteres Beispiel l_tuple = [(i, i**2, i**3) for i in l] l_tuple == [(2, 4, 8), (3, 9, 27), (4, 16, 64)] Erzeugung komplexerer Elemente möglich, hier "nur" 3-Tupel Das Comprehension Konzept wird auch für andere Datenstrukturen, wie z.b. Mengen oder dictionaries unterstützt J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 6 / April 2019

7 Argparse Kommandozeilen Parameter definieren import argparse parser = argparse.argumentparser() parser.add_argument("-t", "--text") args = parser.parse_args() das übergebene Argument kann dann über args.text ausgelesen werden Ausführen des Programms # python3 pyfile.py --text my_text.txt oder # python3 pyfile.py -t my_text.txt J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 7 / April 2019

8 Dateien Einlesen Datei zeilenweise Einlesen in_file = open(args.text, 'r', encoding="utf-8") for line in in_file: print(line.split()) in_file.close() Verschiedene Modi beim Öffnen möglich, hier "read" Zeichencodierung der Datei berücksichtigen! Komprimierte Textdateien Einlesen Tipp import gzip gzip.open(args.text, 'rt', encoding="utf-8") zip Funktion (nicht verwandt mit obigen gzip Modul) kann hilfreich sein um mehrere Dateien gleichzeitig zeilenweise zu verarbeiten J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 8 / April 2019

9 Serialisierung mit Pickle viele Berechnungen in der maschinellen Übersetzung bauen auf einander auf insbesondere zeitaufwendige Ergebnisse sollten auf der Festplatte zwischengespeichert werden Beispiel: Speichern ganzer Objekter mittels Pickle, hier dictionary import pickle favorite_number = {"Peter": 3, "Michael": 7, "Horst": 42} pickle.dump(favorite_number, open("save.pkl", "wb")) Beispiel: Laden, z.b. auch in einem anderen Programm favorite_number = pickle.load(open("save.pkl", "rb")) Alternativen JSON (JavaScript Object Notation) eigene Dateiformate J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 9 / April 2019

10 Debugging und Experimentieren I Python bietet interaktiven Modus nach Aufruf von # python3 (ohne Quellcode Datei als Argument) kann Python-Code interaktiv Zeile für Zeile ausgeführt werden IPython besser ipython3 anstatt python3 verwenden sowohl interaktiv als auch zum Interpretieren von Quellcode Dateien bietet farbiges Highlighting des Codes und der Fehlermeldungen ausführlichere Fehlermeldungen J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 10 / April 2019

11 Debugging und Experimentieren II Mischung: Code in Dateien und interaktiver Modus -i Option von python3 / ipython3: komplette Quellcode Datei interpretieren lassen, danach wird der interaktive Modus betreten oder Breakpoint mittels pdb.set_trace() setzen Weitere hilfreiche Funktionen type(var): Gibt den Typ von var zurück (in IPython) module.funct?: Zeigt Dokumentation dir(var): Listet alle Attribute, Funktionen etc. von var auf (var kann dabei ein Objekt, eine Funktion, ein Modul etc. sein) J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 11 / April 2019

12 Python Environments Nützlich insbesondere wenn Python Pakete nachinstalliert werden müssen, aber der Nutzer keine Schreibrechte in großen Teilen des Dateisystems hat. Erstellung einer Environment in einer Linux Shell (wie bash oder zsh) # cd <path with write access> # virtualenv -p /usr/bin/python3 <environment name> Aktivieren der Environment # source <path to environment>/bin/activate Überprüfen ob die Aktivierung erfolgreich war # which pip oder # which pip3 und Überprüfen ob der ausgegebene Pfad zur gewünschten Environment zeigt analoge Überprüfung von python / python3 J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 12 / April 2019

13 Python Pakete mit pip nachinstallieren Standard Python Installation hat bereits eine Vielzahl an Paketen Ihr werdet später z.b. TensorFlow installieren müssen Beispiele (nach Aktivierung der gewünschten Environment) # pip install tensorflow # pip install ipython Nach erfolgreicher Installation kann das Paket direkt genutzt werden z.b.: import tensorflow as tf tf.constant(0) J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 13 / April 2019

14 Weitere Empfehlungen Code organisieren mittels der verteilten Versionsverwaltung git RWTH bietet kostenfreie private Repositories: Entwicklung innerhalb einer Linux Umgebung Code muss innerhalb unserer Linux Umgebung ausführbar sein auch wenn Python Code größtenteils Plattform-unabhängig sein sollte Die von uns bereitgestellten Rechner mit leistungsstarken GPUs arbeiten ebenfalls unter Linux Linux Shells sind deutlich komfortabler als Windows cmd Leistungsstarke IDE wie z.b. PyCharm (Community Edition) benutzen J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 14 / April 2019

15 Ressourcen The Python Tutorial der Python Software Foundation Interaktives Tutorial J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 15 / April 2019

16 Einordnung Die gezeigten Folien stellen eine kurze Einführung in Python dar geben einen Einblick in nützliche Features haben keinerlei Anspruch auf Vollständigkeit wir setzen grundlegende Kenntnisse der Softwareentwicklung und Programmierung voraus auch wenn wir Objektorientierung und Modularisierung hier nicht explizit thematisiert haben, legen wir Wert auf sauberen, gut leserlichen, modularen Code Lesen von Dokumentationen zu weiteren Konzepten in Python und externen Bibliotheken (z.b. TensorFlow) wird nötig sein J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 16 / April 2019

17 Fragen? J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 17 / April 2019

18 Gruppenbildung Testate in Zweiergruppen am Dienstag den (in der nächsten VL werden neue, dauerhafte Zeitslots bestimmt) Die Testate von Blatt 1 dauern 30 Minuten Bitte gebt mindestens Zeitslots im Umfang von insgesamt 4 Stunden an Zeitslots zwischen 9:00h und 18:30h Wir versuchen eure Wünsche zu berücksichtigen Beispiel GruppenTeilnehmer1, GruppenTeilnehmer2 Zeitblock1 Zeitblock2. J. Rosendahl, C. Herold: Softwareprojektpraktikum Maschinelle Übersetzung 18 / April 2019

Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python

Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python Julian Schamper, Jan Rosendahl mtprak18@i6.informatik.rwth-aachen.de 11. April 2018 Human Language Technology and Pattern Recognition

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung Automatische Evaluation

Softwareprojektpraktikum Maschinelle Übersetzung Automatische Evaluation Softwareprojektpraktikum Maschinelle Übersetzung Automatische Evaluation Julian Schamper, Jan Rosendahl mtprak18@i6.informatik.rwth-aachen.de 11. April 2018 Human Language Technology and Pattern Recognition

Mehr

Einführung in Python Teil I Grundlagen

Einführung in Python Teil I Grundlagen Einführung in Python Teil I Grundlagen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Do. 27.5.2010 Nichtlineare Dynamik und Kontrolle SS2010 1 of 22 Diese Einführung

Mehr

Skriptsprachen: Python

Skriptsprachen: Python Skriptsprachen: Python Einführung Jan Krüger, Alexander Sczyrba Technische Fakultät Universität Bielefeld 30. September 2016 Python Einführung Eigenschaften, Erweiterungen, Erste Gehversuche 2 of 18 Python

Mehr

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Scriptcharakter 2. Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren 3.

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl {peter,guta,schamper}@i6.informatik.rwth-aachen.de Vorbesprechung 3. Aufgabe 19. Mai 2017 Human Language

Mehr

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Über diesen Kurs 2. Der Python Interpreter 3. Python Scripte 4. Grundlagen der Sprache 5. Das erste Programm 6. Operatoren

Mehr

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014 Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer Inhaltsverzeichnis Einleitung Warum man programmieren können sollte.... xi Warum Python?.... xii Und warum Minecraft?... xii Was du in diesem Buch findest... xiii Online-Ressourcen....xv Möge das Abenteuer

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

PYTHON. 04 Funktionen II, Module

PYTHON. 04 Funktionen II, Module PYTHON 04 Funktionen II, Module Funktionen Funktionen enthalten Programm-Teile können später im Programm aufgerufen werden können beliebig oft aufgerufen werden (und man muss nur die Funktion aufrufen,

Mehr

Algorithmik und Programmieren

Algorithmik und Programmieren Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at

Mehr

Einführung in Python. O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Mark Lutz & David Ascher

Einführung in Python. O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Mark Lutz & David Ascher 2. AUFLAGE Einführung in Python Mark Lutz & David Ascher Deutsche Überarbeitung und Aktualisierung: Dinu C. Gherman Fachliche Unterstützung: Christian Tismer O'REILLY 8 Beijing Cambridge Farnham Köln Paris

Mehr

A2.1 Python. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A2.1 Python. A2.2 Kurzer Sprachüberblick. A2.3 Selectionsort in Python

A2.1 Python. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A2.1 Python. A2.2 Kurzer Sprachüberblick. A2.3 Selectionsort in Python Algorithmen und Datenstrukturen 28. Februar 2018 A2. Eine sehr kurze Einführung in Python Algorithmen und Datenstrukturen A2. Eine sehr kurze Einführung in Python A2.1 Python Marcel Lüthi and Gabriele

Mehr

Programmiersprache. Emily & rica

Programmiersprache. Emily & rica Programmiersprache Emily & rica inhaltsangabe Programmiersprache Def inition/funktion Arten Gängige Algorithmus/Syntax Compiler, Interpreter Def inition Unterscheidung Vor- und Nachteile Compiler/ Interpreter

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen A2. Eine sehr kurze Einführung in Python Marcel Lüthi and Gabriele Röger Universität Basel 28. Februar 2018 Python Python interpretierte High-Level-Programmiersprache unterstützt

Mehr

Einführung in Perl 6. Referent : Gerd Pokorra Am Eicher Hang Freudenberg. (dienstlich): /

Einführung in Perl 6. Referent : Gerd Pokorra Am Eicher Hang Freudenberg. (dienstlich): / Einführung in Perl 6 Referent : Gerd Pokorra Am Eicher Hang 44 57258 Freudenberg (dienstlich): 02 71 / 7 40 43 79 Referent Studium der Elektrotecknik seit 1988 DV Systemspezialist im Hochschulrechenzentrum

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

Mehr

Python. Grundlagen, fortgeschrittene Programmierung und Praxis

Python. Grundlagen, fortgeschrittene Programmierung und Praxis Python Grundlagen, fortgeschrittene Programmierung und Praxis August 2011 I. Grundlagen 1 1. Einleitung 3 2. Verfügbarkeit und Installation 6 2.1. Windows..................................... 6 2.2. Unix/Linux/MacOSX...............................

Mehr

23. Schulinformatiktag

23. Schulinformatiktag 23. Schulinformatiktag Programmieren mit dem Raspberry Pi Dieser Workshop umfasst eine praktische Einführung in die Programmierung mit Python und Scratch auf dem Raspberry Pi. Die Beispiele und Übungen

Mehr

PYTHON. 03 for-schleifen, Funktionen

PYTHON. 03 for-schleifen, Funktionen PYTHON 03 for-schleifen, Funktionen for-schleife kann verwendet werden, um eine bestimmte Anzahl an Wiederholungen durchzuführen kann verwendet werden, um ein bestimmtes Objekt (z.b. eine Liste) zu durchlaufen

Mehr

Informatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr

Informatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2013/2014 Universität Freiburg Institut für Informatik Übungsblatt 3

Mehr

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Es gibt immer einen Schlüssel und einen zugehörigen Wert, JSON JavaScript Object Notation Im Unternehmenskontext spielt der Austausch von Daten zwischen unterschiedlichen Systemen eine große Rolle. Dabei müssen oft Technologie und Zuständigkeitsgrenzen überwunden

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Crashkurs Python und Sage U23 Krypto-Mission

Crashkurs Python und Sage U23 Krypto-Mission Crashkurs Python und Sage -Mission florob Simon e.v. http://koeln.ccc.de 4. Oktober 2015 Anfang Übersicht Sage Computer-Algebra-System, wie MatLab oder Mathematica sagemath.org Python interpretierte Programmiersprache

Mehr

Grundlegende Datentypen

Grundlegende Datentypen Grundlegende Datentypen Funktionale Programmierung Prof. Dr. Oliver Braun Letzte Änderung: 22.10.2018 10:53 Grundlegende Datentypen 1/21 Typen in Haskell ist alles streng typisiert Haskell verfügt über

Mehr

Zahlen raten. Al Sweigart, Eigene Spiele programmieren Python lernen, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

Zahlen raten. Al Sweigart, Eigene Spiele programmieren Python lernen, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm D3kjd3Di38lk323nnm 33 3 Zahlen raten In diesem Kapitel schreiben Sie ein Zahlenratespiel (»Guess The Number«). Der Computer denkt sich eine Geheimzahl von 1 bis 20 aus und bittet den Benutzer, sie zu erraten.

Mehr

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus LUKAS LEIPOLD Shell Shell Oder Konsole suchen im Application Finder Auch Terminal, Bash oder Kommandozeile genannt Bash nimmt Befehle entgegen und führt diese aus Befehle I cd mkdir pwd rm mv cp ls ln

Mehr

Inhalt. 1. Module und Pakete. 2. Betriebssysteminteraktion. 3. Arbeiten mit Dateien. 4. Externe Programme anschmeißen

Inhalt. 1. Module und Pakete. 2. Betriebssysteminteraktion. 3. Arbeiten mit Dateien. 4. Externe Programme anschmeißen Inhalt 1. Module und Pakete 2. Betriebssysteminteraktion 3. Arbeiten mit Dateien 4. Externe Programme anschmeißen Module und Pakete Sinn und Zweck: Bereitstellung von Funktionen Strukturierung von Programmen

Mehr

Einführung in das Natural Language Toolkit

Einführung in das Natural Language Toolkit Einführung in das Natural Language Toolkit Markus Ackermann Abteilung für Automatische Sprachverarbeitung (Universität Leipzig) 11. Mai 2011 Kurzeinführung nützliche

Mehr

Plattformübergreifende Benutzeroberflächen mit Python und Qt

Plattformübergreifende Benutzeroberflächen mit Python und Qt Plattformübergreifende Benutzeroberflächen mit Python und Qt Und die Geschichte der Programmversionen archivieren mit git Einführung anhand eines Beispiels Fügen Sie auf der Masterfolie ein frei wählbares

Mehr

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php

Mehr

Hydroinformatik 1 Integrated development environments IDEs

Hydroinformatik 1 Integrated development environments IDEs Hydroinformatik 1 Integrated development environments IDEs Bisher C++, Qt, Datentypen, Klassen I/O, strings Folie 2 Heute IDEs Definition, Aufgaben, Funktionen (Anwendungsübung) Folie 3 Vorbereitung Download

Mehr

Python für Linguisten

Python für Linguisten Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozentin: Esther Seyarth schreiben und lesen Tipps und Fragen zur 1. Esther Seyarth Python 1 print() Wir haben print() schon oft benutzt, um Text in

Mehr

Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure

Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure Chemnitzer Linux-Tage 2012, 18. März 2012 Autor: E-Mail: Dr.-Ing. Mike Müller mmueller@python-academy.de Übersicht besondere Situation

Mehr

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt. Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden

Mehr

Quick-Start Informatik Programmieren in Python Teil 2

Quick-Start Informatik Programmieren in Python Teil 2 Quick-Start Informatik 2011 Programmieren in Python Teil 2 Organisatorisches Self-Assessment-Bögen Aufgabenblätter! Rückblick 1. Programmieren: Wie geht das? (IDLE, REPL,.py-Dateien) 2. Daten und Datentypen

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java

Mehr

Dies ist der zweite Artikel einer Serie über Electron.

Dies ist der zweite Artikel einer Serie über Electron. Electron WebDeskApps Dies ist der zweite Artikel einer Serie über Electron. Im ersten Artikel wurden die Grundlagen von Elektron, und die benötigten Ressourcen, die man benötigt um eine Elektron-App zu

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Microsoft Visual Studio Code mit RPG und IceBreak

Microsoft Visual Studio Code mit RPG und IceBreak Microsoft Visual Studio Code mit RPG und IceBreak ( 2018 Markus A. Litters) Inhaltsverzeichnis 1. Vorwort... 2 2. Voraussetzungen und Installation... 3 3. Der erste Start... 4 4. Die IceBreak Erweiterung...

Mehr

1 Berechnung von Summen (ca = 10 Punkte)

1 Berechnung von Summen (ca = 10 Punkte) Einführung in die wissenschaftliche Programmierung Klausur 26.02.2013 Seite 1/8 Name, Vorname, Unterschrift: Matrikelnummer: 1 Berechnung von Summen (ca. 5 + 4 + 1 = 10 Punkte) Gegeben sind natürliche

Mehr

Module, Packete und PIP

Module, Packete und PIP Module, Packete und PIP Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Module Eigene Module Der Sinn der Boilerplate Suchpfad für Module Suchpfad modifizieren Standardmodule 2.

Mehr

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt

Mehr

Python für Wissenschaftler

Python für Wissenschaftler Python für Wissenschaftler Thomas McColgan 26.9.11 http://bit.ly/py4bio2 1/35 Inhalt Was ist Python? Beispiel-Workflow Getting started 2/35 Was ist Python Python ist freie Software Dynamische Skriptsprache

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology

Mehr

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil

Mehr

Softwareentwicklung I (IB) Blatt 5

Softwareentwicklung I (IB) Blatt 5 Blatt 5 Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 30.11.2017 21:38 Abgabe der Aufgabe auf diesem Blatt: bis 10.01.18, 10:00 Uhr durch Pushen in das

Mehr

Brückenkurs Informatik Algorithmik und Programmieren. Justus Piater

Brückenkurs Informatik Algorithmik und Programmieren. Justus Piater Brückenkurs Informatik Algorithmik und Programmieren Justus Piater https://iis.uibk.ac.at/ Organisation Zielgruppe Einsteiger in die Informatik Studierende ohne Programmierkenntnisse Brückenkurs Informatik:

Mehr

SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis. Gunther Pippèrr GPI Consult München

SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis. Gunther Pippèrr GPI Consult München Schlüsselworte SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis SQL, SQL*Plus, SQLcl, Scripting Einleitung Gunther Pippèrr GPI Consult München Ist es nun soweit? Gehört nun auch SQL*Plus bald

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

1. Python Interpreter installieren (WinPython)

1. Python Interpreter installieren (WinPython) 1 Excel - User Defined Functions mit Python Um Python als Programmiersprache für Excel UDFs verwenden zu können muss ein Python Interpreter(z.B. WinPython) und xlwings installiert werden: Inhalt 1. Python

Mehr

Rückgabewerte von Methoden

Rückgabewerte von Methoden OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1

Mehr

Definitionen/Vorarbeit zum Thema Java

Definitionen/Vorarbeit zum Thema Java Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript

Mehr

Hello World! Eine Einführung in das Programmieren Das erste Programm

Hello World! Eine Einführung in das Programmieren Das erste Programm Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung

Mehr

Vorwort Einführung in Power Query Erste Abfrage erstellen... 21

Vorwort Einführung in Power Query Erste Abfrage erstellen... 21 Vorwort... 11 1 Einführung in Power Query... 13 1.1 Power Query installieren und aktivieren... 13 1.2 Power Query aktivieren bzw. deaktivieren... 14 Was tun, wenn das Register nicht angezeigt wird... 16

Mehr

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( 6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie

Mehr

Einleitung Erste Abfrage erstellen...2

Einleitung Erste Abfrage erstellen...2 Einleitung...7 1 Einführung in Power Query... 11 1.1 Power Query installieren und aktivieren... 11 1.2 Power Query aktivieren bzw. deaktivieren... 12 Was tun, wenn das Register nicht angezeigt wird...

Mehr

HYDROINFORMATIK. Integrated development environments IDEs. JProf. Dr. rer. nat. Marc Walther

HYDROINFORMATIK. Integrated development environments IDEs. JProf. Dr. rer. nat. Marc Walther HYDROINFORMATIK Integrated development environments IDEs JProf. Dr. rer. nat. Marc Walther Dresden, 20. Oktober 2017 LETZTES MAL Einführung in Veranstaltung, Organisatorisches Überblick Anwendungen HI

Mehr

Informatik II - Übung 01

Informatik II - Übung 01 Informatik II - Übung 01 Raphael Fischer (Folien basierend auf denen von Christian Beckel) fischrap@student.ethz.ch 01.03.2017 Wie sieht eine Übungsstunde aus? 1) Fragen aus der Vorlesung! 2) Praktische

Mehr

Einführung in die prozedurale und objektorientierte Programmierung (3)

Einführung in die prozedurale und objektorientierte Programmierung (3) Abteilung für Wirtschaftsinformatik Einführung in die prozedurale und objektorientierte Programmierung (3) Ausnahmen (Exceptions), Referenzen, Direktiven (::routine, ::requires) Prof. Dr. Rony G. Flatscher

Mehr

Michael Weigend. Python GE-PACKT

Michael Weigend. Python GE-PACKT Michael Weigend Python GE-PACKT E Einleitung 11 E.i Was ist Python? ai E.2 Einige besondere Merkmale von Python n E.3 Hinweise zum Lesen dieses Buches 13 1 Basiskonzepte von Python 15 1.1 Python im interaktiven

Mehr

Quick-Start Informatik Programmieren in Python Teil 1

Quick-Start Informatik Programmieren in Python Teil 1 Quick-Start Informatik 2011 Programmieren in Python Teil 1 Alles zum Praxisteil } Skript, Übungen, auf Folien... http://vorkurs.cs.uni-frankfurt.de Bücher: Gratis: http://learnpythonthehardway.org/ Fragen,

Mehr

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative

Mehr

MIT3 Serverseitige Programmierung. Claudius Coenen

MIT3 Serverseitige Programmierung. Claudius Coenen MIT3 Serverseitige Programmierung Claudius Coenen Organisatorisch Vorlesungsfolien & Weiterführendes www.claudiuscoenen.de/hda (mein Name, am Stück) (wo ihr studiert) (3-Tier-Reprise) Client Applikations-Server

Mehr

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum Kommandozeile und Batch-Dateien Molekulare Phylogenetik Praktikum 2 1.1 Die Kommandozeile Alternative zur grafischen Oberfläche (GUI) eines Betriebssystems Vorteile: Sich wiederholende Befehle können gespeichert

Mehr

Objektorientiertes Programmieren II

Objektorientiertes Programmieren II Objektorientiertes Programmieren II Symbolische Programmiersprache. Benjamin Roth Folien von Annemarie Friedrich Wintersemester 2017/2018 Centrum für Informations- und Sprachverarbeitung LMU München 1

Mehr

Grundlegende Datentypen

Grundlegende Datentypen Grundlegende Datentypen (Funktionale Programmierung) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 21:08 Grundlegende Datentypen 1/16 Typen in Haskell ist alles streng typisiert Haskell verfügt über

Mehr

Modularisierung in Java: Pakete Software Entwicklung 1

Modularisierung in Java: Pakete Software Entwicklung 1 Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Programmieren und Programmiersprachen SoSe 2012 Stand der Folien: 26. März 2012 Übersicht Programme und Programmiersprachen Haskell 1 Programme und Programmiersprachen 2 Haskell

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013. Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik

Mehr

HYDROINFORMATIK. Integrated development environment IDEs. JProf. Dr. rer. nat. Marc Walther

HYDROINFORMATIK. Integrated development environment IDEs. JProf. Dr. rer. nat. Marc Walther HYDROINFORMATIK Integrated development environment IDEs JProf. Dr. rer. nat. Marc Walther Dresden, 21. Oktober 2016 LETZTES MAL Einführung in Veranstaltung, Organisatorisches Überblick Anwendungen HI 21.10.2016

Mehr

Darüber hinaus bietet SQuirreL eine Vielzahl von Plug-ins, mit denen der Funktionsumfang des Programms erheblich erweitert werden kann.

Darüber hinaus bietet SQuirreL eine Vielzahl von Plug-ins, mit denen der Funktionsumfang des Programms erheblich erweitert werden kann. 1. SQuirreL installieren QuirreL Nachdem über einen langen Zeitraum Datenbanksysteme (DBS) vorwiegend über die Kommandozeile gesteuert wurden, hat sich in den letzten Jahren die Nutzung von grafischen

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Inhalt. Vorwort zur dritten Auflage 15

Inhalt. Vorwort zur dritten Auflage 15 Vorwort zur dritten Auflage 15 f... Architektur des SAP-Systems im Überblick 25 Technische Architektur 25 Betriebswirtschaftlich-organisatorische Architektur 27 Plattformunabhängigkeit 30 Anwendungsprogramme

Mehr

Web-Techniken Einführung in JavaScript

Web-Techniken Einführung in JavaScript Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2

Mehr

Software Engineering I (IB) Node.js. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Software Engineering I (IB) Node.js. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Software Engineering I (IB) Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 15.11.2018 08:01 Inhaltsverzeichnis JavaScript auf dem Server!?............................ 1 Hello

Mehr

Grundlegende Datentypen

Grundlegende Datentypen Funktionale Programmierung Grundlegende Datentypen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 14.11.2017 15:37 Inhaltsverzeichnis Typen........................................

Mehr

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl {peter,guta,rosendahl}@i6.informatik.rwth-aachen.de Vorbesprechung 4. Aufgabe 2. Juni 2017 Human Language

Mehr

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen. Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:

Mehr

Übung U02 (WS 2005/06) U02

Übung U02 (WS 2005/06) U02 Übung U02 (WS 2005/06) U02 Inhalt der Übung Grundlegende objektorientierte Begriffe (Objekt, Klasse, Attribut, Methode/Operation) am Beispiel von Java Erste Schritte im Schreiben von Java-Programmen Erzeugen

Mehr

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

Ruby Die bebilderte Anleitung

Ruby Die bebilderte Anleitung Ruby Die bebilderte Anleitung In den Übungen zur Vorlesungen werden wir die Programmiersprache Ruby benutzen, um Konzepte zu vertiefen und zu üben und allgemein etwas praktische Erfahrung im Programmieren

Mehr

WS2017/ Oktober 2017

WS2017/ Oktober 2017 Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Kurzanleitung Eclipse

Kurzanleitung Eclipse Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Informatik II - Übung 01

Informatik II - Übung 01 Informatik II - Übung 01 Katja Wolff katja.wolff@inf.ethz.ch Themen 1. Ein Algorithmus und seine Implementierung in Java 2. Java: Elementare Aspekte 3. Klassen und Referenzen 4. Syntaxanalyse und Compiler

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,

Mehr

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen

Mehr

Skriptsprachen am Beispiel Python

Skriptsprachen am Beispiel Python Seminar Programmiersprachen Skriptsprachen am Beispiel Python Norman Thomas 8. Juni 2004 Überblick Was sind Skriptsprachen? Was ist Python? Python und Syntax Datentypen Kontrollstrukturen Module Ausführung

Mehr

beehive GmbH (Hrsg.) ZOPE Content-Management- & Web-Application-Server IBJ dpunkt.verlag

beehive GmbH (Hrsg.) ZOPE Content-Management- & Web-Application-Server IBJ dpunkt.verlag beehive GmbH (Hrsg.) ZOPE Content-Management- & Web-Application-Server IBJ dpunkt.verlag 1 Einleitung 1 1.1 Zope als Web Application Server 2 1.2 Zope als Content Management Server 3 1.3 Woher kommt Zope?

Mehr