Skip to content


Introduction to Programming 7.5 credits

Introduktion till programmering
First cycle, D0009E
Course syllabus valid: Autumn 2022 Sp 1 - Present
The version indicates the term and period for which this course syllabus is valid. The most recent version of the course syllabus is shown first.

Education level
First cycle
Grade scale
G U 3 4 5
Computer Science
Subject group (SCB)
Computer Technology
Main field of study
Engineering Physics and Electrical Engineering, Computer Science and Engineering

Entry requirements

In order to meet the general entry requirements for first cycle studies you must have successfully completed upper secondary education and documented skills in English language + Swedish upper secondary school courses Mathematics 3c or Mathematics D.

More information about English language requirements


The selection is based on final school grades or Swedish Scholastic Aptitude Test.

Course Aim
The student should:
  • Demonstrate knowledge of proven experience in design and construction of imperative programs and capacity to plan and carry out advanced tasks in the form of implementation of imperative programs designed to solve specific technical problems.
  • Demonstrate the ability to model problems and to identify and formulate solutions in a modern imperative language.
  • Demonstrate the ability to critically analyze and evaluate technical solutions in the form of existing programs in imperative languages ​​ , as well as predict and evaluate sequences of events in these.

Introduction to program development and development environments. Variables and program states, choice, iteration, recursion. Arithmetic and logic expressions, strings and text processing. Generalisation, parametrisation and function abstraction. Dynamic data structures, the file concept, standard libraries and error handling. References vs. values, the alias problem. Introduction to objects. Problem solving, program structure and documentation.

Each course occasion´s language and form is stated and appear on the course page on Luleå University of Technology's website.
Instruction consists of lectures, seminars and laboratory work. Lab assignments will be associated with a deadline.

If there is a decision on special educational support, in accordance with the Guideline Student's rights and obligations at Luleå University of Technology, an adapted or alternative form of examination can be provided.
Written exam and both oral and written presentation of laboratory assignments.
Passing the lab assigments part of the course requires a passed grade on all individual assignments.

The course can not be included in a degree together with the course D0028E Programming and Digitalisation, D0017E Introduction to programming for engineeris or the old courses SMD134 Object-Oriented Programming, SMD170 Introduction to programming or SMD180 Introduction to Programming.

Fredrik Bengtsson

Transition terms
The course D0009E is equal to SMD180

Literature. Valid from Spring 2018 Sp 3
Alternative 1 - buy:
Titel: Think Python: How to Think Like a Computer Scientist
Author: Allen B. Downey
Publisher: O'Reilly Media
ISBN 9781491939369

Alternative 2 - download:
Titel: Think Python: How to Think Like a Computer Scientist
Author: Allen B. Downey
Publisher: Green Tea Press
Link for download:

Course offered by
Department of Computer Science, Electrical and Space Engineering

CodeDescriptionGrade scaleCrStatusFrom periodTitle
0002Laboratory workU G#3.00MandatoryA07
0003Written examG U 3 4 54.50MandatoryA21

Study guidance
Study guidance for the course is to be found in our learning platform Canvas before the course starts. Students applying for single subject courses get more information in the Welcome letter. You will find the learning platform via My LTU.

Syllabus established
by the Department of Computer Science and Electrical Engineering 28 Feb 2007

Last revised
by Jonny Johansson, HUL SRT 19 Feb 2021