CS for All: Catering to Diversity of Master's Students through Assignment Choices

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.

[1]  A. Assor,et al.  When Choice Motivates and When It Does Not , 2007 .

[2]  Margaret Hamilton,et al.  Supporting Diverse Novice Programming Cohorts through Flexible and Incremental Visual Constructivist Pathways , 2015, ITiCSE.

[3]  Kleanthis Thramboulidis A Sequence of Assignments to Teach Object-Oriented Programming: a Constructivism Design-First Approach , 2003, Informatics Educ..

[4]  Michael D. Ernst,et al.  A Data Programming CS1 Course , 2015, SIGCSE.

[5]  Liz Riley,et al.  E-Learning and Constructivism: From Theory to Application , 2009 .

[6]  A. Silva,et al.  Becoming Critical: education, knowledge and action research , 2017 .

[7]  S. Tobias Interest, Prior Knowledge, and Learning , 1994 .

[8]  S. Hidi,et al.  The Role Of Interest In Learning And Development , 1994 .

[9]  Erika A. Patall,et al.  The effectiveness and relative importance of choice in the classroom. , 2010 .

[10]  Jaroslav Porubän,et al.  Learning object-oriented paradigm by playing computer games: concepts first approach , 2014, Central European Journal of Computer Science.

[11]  Jeffrey Edgington,et al.  A games first approach to teaching introductory programming , 2007, SIGCSE.

[12]  Gregory Schraw,et al.  Teacher beliefs about instructional choice : A phenomenological study , 2000 .

[13]  Kleanthis Thramboulidis A Constructivism-Based Approach to Teach Object- Oriented Programming , 2003 .

[14]  Linxiao Ma,et al.  Investigating and improving novice programmers’ mental models of programming concepts , 2007 .

[15]  J. Bergold,et al.  Participatory Research Methods: A Methodological Approach in Motion , 2012 .

[16]  Mordechai Ben-aft,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[17]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[18]  Tony Jenkins,et al.  Diversity and Motivation in Introductory Programming , 2002 .

[19]  Daniel C. Edelson,et al.  The Interest-Driven Learning Design Framework: Motivating Learning through Usefulness , 2004, ICLS.

[20]  Nicole Anderson,et al.  Learning computer science in the "comfort zone of proximal development" , 2013, SIGCSE '13.

[21]  Nadia Kasto,et al.  Learning to Program: The Development of Knowledge in Novice Programmers , 2016 .

[22]  Tony Jenkins A participative approach to teaching programming , 1998, ITiCSE '98.