Без фокус на специфичен програмски јазик, или на специфичен домен од програмирање, низ практични примери и аналогии ќе се претстави основниот домен на проблеми кои компјутерското програмирање е наменето да ги решава. Ќе се дискутира мајндсетот кој треба да се развие за да се решаваат проблеми на начин кој може да биде изразен во форма на софтвер. Претходно познавање од програмирање или компјутерски науки не е потребно, курсот е наменет за апсолутни почетници. Нема да научите да програмирате, но ќе научите како да размислувате на програмерски начин, што е најважната основа за понатамошна специјализација.