UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Mathematik (Bachelor of Science) >>

Principles of Programming Languages (inf2-popl)5 ECTS
(englische Bezeichnung: Principles of Programming Languages)
(Prüfungsordnungsmodul: Vertiefungsmodul Programmiersysteme)

Modulverantwortliche/r: Ronald Veldema
Lehrende: Ronald Veldema


Startsemester: SS 2015Dauer: 1 SemesterTurnus: jährlich (SS)
Präsenzzeit: 60 Std.Eigenstudium: 90 Std.Sprache: Deutsch oder Englisch

Lehrveranstaltungen:


Inhalt:

We will examine the ideas and concepts that are used and seen in programming languages. In this it is NOT important to us how a feature is implemented, but only how to use a language idea/paradigm.
We will examine both current and past programming language concepts and approach the lecture by catagorization over ideas and with lots of languages to examplify the ideas.
Sample language concepts we will examine include: logic, functional, fuzzy logic, statistical, imperative, object-oriented, specification/modeling, annotational dialects, access-oriented, etc, etc, etc. Sample languages that will will look at: Occam, Haskel, Ada, Chuck, C, Spec#, Pascal, Modula, Basic, NuSMV, Sisal, Promela, Python, Icon, sh, etc, etc, etc.
Rationale 1: it turns out that there is no single programming language 'to rule them all'. For each problem domain, there is a programming language that is best suited.
Rationale 2: many applications currently written use multiple interacting programming languages.
Rationale 3: language and thought are tightly interwoven. Using/thinking in another language might give you new insights in how problems can be solved. This course may give you some new views.
Prerequisite: knowledge/experience with at least one programming language.

Lernziele und Kompetenzen:

The students

  • explain different typical properties and means of expression of programming languages, compilers and interpreters

  • name basic concepts (wrt. control flow, data types, modularization, type safety, etc.) of imperative programming languages and their concrete forms in typical languages (e.g. C, Ada, Pascal, Modula)

  • explain the main difference between imperative and object oriented programming and languages

  • illustrate typical concepts of object oriented languages (e.g. classes, inheritance, overloading, polymorphism) and their concrete forms in typical languages (e.g. C++, Java)

  • describe the principles of functional programming languages (referential transparency, type inference, currying, lazy evaluation, pattern matching, monads) and their concrete forms in typical languages (e.g. Miranda, Haskell, Lisp, OCaml)

  • explain how "programs" in logic programming are being evaluated and know the role of unification

  • describe typical problems of and solutions for parallel programming (atomicity, races, synchronization, message passing)

  • select an adequate domain specific language depending on the problem domain to be solved

  • apply aspect oriented programming (e.g. AspectC++, AspectJ) and web languages (e.g. Perl, PHP, JavaScript)

  • explain the purpose and benefits of specification languages (e.g. Coq, JML, OCL, NuSMV)


Weitere Informationen:

Schlüsselwörter: Programmiersprachen

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Mathematik (Bachelor of Science)
    (Po-Vers. 2015w | Bachelorprüfung | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsmodul Programmiersysteme)
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Science)", "Informatik (Master of Science)" verwendbar. Details

Studien-/Prüfungsleistungen:

Principles of Programming Languages (Prüfungsnummer: 765894)

(englischer Titel: Principles of Programming Languages)

Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet
Anteil an der Berechnung der Modulnote: 100.0 %

Erstablegung: SS 2015, 1. Wdh.: WS 2015/2016
1. Prüfer: Michael Philippsen

UnivIS ist ein Produkt der Config eG, Buckenhof