Current Programming Languages and Paradigms2022HT
|
|
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: Anne Moe