Programų kompiuteriams sudarymas pagal formalias sutartines taisykles.
Programuojami patys įvairiausi uždaviniai: ekonomikos, inžinerijos, matematikos, buhalterinės apskaitos, planavimo ir pan. Sudėtingi uždaviniai programuojami keliais etapais: parengiama užduotis, sudaromas (arba parenkamas) uždavinio sprendimo metodas (algoritmas), rašomas programos tekstas, derinamas (bandomas kompiuteriu), testuojamas, programa tobulinama.
Rengiant užduotį, tiksliai suformuluojamas uždavinys, kurį turės spręsti parašytoji programa, numatoma pradinių duomenų ir rezultatų pateikimo forma. Toliau sudaromas arba parenkamas uždavinio sprendimo algoritmas tai pati svarbiausia dalis, nuo jos priklauso programos efektyvumas, rezultatų tikrumas.
Programos tekstas užrašomas programavimo kalba. Programos tikrinimas, jos klaidų šalinimas ilgas ir sunkus etapas. Tuomet sudaromi kontrolinių duomenų rinkiniai ir jais testuojamos visos programos dalys.
Programavimu vadinama ir didelių kompiuterio programų sudarymas, ir papildomų, dalinių veiksmų (pavyzdžiui, makrokomandų) užrašymas formaliais sutartiniais žymenimis.
Programos pavyzdys (aukšto lygio Paskalio kalba):
program suma;
var a, b, s: real;
begin
read(a, b);
s := a+b;
write(s)
end.
Pavyzdžiai: aspektinis programavimas, automatinis programavimas, funkcinis programavimas, komponentinis programavimas, loginis programavimas, modulinis programavimas, objektinis programavimas, sisteminis programavimas, struktūrinis programavimas, taikomasis programavimas.