Info 1 (Praktische Informatik 1: Deklarative Programmierung)

Lecture
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 31. Oktober 2022

Klausur
(im Februar 2023, Details folgen)

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

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 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. Download Racket today:

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)