A Smart Context-Aware Program Assistant Based on Dynamic Programming Event Modeling | Synapse