Skip to content

Programming II - Exercises and lecture notes for the course ID1019

Notifications You must be signed in to change notification settings

CasperKristiansson/Programming-II-ID1019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ID1019 Programming II

The course goes through partly the programming techniques that are used in functional programming languages, partly how programmes can be divided into several executing threads and how these can be coordinated. Examples of programming techniques are recursive definitions, non-updateable data structures, functions of higher order and so called “closures”. Coordination of multiple threads is shown, partly through modification of common data structures, partly through message passing between processes.

The course will use a programming language as the main language but also show similarities and differences with other functional languages.

Intended learning outcomes

After passing the course, students should be able to:

  • use recursion, pattern matching and non-modifiable data structures upon implementation in a functional programming language.

For higher grades, the student should also be able to:

  • use functions as first order objects and work with the functions of higher order
  • explain the basics of functional programming, its structure and operational semantics
  • evaluate functions with regard to time complexity
  • use message based multi-threaded programming.