Introduction to Programming 7.5 credits

Introduktion till programmering
First cycle, D0009E
Course syllabus valid: Spring 2021 Sp 3 - 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.

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

Last revised
by Jonny Johansson, HUL SRT 18 Jun 2020

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 (specifik entry A8). Or: Swedish upper secondary school courses Mathematics D (specifik entry 8)

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.

Instruction consists of lectures, seminars and laboratory work. Lab assignments are reported in writing or by demonstration, and may be associated with a deadline. Homework assignments that render credit marks on the subsequent written exam may also occur during the course.

Written exam as well as written or oral lab assignment reports. Passing the lab assignment 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, D0017D Introduction to programming for engineeris or the old courses SMD134 Object-Oriented Programming or SMD170 Introduction to programming.

Fredrik Bengtsson

Transition terms
The course D0009E is equal to SMD180

Literature. Valid from Spring 2018 Sp 3 (May change until 10 weeks before course start)
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 scaleHPStatusFrom periodTitle
0001Written examG U 3 4 54.50MandatoryA07
0002Laboratory workU G#3.00MandatoryA07

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.