TDT4109

Information Technology, Introduction

Autumn

Trondheim

Norwegian

Overview

543 candidates

Average grade

C

3.03

0.16

Pass rate

98%

2 points

Grade distribution
Average over time
Pass rate over time

About this course

Content

The course is an introduction to procedure-oriented programming in Python.

Topics:

  • Variables and data types.
  • Input and output.
  • Control structures: Sequence, conditional program flow and repetitions.
  • Algorithms. Structuring and modularization of programs; functions and modules.
  • Use of libraries and frameworks.
  • Data structures: Lists, tables, text strings, sets, tuples and dictionaries.
  • Persistent storage of data, file input and output, and exceptions.
  • Recursion, sorting and searching.
  • Formulation of algorithms as pseudo code or in flow diagrams.
  • Basic use of Numpy and Matplotlib.
  • Python as a programming environment.
  • Basic strategies for testing and debugging.
  • Version control using git.

Learning outcomes

Knowledge:

  • Hold basic knowledge about the basic elements of procedure-oriented programming.
  • Hold basic knowledge about the process from a problem to a working program.
  • Familiarity with object oriented programming.
  • Familiarity with version control systems.
  • Can explain some common ways that AI can be used in programming.

Skills:

  • Be able to use the basic elements in practical, procedure-oriented programming.
  • Be able to use object-oriented libraries and their method-calls.
  • Be able to use relevant programming tools, like Thonny or other syntax-driven editors with semantic error-tagging and step-wise execution with inspection of variables.
  • For small-scale problems, be able to use the process from analysis, via algorithm design formulated as pseudo code or in flow-charts, before programming in Python, and testing whether the solution works.
  • Be able to carry out small programming projects with a few hundred lines of code.
  • Be able to explain your own code to others and AI, and give constructive feedback to others' code.
  • An ability to reflect on the approprateness of the use of AI as a tool to write code and for learning.

Teaching methods

Group activities, exercise lectures and mandatory exercises.