Podprogram v računalniškem programiranju je manjši del večjega kodnega modula, ki ima lastne notranje operacije, zasnovane tako, da služijo celotnemu programu. Podprogram se včasih imenuje funkcija ali metoda, ker vrne določen rezultat kode, ki ga uporablja program. Funkcionalno programiranje zagotavlja vsestransko kodo, ki je razstavljena po delih. Programerji nato izberejo dogodke, ki sprožijo funkcije, ki »poganjajo« uporabniško izkušnjo.
Različni računalniški jeziki uporabljajo funkcije podprogramov na različne načine. Nekateri računalniški programski jeziki uporabljajo model “sklada”, kjer so funkcije ali podprogrami razporejeni v linearni obliki in se uporabljajo glede na njihovo neposredno relevantnost. Drugi jeziki uporabljajo ločene formate za izolacijo funkcij in njihovo razlikovanje med seboj.
Pravilna uporaba podprograma je del tega, kar se programer nauči, ko išče načine, kako ohraniti dostopnost računalniške kode. Kritične strategije, kot je učinkovita uporaba podprograma, se ujemajo z drugimi bolj splošnimi strategijami, na primer, kako uporabiti presledke v kodi ali kako pustiti navodila za spremembe programa s komentarji. Če računalniško kodo uredite na ustrezen način, je drugim programerjem in inženirjem veliko lažje “prebrati” in razumeti, kaj se dogaja v programu.
Vsa koda, ki jo sestavljajo podprogrami in drugi kodni moduli, je pogosto narejena v “izvedljivi” program. Klicanje izvedljive datoteke programa se nanaša na idejo izvajanja ali “zagona” programa. V mnogih primerih je izvedljivi program preprosto sestavljen iz zbirke podprogramov. Ko nekdo “zažene” program, se računalnik zažene z začetno vrstico kode, nato pa se z navodili, zapisanimi v programu, usmeri na druge zaporedne vrstice kode.
Druga glavna prednost podprogramov je naloga odpravljanja napak v programu. Če pride do težave s programom, lahko inženirji vstopijo v kodo in zaporedoma pregledajo vrstice kode, da vidijo, kje se je težava začela. S podprogrami lahko programerji pogledajo vsak kos kode posebej in “počistijo” dele, ki so brez napak, da se osredotočijo na to, kje so se napake pojavile.
Uporaba podprogramov je sestavni del učenja računalniškega programiranja. Podrutine bodo pogosto del akademskega računalništva. Programerji se teh veščin učijo v šoli ali na terenu, da bi ustvarili programe z boljšo splošno funkcijo in preglednostjo.