Menü

Werkzeugkasten

Bild im Header: Abgeleitet (zugeschnitten) von „Framaspace“ von David Revoy, framasoft.orgCC-BY 4.0

Text, Code & Co.

Ein großer Teil eures Studiums wird darin bestehen, Dinge aufzuschreiben oder zu -malen, sei es jetzt Programmcode, die Lösung eines Übungsblattes, eine Hausarbeit oder etwas ganz anderes. Die folgenden Ressourcen könnten euch dabei helfen.

Texteditoren & Entwicklungsumgebungen

Visual Studio Code ist ein genialer, erweiterbarer Open-Source-Editor von Microsoft. Verfügbar für alle Betriebssysteme und auch im Web. Eignet sich zum Mitschreiben in Vorlesungen, Bearbeiten von Übungsblättern, Programmieren von Projekten und so weiter.

Joplin ist ein Open-Source-Markdown-Editor mit Extras (LaTeX, …). Ebenfalls geeignet, um in Vorlesungen mitzuschreiben.

CryptPad ermöglicht euch, gemeinsam an Dokumenten (Tabellen, Text, Folien, Umfragen, …) zu arbeiten. Sehr ähnlich wie Google Docs oder Microsoft 365, allerdings sind alle eure Daten Ende-zu-Ende-verschlüsselt und die Anwendung ist Open Source. Ein Account ist ebenfalls nicht zwingend nötig.

Deepnote hostet Jupyter Notebooks (werden unten noch genauer erklärt) in der Cloud, die ihr gemeinsam bearbeiten könnt. So ähnlich wie Google Colab.

Visualisierungen

FLACI lässt euch Automaten zeichnen und mit formalen Sprachen, Grammatiken und regulären Ausdrücken arbeiten. Sehr praktisch für Vorlesungen wie ECL oder die Theoretische Informatik.

diagrams.net (ehemals draw.io) lässt euch unter anderem Flussdiagramme, UI-Mockups, ER- und UML-Diagramme zu zeichnen. Es gibt dafür auch Plugin für Visual Studio Code . Tipp: Wenn ihr als Endung der Dateien .drawio.png oder .drawio.svg wählt, ist die einbettbare Bilddatei gleichzeitig auch die Datei, die ihr mit diagrams.net bearbeitet.

Minimum-Edit-Distance-Rechner mit Visualisierung. Nützlich für ECL.

LaTeX

Overleaf ist eine Website, auf der man zusammen an LaTeX-Dokumenten (wie Präsentationen, Projektenberichten oder Papieren) arbeiten kann. Das Institut hostet eine eigene Instanz davon, Anmelden geht mit ICL-Account. Alternativ gibt es auch eine Free-Version von Overleaf.com, die aber deutlich weniger Kompilierzeit anbietet.

LaTeX Tables Editor ist ein schicker grafischer Editor für LaTeX-Tabellen, damit man sich nicht mehr selbst mit dem Code dafür herumschlagen muss.

Detexify lässt euch Zeichen zeichnen (zum Beispiel ein ℝ) und gibt euch den Code aus, um es in LaTeX zu setzen.

LaTeX for Linguists gibt einen Überblick über eine Vielzahl von LaTeX-Paketen, die für linguistische Texte relevant sind.

LaTeX-Kurs eines Heidelberger Studenten, der regelmäßig stattfand (oder stattfindet). Alle Vorlesungen und Übungen sind online verfügbar. Sehr zu empfehlen zum Durcharbeiten von vorne bis hinten oder zum kurzen Nachschlagen zu bestimmten Themen.

Vorlagen für Übungsblattabgaben, Seminararbeiten und Abschlussarbeiten findet ihr in unserem Altklausuren-Repository bei GitLab. Falls ihr eine Präsentation erstellen wollt, könnt ihr euch von den Tutoriumsfolien inspirieren lassen – einige Tutorien laden den LaTeX-Quelltext der Folien bei GitLab hoch (z.B. das Prog 2-Tutorium).

Literatur

Zotero ist ein Literaturverwaltungsprogramm. Mit Zotero könnt ihr alle relevanten Papers, Bücher etc. meistens über einen einzigen Klick im Browser aufsammeln, und euch dann später ein Literaturverzeichnis erzeugen lassen (unterstützt werden sowohl BibTeX und BibLaTeX als auch Office-Programme wie Word). Die Unibibliothek bietet zu Zotero übrigens regelmäßig auch kurze Einführungen an.

Neuigkeiten, Dokumentation und Tutorials

Hacker News sammelt Artikel, Nachrichtenbeiträge, Blogposts zu Themen rund um Computer, Naturwissenschaft und allgemein alles, „was die intellektuelle Neugierde befriedigt“. Falls ihr informiert bleiben wollt über das, was in der IT- und Forschungswelt so passiert, empfiehlt sich diese Website wirklich.

devdocs.io ist eine Website, die die Dokumentation für viele Programmiersprachen und Bibliotheken über eine einheitliche Oberfläche gut durchsuchbar zur Verfügung stellt. Falls ihr öfter unterwegs ohne Internet arbeitet: Die Site funktioniert auch offline.

