Per cominciare, direi che puoi leggere questo articolo, dove vengono spiegate (a grandi linee e con parole semplici) le differenze tra le varie tipologie di APP (perchè sì: esistono diverse tipologie di APP, ciascuna necessita della conoscenza di linguaggi e tecnologie proprie e non sono intercambiabili): https://it.yeeply.com/blog/scegliere...ide-o-web-app/

Dopo aver letto questo articolo, capirai facilmente che le tue domande non hanno una risposta unica, ma che tutto dipende dal tipo di app che vorrai sviluppare.

PS: non si devono imparare dei programmi (le APP sono programmi!)... quello che serve è saper programmare, quindi imparare un linguaggio (o più probabilmente PIU' linguaggi) di programmazione, che serve, appunto, a scrivere i programmi / le app, quindi conoscere l'ambiente in cui i propri programmi (app) dovranno poter girare.

Dubito fortemente che siano sufficienti "dei corsi" per arrivare a scrivere anche solo un'app che sia minimamente decente.

Ciao.