Ciao. Se conoscessi approfonditamente il C allora saresti a cavallo, perché ritengo che sia il linguaggio che aiuta meglio a capire come programmare e che mette le basi per la programmazione ad alto livello.

Poi l'Assembler aiuta a capire come agisce esattamente un processo a livello macchina. Da noi ci insegnano l'assembler dell'8086 (16 bit).

Concordo a pieno con infoartenovo, stupenda la sua citazione "Algoritmi + Strutture Dati = Programmi" , infatti se conosci gli algoritmi maggiormente utilizzati tutto il resto va da sé, altrimenti è come andare da Torino a Milano passando per Napoli ( <- es. di non-ottimizzazione ), ché poi in tutti i linguaggi di programmazione gli algoritmi sono sempre gli stessi, cambiano solo le strutture dati e il modo nel quale vi si accede .

Ecco, ti ho fatto il riassuntino della questione