Ko se bodoči programer prebije čez čeri prvih dveh programerskih predmetov, je podoben šolarju, ki pozna abecedo in slovnico do te mere, da zmore napisati esej brez napak. Kot je verjetno marsikdo (boleče), ugotovil to žal ni dovolj niti za dober spis in za dobro oceno. In v čem je problem? V tem, da je za dober spis potrebna tudi dobra vsebina in oblika in za njuno izboljšanje je preprosto potrebno veliko brati. Ker je dobre literature preprosto preveč, se je smiselno omejiti na izbor kvalitetnih besedil.

Podobno je, ko nekdo želi napisati lep in učinkovit program. Bistvo tega predmeta je več ali manj enako, saj nas želi učiti lepih in učinkovitih podatkovnih struktur in algoritmov, da bomo razumeli znanje in principe, na katerih so zasnovani in bo to iz nas naredilo boljše programerje. Pri tem predmetu je poseben poudarek še izzivu kako shraniti podatke, da bomo z njimi učinkoviteje rokovali. Tako se bomo učili o skladih, kopicah, različno obarvanih drevesih, kukavičjih gnezdih in še o drugih čudnih stvareh. Vendar pomni, poudarek predmeta ni na učenju algoritmov in podatkovnih struktur, ampak na razumevanju zakaj delujejo ter kakšne so njihove meje. Točno to, kar loči povprečnega računalničarja od dobrega in uspešnega računalničarja.