@andbin, la programmazione multithreading NON E' un argomento che puoi inglobare da qualche altra parte.
Nel senso: i concetti da acquisire sono molti e molto specifici :
thread, thread pooling, oggetti per la sincronizzazione, concorrenza, deadlock, produttore/consumatore, mutex, conditions, signals, events, ...
Poi mancano concetti di programmazione client/server, connessioni TCP/IP, RMI, JDBC, JMS, ...
Altra mancanza: design patterns, che puo' essere spiegata insiemme al concetto di oggetto e di relazione tra oggetti.
Insomma il corso presenta SOLO argomenti di programmazione monothread ed e' solo INTRODUTTIVO.
D'altra parte, se uno non ha mai programmata, e deve imparare un linguaggio di programmazione, da qualche parte deve per pur iniziale.
Altra osservazione: aggiungere Android in un corso del genere server SOLO come specchietto per le allodole.
Android e' un SISTEMA OPERATIVO (vabbe' PARTE di un SO): NON SI IMPARA in giorni, ma in mesi a 8 ore al giorno.
@ironkiller: NON SI IMPARA a programmare in MESI, ma in ANNI. E stiamo parlando di programmazione ancora a livello base, non cose particolarmente sofisticate.
Java e' composto da decine e decine di moduli, se non qualche centinaio (tra Java SE e Java EE).
Ci vogliono ANNI per impararli tutti, anche SOLO considerando quelli di uso piu' comune.
Altra osservazione: dimenticati l'Italiano. Tutta la documentazione te la devi digerire direttamente in inglese.
In italiano trovi il libro intriduttivo, utile la prima settiaman.
Dopo di che devi necessariamente passare all'inglese.