Gli sviluppatori, soprattutto quando si stanno avvicinando alla programmazione o stanno imparando un nuovo paradigma o framework, possono trovare difficoltà nel tener traccia di quanto hanno imparato mentre programmano o dei ragionamenti che fanno per affrontare un certo problema algoritmico. Questi ragionamenti, inoltre, sono generati tipicamente a voce o scrivendo al di fuori dell'ambiente di sviluppo in uso.
L'obiettivo della tesi è di creare un agente intelligente, nella forma di un agente conversazionale, che possa facilitare e strutturare meglio questa parte importante del processo di sviluppo. In particolare, l'agente potrebbe ascoltare lo sviluppatore, registrare e/o trascrivere i suoi ragionamenti e collegare queste informazioni alle porzioni di codice che vengono scritte. L'agente potrebbe anche supportare questo ragionamento, per esempio ponendo domande adeguate per aiutare il programmatore a sbloccarsi o a imparare più efficacemente. Inoltre, questo approccio potrebbe permettere la condivisione di questi ragionamenti, così che altri sviluppatori possano beneficiarne.
Durante la tesi, questo agente sarà realizzato come un ambiente di sviluppo dedicato (IDE) oppure come un plugin per un IDE esistente. Il contesto del lavoro (per esempio, per quale linguaggio di programmazione, per il web/mobile/desktop, ecc.) sarà invece deciso e pianificato insieme al tesista.