Language and Computers

Undergraduate course

Course description

Objectives and Content

This course treats the formal foundations for the description of language and computational methods for processing language. The aim is to enable students to think in a mathematically precise way when characterizing a language, and to use computer tools and programming to process written language.

The course gives an introduction to formal methods in linguistics. It also gives an introduction in the digital encoding of text, in electronic language resources (in particular, corpora), computer programming (using a language such as Python), language processing and language technology applications. This course is targeted at students in linguistics, language studies, computer science, information science, artificial intelligence and cognitive science.

Learning Outcomes


The candidate can...

  • break down a computational process in smaller steps through algorithmic thinking;
  • explain algorithms and computer programs for basic processing of digital language data, e.g. tokenizing, n-grams, frequencies and other manipulation of text and tables;
  • list and explain important properties of formal languages, automata and grammars;


The candidate can...

  • write and test simple computer programs for basic processing of digital language data, e.g. tokenizing, n-grams, frequencies and other manipulation and visualization of text and tables;
  • write and explain regular expressions for search and replacement in text;
  • obtain text and other information from the www into computer programs;
  • carry out important reasoning about formal languages, automata and grammars;

General competence

The candidate can...

  • critically assess the use of digital data and computer tools in linguistics;
  • use text corpora as empirical material in linguistic problems;
  • use correct mathematical formulas.

ECTS Credits


Level of Study


Semester of Instruction


Place of Instruction

Required Previous Knowledge
Recommended Previous Knowledge
EXFAC00SK or equivalent.
Credit Reduction due to Course Overlap
INFO132 (5 credits), DATA110 (5 credits), INF100 (5 credits), INF620 (5 credits), DIGI111 (2,5 credits).
Access to the Course
This course is open to all who have been accepted as students at the University of Bergen.
Teaching and learning methods

Lectures (about 26 hours per semester), individual study and exercises, including computer programming.

If fewer than five students are registered to a course, the department might reduce the teaching, please see the department's guidelines regarding this on "Mitt UiB". For courses where this is a possibility, the students get information about this at the beginning of the semester, and before the deadline regarding semester registration February 1 / September 1.

Compulsory Assignments and Attendance
The candidate must hand in two obligatory assignments, which must be carried out and approved in the semester of teaching. Obligatory learning activities must be approved before one can take the exam in the course.
Forms of Assessment

3-hour written exam.

The exam assignment will be given in the language of instruction in the course.

The exam can be submitted in Norwegian, Swedish, Danish or English.

Grading Scale
Assessment Semester
Reading List
The literature consists mainly of descriptions of formal and computational methods, including guidelines for and examples of programming, about 400 pages.
Course Evaluation
Evaluation of the offered course will be carried out in accordance with the University of Bergen's quality assessment system.
Examination Support Material
No aids are allowed.