Skip to content


Introduction to programming for engineers 7.5 credits

Introduktion till programmering för ingenjörer
First cycle, D0017E
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

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

After the course, the student will be able to

  • 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, text processing and memory management.
  • Generalization, parameterization and function abstraction.
  • Dynamic data structures, the file concept, standard libraries and error handling.
  • References and pointers vs. values.
  • 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.

The teaching and learning activities in this course consist of lectures, tutorials, and laboratory work. All these activities happen at least once each week during the learning period.

Lectures deal with theoretical aspects of the subject. They are either delivered in class or online. The lectures maybe delivered as a recorded material too.

Tutorials are instructor guided practical sessions. During a tutorial session, few programming problems are given to the class, for each question 5 – 10 minutes is given for the class to try the solution (usually by writing in a notebook). After this, the instructor then shows how to solve the problem, linking it to the theory from the lectures. The tutorials are held in a classroom.

Laboratory work consists of actual programming done on a computer in a laboratory. The students will solve fixed chapter exercises from the course/literature book. The laboratory work is marked. Please see the Examination section for more details.

Optionally, during the course, a guest lecture may be held by a company in order to demonstrate how software development is performed in the industry.

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.
There will be two parts in the exam, Laboratory work and written exam.

Laboratory work consists of solving book exercises and solving two assignments with report writing. Both book exercises part and the assignment part may include an oral presentation to a lab supervisor.


The course can not be included in a degree together with the course D0009E Introduction to programming, D0028E Programming and digitalisation, or the old courses D0014E ANSI-C programming, SMD134 Object-Oriented Programming, SMD170 Introduction to programming or SMD180 Introduction to Programming.

Transition terms
The course  is equal to the course D0009E and SMD180

Sandeep Patil

Literature. Valid from Autumn 2015 Sp 2 (May change until 10 weeks before course start)
Stephen G Kochan, Programming in C (4th Edition) 2014, ISBN: 9780321776419
Stephen G Kochan, Programming in C (3rd Edition), ISBN-13: 075-2063326664
ISBN-10: 0672326663

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

CodeDescriptionGrade scaleCrStatusFrom periodTitle
0003Written examG U 3 4 54.50MandatoryA21
0004Laboratory workG U 3 4 53.00MandatoryA21

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 Jonny Johansson, HUL SRT 13 Mar 2012

Last revised
by Jonny Johansson, HUL SRT 12 Feb 2021