Projects are an integral part of the learning process; all students are required to submit a comprehensive coding project by the end of the course. These projects help students apply the skill they have learned in the classroom to tackle real-world problems.
Projects are done in groups of two, or at the most, three students. Group members are chosen by the instructor on the basis of their competency level and prior performance, as assessed from assignments and quizzes up till the seventh week of the course. This ensures that the hard-working students are matched with other hard-working students, and the not-so-hard-working students get matched with other not-so-hard-working students. We have previously found that pairing a hard-working student with a not-so-hard-working student results in only the former doing most of the work with the later just acting like a dead weight. We don’t want that; we want all students to pull their weight during the executing of their project.
Students are always encouraged to contact the course instructor for help if they get stuck anywhere. They can either come to the instructor office during working hours, or they can ask for remote assistance through TeamViewer if they happen to be off-campus. Either way, the instructor ensures that the students get all the support they need for successful completion of their project.