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 Julian Schamper, Jan Rosendahl 11. April 2018 Human Language Technology and Pattern Recognition Computer Science Department, RWTH Aachen University J. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 1 / April 2018

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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 2 / April 2018

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

4 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 4 / April 2018

5 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 5 / April 2018

6 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 6 / April 2018

7 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 7 / April 2018

8 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 8 / April 2018

9 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 Autocomplete über Tabs J. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 9 / April 2018

10 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 dir(var): Listet alle Attribute, Funktionen etc. von var auf (var kann dabei ein Objekt, eine Funktion, ein Modul etc. sein) J. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 10 / April 2018

11 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 11 / April 2018

12 Python Pakete mit pip nachinstallieren Standard Python Installation hat bereits eine Vielzahl an Paketen aber Ihr werdet später z.b. mxnet installieren müssen oder weitere hilfreiche Bibliotheken finden Beispiele (nach Aktivierung der gewünschten Environment) # pip install mxnet # pip install ipython Nach erfolgreicher Installation kann das Paket direkt genutzt werden z.b.: import mxnet as mx print(mx.nd.arange(1,4)) J. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 12 / April 2018

13 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 mxnet 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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 13 / April 2018

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. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 14 / April 2018

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

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. mxnet) wird nötig sein J. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 16 / April 2018

17 Fragen? J. Schamper, J. Rosendahl: Softwareprojektpraktikum Maschinelle Übersetzung 17 / April 2018

Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python

Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python Softwareprojektpraktikum Maschinelle Übersetzung Kurze Einführung in Python Jan Rosendahl, Christian Herold mtprak19@i6.informatik.rwth-aachen.de 02. April 2019 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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 1: Einführung Folie 1 : Rückblick Entwicklung von Java begann etwa 1990 Erste öffentliche Version 1994 Erste große Anwendung:

Mehr

Übungszettel 2a - Python

Übungszettel 2a - Python Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert

Mehr

Programmiervorkurs. Wintersemester 2013/2014

Programmiervorkurs. Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Organisation: Tutoren: Steffen Gebert, Alexander Wolff Johannes Grohmann, Anna Seufert, Anna Aumann, Nicolas Färber,

Mehr

Installationsanleitung

Installationsanleitung 1. C Installationsanleitung C-Programmierung mit Hilfe von Eclipse unter Windows XP mit dem GNU C-Compiler (GCC) 2. Inhaltsverzeichnis 1. Einleitung... 3 2. Cygwin... 3 2.1 Cygwin-Installation... 3 2.2

Mehr

Python für Linguisten

Python für Linguisten Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozentin: Esther Seyarth 5. Foliensatz sequentielle Datentypen, Dictionaries Petersen & Seyarth Python 1 Sequentielle Datentypen Tupel, Listen und Strings

Mehr