Hide menu

Current Programming Languages and Paradigms

2022HT

Status Active - open for registrations
School IDA-gemensam (IDA)
Division COIN
Owner Annika Silvervarg

  Log in  




Course plan

No of lectures

8 seminars.

Recommended for

Graduate students in cognitive science, computer linguistics, cognitive systems, computer science etc.

The course was last given

A similar version of this course named In-depth Introduction to Seven Programming Languages was given Autumn 2014

Goals

The course consist of two parts with two different goals:

A series of seminars has the goal of providing an orientation into some of the most critical programming models of our time: dynamic typing, prototype systems, pattern matching, pure functional programming, concurrency, fault tolerance, actor model and versioning. This is done through the introduction of several programming languages that illustrates these phenomena.

A series of optional assignments with nontrivial problems using techniques that show off the language’s most important features has the goal of providing more practical knowledge of how to use the different programming languages.

Prerequisites

One (or preferable more) programming languages.

Organization

The course is based on the books "Seven languages in seven weeks" by Bruce Tate and "Seven More Languages in Seven Weeks" by Bruce Tate, Fred Daoud, Jack Moffitt, Ian Dees.

Each programming language (a chapter) is treated during a seminar.
Seminars are held every second week and mandatory to attend by course participants.

The aim is to give an overview of features and techniques in the different programming languages, as well as provide time for discussion about the strength and weaknesses of the different languages, and their suitability for different applications.
For those who that want to deepen their knowledge, there are assignments for each language that should be done before the seminar. All participants are expected to do the assignments for at least two different languages. The participants get to choose the programming languages they want to do the assignments for.

Contents

The course covers 7 programming languages:
Four of them are Ruby, Scala, Elm and Julia.
The other languages are chosen based on participants preferences from Clojure, Haskell, Elixir, Lua, Prolog and Io.

Literature

"Seven languages in seven weeks" by Bruce Tate
"Seven More Languages in Seven Weeks" by Bruce Tate, Fred Daoud, Jack Moffitt, Ian Dees

Lecturers

Annika Silvervarg

Examiner

Annika Silvervarg

Examination

Active participation in seminars and completed assignments for at least two of the programming languages.

Credit

Seminars and assignments for 2 programming languages 4 credits.
1 additional credit for each programming language where the assignments are completed.
Thus the course can range from 4 hp to 9 hp.

Comments


Page responsible: Director of Graduate Studies