Introduction to Programming (DAT120)

The student learns the basic functioning of a computer. The student learns how to write and run software programs using the Python programming language. In addition, the students should learn fundamental ICTsecurity.

Course description for study year 2022-2023


Course code




Credits (ECTS)


Semester tution start


Number of semesters


Exam semester


Language of instruction



The couse is about learning programming in the Python programming language. The students should get a basic understanding of structured and object-oriented programming. The students should be able to write and run their own programs. An important concept is dividing the task the student is solving into modules and programming each module independently. These modules may be functions or classes. The student should learn basic testing of these modules. The student should learn how their programs can get input from the user. The students should learn how their program can store and retrieve data from files on the computer. The student should learn basic use of the Python data structures list, tuple, set and dictionary.

The student should also learn the basics of how computers work and the basics of information security.

Learning outcome


  • Have a general understanding for how coputers work
  • Have a general understanding of structured programming
  • Have a general understanding of object-oriented programming
  • Know basic terms such as variables, data types, control structures, lists, functions, classes and objects
  • Have a basic understanding of information security


  • The students should be able to solve programming tasks using the Python programming language
  • The students should be able to write and run their own programs using control structures, functions, tables, classes and objects
  • The students should be able to use methods from already existing classes, define their own classes and objects, and be able to establish communication between objects

General competencies

  • The students should be able to plan and code runnable software programs
  • The students should know basic use of version control systems

Required prerequisite knowledge



Form of assessment Weight Duration Marks Aid
Written exam 1/1 4 Hours Letter grades Own handwritten notes 1), Textbook 2)

1) You can bring two A4 sheets with your own notes to the exam. The sheets can be handwritten or computer-written. You are allowed to write on both sides.
2) You are allowed to use one of the two books recommended for the subject during the exam.

This course has a digital exam.

Coursework requirements

Mandatory assignments
There will be 10 exercises in this course. One of the exercises is in information security and must be approved. The two last exercises will be a project in two parts. Both parts of the project need to be approved. For the rest of the exerciaes, you need 6 out of 7 exercises approved.

Course teacher(s)

Course coordinator:

Erlend Tøssebro

Coordinator laboratory exercises:

Per Jotun

Head of Department:

Tom Ryen

Method of work

This course will not have regular lectures. The course will instead have a series of video lectures divided by topic.

All students can get help for the exercises at a room reserved for the purpose between four and eight hours a week. The exercises are approved by presenting them to the teacher or a student assistant during these hours.

Completion of mandatory exercises are to be made at the times and in the groups that are assigned and published. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the exercises at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Failure to complete the assigned exercises on time or not having them approved will result in the students being barred from taking the exam of the course.

Overlapping courses

Course Reduction (SP)
Introduction to Programming (DAT110_1) 7
Object-oriented Programming (DAT100_1) 5

Open for

Civil Engineering, Bachelor in Engineering Computer Science - Bachelor in Engineering Control Engineering and Circuit Design, Vocational Path - Bachelor in Engineering Control Engineering and Circuit Design - Bachelor in Engineering Energy and Petroleum Engineering - Bachelor in Engineering Chemistry and Environmental Engineering - Bachelor in Engineering Mechanical Engineering, Vocational Path, Bachelor in Engineering Mechanical Engineering, Bachelor in Engineering Geosciences Engineering - Bachelor in Engineering Petroleum Technology - Bachelor in Engineering Admission to Single Courses at the Faculty of Science and Technology

Course assessment

Form and/or discussion


The syllabus can be found in Leganto