A co povazujete za dolezite, co by mal kazdy programator ovladat, alebo aby sa lisil od inych, bol lepsi.
Formální aparát za tím, co se v programování používá, čili například formální logika, teorie kategorií, relační algebra apod., podle konkrétní oblasti (po řadě pravidly řízené systémy, funkcionální programování, databáze). A obecně - bez ohledu na konkrétní jazyk nebo technologii - vyčíslitelnost a teorie rekurze. Všechno to je o detailech, algoritmus v Javě nebo Basicu sesmolí i začátečník, ale jakmile jde například o efektivitu, optimalizaci a spoustu dalších detailů, jsou nezbytné hlubší - teoretické - znalosti, jejichž akvizice je na celý (profesní) život. Při volbě vhodných materiálů to ale může být i zábava.