Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
TME136 - Programming and algorithmic thinking
Programmering och algoritmiskt tänkande
Syllabus adopted 2020-02-10 by Head of Programme (or corresponding)
Owner: TKMAS
4,0 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: First-cycle
Major subject: Mechanical Engineering, Mathematics

Teaching language: Swedish
Application code: 55139
Open for exchange students: No
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0114 Written and oral assignments 1,5 c Grading: UG   1,5 c    
0214 Examination 2,5 c Grading: TH   2,5 c   29 Oct 2020 pm J_DATA   05 Jan 2021 am J_DATA,  24 Aug 2021 am J_DATA

In programs



Henrik Ström

  Go to Course Homepage


General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

No formal prerequisites.


Computers are today one of the engineer's most important tools for computation, visualization, writing and documentation. By letting the computer carry out the simple but time-consuming tasks, the engineer can focus on the more complex and difficult tasks in order to be more productive. Additionally, an important part of learning programming is the training in systematic problem-solving, which is perhaps the most important skill of an engineer.

Learning outcomes (after completion of the course the student should be able to)

Use the computer as a tool to solve and numerically analyze engineering problems in subsequent courses and in industry.
Develop own programs from problem descriptions.
Interpret and extend existing programs.
Learn more by actively using programming and algorithmic thinking in other situations.


Definitions and concepts: Hardware-software-user. Variables, scalar, vectors and matrices. Predefined variables and functions. Computer arithmetic and machine precision. Characters and strings. Scripts and function files. Programming: Program development, algorithms, abstraction, pseudo code, conditional statement, loops, logical and relation operators, debugging, program structure, program comments, efficiency, read from and write to file, solution of linear systems of equations, graphs, visualization.

The course focuses on basic skills that enable many different types of work, and is therefore related mainly to number 4 (Quality education) and 5 (Gender equality) of the UN Sustainable Development Goals.


Lectures and computer classes. In order to be learn programming, hands-on training in front of the computer is a necessity. Here, the mandatory hand-ins play a key role where the students are given the task to develop a few programs on their own.


"MATLAB - A practical introduction to programming and problem solving" av Stormy Attaway, fifth edition

Examination including compulsory elements

At the end of the course there is an exam which is done individually in front of the computer, where the students is assessed. The exam is graded and consituties the grade for the whole course. In order to get a passing grade, the mandatory assignments must be completed. The course element assignment gives only a passing grade.

Page manager Published: Thu 04 Feb 2021.