@linsara I think there is a missing relationship between tables, I will mention the detailed steps I use to test
<b>get student with id 1</b>
student1 = Student.find(1)

<b>get the course with id 1</b>
course1 = Course.find(1)

<b>add the course to the list courses of student1</b>
student1.courses << course1
(I think this should solve the problem, I forgot to mention it in the description above)

<b>add record in TrackProgression table</b>
t = TrackProgression.new
t.level = 1
t.student_id = 1
t.topic_id = 1
t.save

Now when you sign in as 1@student.com you and navigate to profile you should see a table row containing "Problem 1 	Course1 - Topic1 - Track 1".
You can add different problems the same way. I will update the description above with the steps I forgot to mention.