Text this: Personalized Worked Example Generation from Student Code Submissions using Pattern-based Knowledge Components