Předmět se zabývá principiálními přístupy k programování a koncepty programovacích jazyků. V jeho rámci se studenti seznámí vedle následovníků klasického procedurálního programování, jako je programování modulární, objektové a událostmi řízené, i s programováním funkcionálním a logickým, jakožto jeho alternativami. Důraz je kladen především na tyto méně obvyklé přístupy, se kterými studenti dosud nejsou obeznámeni.