20-00-0072-iv Konzepte der Programmiersprachen

Veranstaltungsdetails

Lehrende: Prof. Dr.-Ing. Ermira Mezini

Veranstaltungsart: Integrierte Veranstaltung

Orga-Einheit: FB20 Informatik

Anzeige im Stundenplan: Konzepte der Program

Fach:

Anrechenbar für:

Semesterwochenstunden: 4

Unterrichtssprache: Englisch

Min. | Max. Teilnehmerzahl: - | -

Lehrinhalte:
Programmierer verbringen sehr viel Zeit damit, ihre Werkzeuge (Editoren, Debugger, IDEs, Bibliotheken, Codegeneratoren, etc.) zu verstehen und zu verbessern, frei nach dem Motto "Es ist eine rauhe Welt dort draussen - benutze jedes Tool und jede technische Spielerei, die du kriegen kannst".

Bei dieser Betrachtung geht häufig verloren, welche Werkzeuge und welche Technologien wirklich grossen Einfluss haben. Die wohl wichtigste Technologie in diesem Kontext ist die Programmiersprache selbst. Sprachen ermöglichen oder verhindern bestimmte Lösungen, sie sparen oder sie kosten Zeit, sie sind im absoluten Zentrum der Softwareentwicklung. Noch wichtiger ist, dass Programmiersprachen direkt unsere Vorstellungskraft bezüglich möglicher Lösungen eines Problems beeinflussen.

Das Ziel dieser Veranstaltung ist, ein tieferes Verständnis von Programmiersprachen zu entwickeln und Fragen wie diese zu beantworten:


  • Was sind die entscheidenden Merkmale einer Programmiersprache?
  • Welche intellektuellen Werkzeuge haben wir, um Programmiersprachen zu studieren?
  • Wie können Programmiersprachen implementiert werden?

Anstelle einer klischeehaften und relativ unnützen Einteilung von Programmiersprachen in funktional, objekt-orientiert, imperativ etc. werden wir Sprachen in ihre Basiskonzepte aufspalten und diese detailliert studieren.

Stoffplan:

  • Die Rolle von Syntax
  • Funktionen
  • Meta-Interpreter
  • Rekursion
  • Verzögerte Auswertung
  • Zustand und Seiteneffekte
  • Continuations
  • Statische Typsysteme
  • Domain-spezifische Sprachen und Makros
  • Aspekt-Orientierte Sprachen

Diploma Supplement: Syntax, Functions, Meta-Interpreters, Recursion, Lazy Evaluation, State and Side Effects, Continuations, Static Type Systems, Aspect-Oriented Languages

Literatur:


Voraussetzungen:
Grundkenntnisse in mindestens einer Programmiersprache (Kenntnisse in Scheme sind hilfreich)

Kleingruppe(n)
Die Veranstaltung ist in die folgenden Kleingruppen aufgeteilt:
  • Konzepte der Programmiersprachen - Gr. 1

    Prof. Dr.-Ing. Ermira Mezini

    Fr, 13. Apr. 2012 [11:40]-Fr, 13. Jul. 2012 [13:20]

Literatur
Termine
Datum Von Bis Raum Lehrende
1 Do, 12. Apr. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
2 Do, 19. Apr. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
3 Do, 26. Apr. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
4 Do, 3. Mai 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
5 Do, 10. Mai 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
6 Do, 17. Mai 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
7 Do, 24. Mai 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
8 Do, 31. Mai 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
9 Do, 7. Jun. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
10 Do, 14. Jun. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
11 Do, 21. Jun. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
12 Do, 28. Jun. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
13 Do, 5. Jul. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
14 Do, 12. Jul. 2012 11:40 13:20 S202/C120 Prof. Dr.-Ing. Ermira Mezini
Übersicht der Kurstermine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
Lehrende
Prof. Dr.-Ing. Ermira Mezini