Research assistant position in computer science: programming languages at Uppsala Universitet
Uppsala, , Sweden -
Full Time


Start Date

Immediate

Expiry Date

29 Sep, 25

Salary

0.0

Posted On

30 Jun, 25

Experience

0 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Critical Thinking, Computer Science, Addition, Programming Languages

Industry

Information Technology/IT

Description

The Department of Information Technology holds a leading position in both research and education at all levels. We are currently Uppsala University’s third largest department, have around 350 employees, including 120 teachers and 120 PhD students. Approximately 5,000 undergraduate students take one or more courses at the department each year.

DESCRIPTION OF THE SUBJECT AREA

The subject area is programming languages. The programming languages research field studies the design, implementation, theory, and application of programming languages. It aims to improve the ways humans express computational ideas and how those ideas are reliably and efficiently executed by machines.
Researchers in programming languages investigate both practical aspects—such as designing safer and more expressive languages—and theoretical foundations, including semantics, logic, and formal methods.

The programming languages group UPLANG at the Department of Information Technology is undertaking research on a number of topics / projects, including:

  • Data-race freedom in Python
  • Floating-point verification
  • Verified compilation of Erlang
  • Memory safety for managed language (Java, Rust), unmanaged languages (C), and infrastructure languages (Verona)

All these projects have various aspects that would benefit from a junior programmer performing various heavy lifting. In the case of Python it is writing C code in the CPython interpreter; in the case of floating-point verification this entails writing Scala code and working on an existing verification tool; for Erlang this entails writing OCaml code in a prototype verifier; and for remaining projects it entails writing C++ code for either OpenJDK or the compiler or runtime of the Verona programming language, or Rust code for the Polonius borrow checker.

REQUIREMENTS

BSc degree in computer science or a foreign degree equivalent to a BSc degree in computer science.
The candidate must clearly document a high degree of self-motivation in the application. In addition. The applicant must be able to work well in a diverse group, be comfortable giving and receiving constructive criticism, and have strong abilities for critical thinking and structured work. Excellent skills in spoken and written English are required. We will also consider the fit for the project and the surrounding research environment.

ADDITIONAL QUALIFICATIONS

Candidates should have expertise in programming languages, ideally in memory safety. Experience with language design and implementation is a plus, but not a requirement as we have the expertise to teach these as part of the project.

Responsibilities

Programming tasks and associated activities to guide the implementation work.

Loading...