AI Coffee Break with Letitia erklärt aktuelle Papiere und Entwicklungen im Bereich künstlicher Intelligenz. Falls euch die Videos gefallen: Letiţia gibt hier auch Seminare und Vorlesungen.

Sentdex produziert viele Tutorialvideos zu Python, insbesondere im Themenfeld künstlicher Intelligenz, sowie Einordnungen und Paperdiskussionen. Unter den einige Jahre älteren Videos finden sich auch Tutorials zu Algorithmen, Webentwicklung und Datenanalyse.

Siraj Raval proudziert Tutorials, die aktuelle Entwicklungen in der Forschung, wie Reinforcement Learning oder GANs, sehr einfach an den Zuschauer versucht ranzubringen.

Python-Bibliotheken

Für viele Programmierprobleme gibt es bereits Lösungen in Form einer Python-Bibliothek. Einige davon werden euch im Studium unvermeidbar über den Weg laufen, andere nicht. Gerade diese lohnt es sich aber oft zu kennen.

Strings vergleichen

fuzzywuzzy ist eine Bibliothek, die es z. B. erlaubt Strings ungenau miteinander zu matchen (Levenshtein) und somit zu filtern.

Textsprache erkennen

langdetect ist eine nützliche Bibliothek, die es erlaubt die Sprache eines Textes einfach herauszufinden.

Websites

flask ist ein eher leichtgewichtigtes Web-Framework, das viele Freiheiten lässt. Tutron basiert zum Beispiel darauf.

django ist ein eher schwergewichtiges Web-Framework, das einen einigermaßen festen Rahmen für ein Projekt vorgibt.

Text aus Dokumenten extrahieren

textract kann Texte aus Dokumenten wie PDFs extrahieren. Sehr praktisch, denn das ist gar keine so einfach Aufgabe.

Web-Scraping

requests vereinfacht das Arbeiten mit HTTP-Anfragen an Seiten.

beautifulsoup4 parst HTML und XML.

requests-html ist wie Requests und Beautifulsoup4 zusammen auf Steroiden – es unterstützt zum Beispiel JavaScript, weil es im Hintergrund einfach einen vollwertigen Chromium-Browser startet. Praktisch für die großen Web-Scraping-Projekte.

scrapy ist ein Framework zum Schreiben von Scrapern.

Geiler Shit & Gimmicks

jupyterlab erlaubt euch, Code und Dokumentation in Form von webbasierten, interaktiven Jupyter Notebooks direkt miteinander zu verbinden. Praktisch für Demos, Lehre, Data Science, …

termcolor erlaubt bunten und formatierten Output ins Terminal auszugeben.

tqdm zeigt coole Fortschrittsbalken.

genanki erzeugt programmatisch Anki-Decks. Nichts, was direkt mit Coli zu tun hat, aber hat sicher Anwendungsbereiche. Wie wäre es zum Beispiel damit, diese Library mit requests, beautifulsoup4, textract und scikit-learn zu kombinieren, um aus in Moodle-Kursen hochgeladenen Folien automatisch Lernkarten zu erzeugen?

Statistik & Machine Learning

scipy implementiert sehr viele Algorithmen für wissenschaftliches Arbeiten, wie Korrelationstests oder bereits implementierte Ähnlichkeitsmaße wie Kosinusähnlichkeit.

scikit-learn implementiert viele Algorithmen fürs maschinelle Lernen.

sympy erlaubt es mathematische Formeln in Python zu formulieren, die dann vereinfacht, abgeleitet, integriert oder mit eingesetzten Zahlen evaluiert werden können.

statsmodels enthält viele Funktionen zur statistischen Analyse von Daten, z. B. Korrelation.

pandas erlaubt es, tabellarische Daten zu verarbeiten. Die an die Programmiersprache R angelehnten Schnittstellen sind allerdings in der Verwendung gewöhnungsbedürftig.

Deep Learning

torch (= PyTorch) ist eine Library für maschinelles Lernen, die im NLP-Umfeld äußerst häufig verwendet wird. Ihr werdet im Laufe eures Studiums damit sicherlich in Berührung kommen.

keras ist ein Framework zum sehr einfachen erstellen von Neuronalen Netzen. Fungiert als Abstraktionslayer on top von TensorFlow oder Theano.

Visualisierung

matplotlib ist die klassische Visualisierungsbibliothek für Pythonprogramme.

seaborn ist eine Erweiterung von matplotlib mit viel schöneren Defaults und automatischer Integration von pandas-Dataframes.

Textverarbeitung

nltk enthält viele Algorithmen zur Textverarbeitung.

spacy implementiert State of the Art Algorithmen für POS-Tagging, Dependency Parsing und NER.

textblob enthält Algorithmen zur Verarbeitung von englischen Texten, wie eine automatische Sentiment-Analyse basierend auf einem Wörterbuch.

textblob-de ist wie textblob, bloß für Deutsch.

polyglot enthält Algorithmen wie POS-Tagging und Sentiment Analyse für über 100 verschiedene Sprachen.

Zur Ausleihe

  • 1x Presenter im Pool-Schließfach