The course aims to enable students to

  • be able to apply algorithmic thinking methodology to solve problems.
  • master the Python programming language and object-oriented programming.
  • gain practice in program development in Python through a significant amount of classroom and homework.
  • recognize problems that can be algorithmised and be able to implement them in Python

Learning outcomes and competences: the student will

Knowledge:

  • Be familiar with the elements of the Python programming language and apply them in practice for program development.

Ability:

  • Be able to formulate problems algorithmically and to implement algorithms efficiently in Python.

Attitude:

  • Strives to develop problem-solving skills,
  • work in an environmentally aware way, prefer electronic data storage and management methods, develop independent learning skills;

Autonomy and responsibility:

  • Continuously develops his/her skills in the field of programming and self-monitoring.

Course content and topics

  • Steps to develop a program in Python. Types of errors, syntactic and semantic errors and how to avoid them.
  • Python program structure, structured programming.
  • Data and variables. Data types. Instructions, loops.
  • Functions. Files.
  • Data structures: strings, lists, dictionaries.
  • Classes, objects, inheritance.
  • Exception handling.