Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Course INF-02-01-K-2

Foundations of Programming (4V+4U, 10.0 LP)

Course Type

SWS Type Course Form CP (Effort) Presence-Time / Self-Study
- K Lecture with exercise classes (V/U) 10.0 CP 188 h
4 V Lecture 56 h
4 U Exercise class (in small groups) 56 h
(4V+4U) 10.0 CP 112 h 188 h

Basedata

SWS 4V+4U
CP, Effort 10.0 CP = 300 h
Position of the semester 1 Sem. in WiSe
Level [2] Bachelor (Fundamentals)
Language [DE] German
Lecturers
Area of study [INF-PFL] Mandatory Modules
Livecycle-State [NORM] Active

Possible Study achievement

  • Verification of study performance: proof of successful participation in the exercise classes (ungraded)
  • Details of the examination (type, duration, criteria) will be announced at the beginning of the course.

Contents

Syntax of programming languages:
  • Concrete and abstract syntax
  • Static and dynamic semantics
  • Truth trees
  • Regular expressions and grammars
  • Lexical analysis and syntax analysis

Functional programming concepts:

  • Primitive data types
  • Records and variants
  • Declarations
  • Higher order functions
  • Parametric polymorphism

Imperative programming concepts:

  • Input and output
  • Control structures
  • References
  • Exception handling
  • Basics of memory management

Object-oriented programming:

  • Objects and classes
  • Encapsulation and access control
  • Inheritance
  • Subtype polymorphism
  • Modularisation

Algorithms:

  • Basic search and sort algorithms
  • Data structures: lists, arrays and trees
  • Algorithmic problem solving

Correctness and termination:

  • Testing
  • Specification: invariants, pre- and post conditions
  • Induction

Literature

  • FANCHER, Dave. The Book of F#: Breaking Free with Managed Functional Programming. No Starch Press, 2014.
  • HANSEN, Michael R.; RISCHEL, Hans. Functional programming using F. Cambridge University Press, 2013.
  • PICKERING, Robert; DE LA MAZA, Michael. Beginning F♯. Apress, 2009.

Materials

  • transparencies for downloading (as PDF)
  • script for downloading (as PDF)

Requirements for attendance (informal)

None

Requirements for attendance (formal)

None

References to Course [INF-02-01-K-2]

Module Name Context
[INF-02-01-M-2] Foundations of Programming P: Obligatory 4V+4U, 10.0 LP
[INF-02-40-M-2] Programming 1 P: Obligatory 4V+4U, 10.0 LP
[INF-82-53-M-2] Foundations of Programming P: Obligatory 4V+4U, 10.0 LP