Declarative Data Science

@ Leiden University

Supervisor: Siegfried Nijssen

Project Summary

How are tasks in data mining, machine learning and data science best implemented? Languages such as Python, R, Matlab and C++ are popular choices. Are these languages however the easiest and the most scalable? Is it possible to develop systems that are easier to program? This project aims to address this question by studying the use of declarative languages in data science. A declarative language is a language in which a programmer can describe what the computer needs to find, instead of describing the details of how a computer needs to perform a calculation.

The project aims to study the relationships between several declarative programming paradigms that already exist, and which all already have clear relationships to data science:

Are you interested in programming languages, and the relationships between these programming paradigms in particular? Then don't hesitate to apply.

As a PhD student your tasks will be to:

  • study the concepts underlying these programming systems;
  • develop new programming systems;
  • implement use cases for these programming systems.

For more information about data science, big data, data mining and analytics also take a look a the KDNuggets website, which recently surveyed the popularity of software in this area.


  • The position allows for fundamental research - no obligatory collaboration with industry
  • Funding for traveling abroad and collaborating internationally is larger than usual

Selection Criteria

Successful candidates will:

  • have a master in computer science or artificial intelligence;
  • have experience with constraint programming, probabilistic programming, reactive programming or logic programming;
  • have an interest in data mining;
  • have an interest in programming languages;
  • have an interest in algorithms;
  • value fundamental research;
  • be willing to work in an international environment, including long-distance collaborations.

Terms and conditions

We offer a full-time 4 year position with a go/no-go decision at the end of year 1. Salaries range from €2,174,- to € 2,779,- gross per month (pay scale P, in accordance with the Collective Labour Agreement for Dutch Universities). There is NO tuition fee. Leiden University offers an attractive benefits package with additional holiday (8%) and end-of-year bonuses (8.3 %), training and career development and sabbatical leave. Our individual choices model gives you some freedom to assemble your own set of terms and conditions. Candidates from outside the Netherlands may be eligible for a substantial tax break. All our PhD students are embedded in the Leiden University Graduate School of Science. Our graduate school offers several PhD training courses at three levels: professional courses, skills training and personal effectiveness. In addition, advanced courses to deepen scientific knowledge are offered by the research school.

Leiden University is strongly committed to diversity within its community and especially welcomes applications from members of underrepresented groups.


Inquiries can be made to Dr. Siegfried Nijssen (


To apply for this vacancy, please send an email to Dr. Siegfried Nijssen ( Please ensure that you send the following additional documents quoting the vacancy number:

  • a resume;
  • a motivation letter specific for this position;
  • your master's thesis, if available;
  • any publications and other materials that may help us to assess your qualifications.
This position is available till a good candidate has been found.

As advertised on KDNuggets.