Cílem předmětu je seznámit žáka s technikou programování v různých programovacích prostředích, naučit ho vyvíjet vlastní aplikace a představit mu způsoby algoritmizace běžných problémů. Důraz je kladen především na výuku praktické schopnosti programovat. Žák bude připraven analyzovat a navrhovat IT řešení jednotlivých problémů, naučí se vytvářet aplikace v jazyku Python a Java a bude schopen používat algoritmy k řešení problémů. Žák se naučí principy objektového programování, bude znát výhody tohoto přístupu a s těmito znalostmi dokáže vytvořit desktopovou aplikaci s grafickým rozhraním. Žák bude znát základní algoritmy běžně používané při programování a naučí se pracovat s připojenou databází a vyvíjet síťové aplikace.