Abstract

Increasingly, students enrolled into foundational CS courses such as programming fundamentals include those from many non-CS majors including Data Analytics, Business, Science and Social Sciences. Staff teaching foundational programming courses must therefore cater for varying student backgrounds, cognitive abilities and interests while teaching abstract concepts such as encapsulation, inheritance and polymorphism. In the past assignments played a major role in learning such abstract concepts as they allowed students to construct their own meanings experientially. However, a single assignment in a given domain pitched at an average student cannot cater effectively to students with varying cognitive abilities and backgrounds resulting in poor learning outcomes and student satisfaction. In this paper we report our experience, substantially improving learning outcomes and student satisfaction in a Master's level introductory programming course with weak learning outcomes and poor student satisfaction by offering a choice of assignments. Our novel approach requires designing assignments which take into account the interests of students and their zone of proximal development which determines the extent to which a learner can grasp new concepts. Our pre and post assignment tests and survey feedback clearly show a substantial improvement in learning outcomes and student perception.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call