IT6209 - Python for teachers: Applied programming


Course content

The course focuses on fundamental programming ideas and relatively more advanced programs and applications within pertinent academic areas. All participants must submit case ideas that will serve as the foundation for four half-day seminars on programming applications in their subject areas.

Our experience from similar courses for teachers shows that programming concepts are not necessarily challenging to learn individually, but the application is the challenge. Therefore, we think that the seminars should emphasize programming applications. Self-study is planned on parts of the syllabus (basic programming concepts), and the participants are expected to immerse themselves in the study material that is made available in the course. In the seminars, emphasis is placed on application areas through lectures and group work.

The purpose of the course is to increase the participants' opportunities to use more and different aspects of programming in their teaching. The course is designed as project work where participants are allowed to immerse themselves in applications that are relevant to their teaching and subjects. In groups, the participants choose a case to be implemented in their teaching. In order to pass, the participants must submit a design for a new artefact that can be used in their teaching.

Basic concepts: Variables and data types, operators, input and output, sequence, selection, repetition, functions, modules and libraries.

Data structures: Lists, tables, text strings, quantities, tuples, entries (dictionary), sorting and searching.

Data storage and error handling: File management, persistent information storage, and exception handling.

Data analysis and visualization: Representation of numbers, processing and visualization of measurement data, and iterative equations solution. Basic understanding and use of the modules NumPy and Matplotlib.

Applications: The areas of programming application focused on depending on the participants' wishes and case descriptions. Some areas that may be relevant to get into: Numerical derivation and integration, solving equations, simulation of dynamic systems, optimization, model adaptation to data, statistics and probability calculus, signal filtering and automatic regulation

Development environment: Jupyter Notebook is used as a programming environment. Everyone gets access to the Jupyter server at NTNU.

Learning outcome

General competence

The course participants can include basic programming in their teaching: this means that the course participants, after the course:

  • Can carry out smaller programming projects after the course.
  • For small-scale problems, one can use the analysis process, find an algorithm formulated as pseudocode or flowchart, and then program a solution and test whether it works in Python.

The participants need sufficient knowledge and skills to achieve the competence goal described below.


To achieve the competence goals, the participants need sufficient knowledge of

  • The basic elements of procedure-oriented programming
  • The process from problem to working program includes knowledge of techniques and methods for testing and troubleshooting in simple programs.


In addition, participants should be able to:

  • use data structures, control structures and decomposition in functions and modules to create well-structured and functional code
  • use key numeric methods to solve computational problems, and import and use numeric library functions in Python
  • Use relevant programming tools, such as Jupyter Notebooks or other syntax-driven editors with semantic error marking and step-by-step execution with a variable inspection.

Learning methods and activities

Programming fundamentals will be available for independent study. Video and other learning resources are made available, and participants are guided on relevant topics they must delve into before each seminar. The seminars will consist of lectures, reviews, and supervision of cases and group work.

Discussion forum: Mattermost is used as a discussion channel to get support from instructors, learning assistants and other participants.

Further on evaluation

The assessment consists of a project (passed/failed)

Repeat at the subsequent completion of the course.

Specific conditions

Admission to a programme of study is required:
Continuing Education in Technology (TKIMEEVU)

Course materials

"Python for realfag"

ISBN 9788245036695

Authors: Haugen, Finn Lysaker, Marius

More on the course



Version: 1
Credits:  7.5 SP
Study level: Further education, higher degree level


Term no.: 1
Teaching semester:  SPRING 2024

Language of instruction: English, Norwegian

Location: Trondheim

Subject area(s)
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU