Info 1 (Praktische Informatik 1: Deklarative Programmierung)

Lecture  INFM1110
Readers
Torsten GrustDenis HirnTim FischerLouisa Lambrecht
Vorlesung
Di, 14:15–15:45 Uhr (Hörsaal N6, Morgenstelle)

Do, 14:15–15:45 Uhr (Hörsaal N6, Morgenstelle)

Start: Dienstag, der 18. Oktober 2022

“Racket-Party”
Mo, 14:15–17:45 Uhr (Hörsaal N5, Morgenstelle)

Start: Montag, der 24. Oktober 2022

Klausur
Di, 14. Februar 2023, 16–18 Uhr (Morgenstelle)

Details geben wir rechtzeitig bekannt

Anmeldung
⚠️ nicht über ALMA; Details folgen hier

und in der ersten Vorlesungsstunde

FAQs 🤔

Antworten auf die meisten Fragen zur Organisation der Informatik 1 im WS 2022/23 findet ihr im Handout zur Vorlesung (PDF).

Willkommen zur Info 1

Freut euch auf einen spannenden Einstieg in die Informatik und die systematische Konstruktion von Programmen.

Das Erstellen von Programmen ist absolut essentiell in der Informatik 1 — niemand kommt aus dieser Vorlesung heraus, ohne sich ordentlich “die Finger schmutzig gemacht zu haben”, und zwar im besten Sinne: wir werden etwa die Hälfte der Vorlesungszeit genau damit (nämlich am Rechner bzw. im Editor) verbringen. In der übrigen Zeit werden wir mittels Slides und an der Tafel grundlegende Konzepte der Programmierung disktutieren.

Programmkonstruktion kann man mittels vieler Sprachen erlernen. In der kommenden Informatik 1 werden wir die funktionale Programmiersprache Racket sprechen (ein Dialekt von Scheme). Racket ist gleichzeitig wunderbar einfach — wer den Zusammenhang zwischen 2 + 4 × 10 und (+ 2 (* 4 10)) sehen kann, ist auf der richtigen Spur 😉 — und reich an Konzepten, die ihr im späteren Studium immer wieder antreffen und benutzen könnt.

Mit Fragen zur Informatik 1 könnt ihr euch bis zum Start der Vorlesung via E-Mail an info1-ws2223@cs.uni-tuebingen.de wenden. Sobald ihr alle im Discord-Chat der Vorlesung registriert seid, klären wir solche Fragen dort.

Wir freuen uns schon jetzt darauf, euch am Dienstag, den 18. Oktober 2022, 14 Uhr c.t. im Hörsaal N6 (Auf der Morgenstelle 16) begrüßen zu können.

Bis dahin: Ohren steif halten,   —Torsten Grust + 3 wissenschaftliche Mitarbeiter + 30 Tutorinnen und Tutoren

Literatur

Wir stellen euch im Laufe des Semesters sämtliche Slides und Racket-Quelltext zu allen Programmen zur Verfügung. Zusammen mit euren eigenen Notizen habt ihr damit bereits ein komplettes Bild der Inhalte der Informatik 1.

Weiterführende Bücher zur Einführung in die Programmkonstruktion mit Racket finder ihr auch hier:

  • Mike Sperber, Herbert Klaeren: Schreibe Dein Programm!

    Schreibe Dein Programm!

    Website zum Buch (komplettes Buch dort frei verfügbar, PDF wird laufend durch die Autoren aktualisiert)

  • Matthias Felleisen, Robby Findler, Matthew Flatt, Shriram Krishnamurthi: How To Design Programs

    How to Design Programs

    MIT Press (2014)

    Website zum Buch (komplettes Buch dort frei lesbar)

Racket (Software)

Die Entwicklungsumgebung DrRacket ist das einzige Stück Software, das ihr für die Programmierung mit Racket auf eurem Rechner installieren müsst. DrRacket kommt komplett mit

  • einem Editor, der die ((klammer)lastige) Syntax von Racket versteht,
  • einem Interpreter/Compiler für Racket,
  • einem Debugger, der Racket-Programme schrittweise ausführt,
  • einem read-eval-print-loop (REPL), der das Experimentieren mit Racket-Programmen perfekt unterstützt.

DrRacket

DrRacket ist frei für alle gängigen Rechnerplattformen (macOS, Linux, Windows) verfügbar. Ab Dezember 2022 setzen wir die Version 8.7 ein. DrRacket ist auf https://download.racket-lang.org zum Download verfügbar.