Bridging Theory and Practice in Programming Lectures With Active Classroom Programmer

Contribution: Active classroom programmer (ACP) is a software tool that places minimal pressure on resources, and is shown to help improve student learning while also encouraging a high degree of engagement both during and outside of programming lectures. Background: Programming is difficult for students, largely due to the myriad of ever-advancing concepts. As students gradually become stronger programmers, both within a course and within their degree, they are constantly presented with new and challenging programming concepts regardless of their expertise. While laboratory sessions provide an excellent opportunity for students to independently practice, this does not help them in the programming process where expert scaffolding is desired. Intended outcomes: ACP is intended to engage students with active programming exercises and develop an inductive approach to learning, focusing on developing problem-solving skills. Application design: Students need guidance in the programming strategy rather than the syntax and peculiarities of the particular programming language. ACP allows students to program alongside instructors as new concepts are introduced. Findings: Experience from two concept-rich programming courses at different levels is presented, demonstrating students engaged with ACP both inside and outside lectures to deepen their understanding of the programming concepts.

[1]  Laurie A. Williams,et al.  In Support of Pair Programming in the Introductory Computer Science Course , 2002, Comput. Sci. Educ..

[2]  Steven R. Vegdahl,et al.  Using visualization tools to teach compiler design , 2000 .

[3]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[4]  Mark J. Sebern,et al.  SE 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering , 2015, Computer.

[5]  Faria Sana,et al.  Laptop multitasking hinders classroom learning for both users and nearby peers , 2013, Comput. Educ..

[6]  N. Hari Narayanan,et al.  Implementing studio-based learning in CS2 , 2010, SIGCSE.

[7]  B. Zimmerman,et al.  Self-Efficacy: An Essential Motive to Learn. , 2000, Contemporary educational psychology.

[8]  Henry MacKay Walker,et al.  A C-based introductory course using robots , 2012, SIGCSE '12.

[9]  M. I. Reid,et al.  Mixed ability teaching: Problems and possibilities , 1981 .

[10]  R. Felder,et al.  Learning and Teaching Styles in Engineering Education. , 1988 .

[11]  Otmar E. Varela,et al.  Active versus passive teaching styles: An empirical study of student learning outcomes , 2009 .

[12]  V. Judson Harward,et al.  Studio-based learning via wireless notebooks: a case of a Java programming course , 2007, Int. J. Mob. Learn. Organisation.

[13]  Henry MacKay Walker A lab-based approach for introductory computing that emphasizes collaboration , 2011, CSERC.

[14]  E. Mazur,et al.  Peer Instruction: Ten years of experience and results , 2001 .

[15]  Jeffrey J. McConnell,et al.  Active and cooperative learning: tips and tricks (part I) , 2005, SGCS.

[16]  E. Mazur,et al.  Peer instruction: Getting students to think in class , 2008 .

[17]  G. Boulton‐Lewis Teaching for quality learning at university , 2008 .

[18]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[19]  Nancy A. Schiller,et al.  Case Studies and the Flipped Classroom , 2013 .

[20]  Michael Yudelson,et al.  How Mastery Learning Works at Scale , 2016, L@S.

[21]  Andrew K. Lui,et al.  Saving weak programming students: applying constructivism in a first programming course , 2004, SGCS.

[22]  Michelle K. Smith,et al.  Active learning increases student performance in science, engineering, and mathematics , 2014, Proceedings of the National Academy of Sciences.

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

[24]  Margaret-Anne D. Storey,et al.  Student Experiences Using GitHub in Software Engineering Courses: A Case Study , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[25]  Patricia Haden,et al.  Parson's programming puzzles: a fun and effective learning tool for first programming courses , 2006 .

[26]  Richard E. Mayer,et al.  The Psychology of How Novices Learn Computer Programming , 1981, CSUR.

[27]  A. Bandura,et al.  Cultivating competence, self-efficacy, and intrinsic interest through proximal self-motivation. , 1981 .

[28]  Miguel A. Brito,et al.  Assessment frequency in introductory computer programming disciplines , 2014, Comput. Hum. Behav..

[29]  Henry MacKay Walker CURRICULAR SYNCOPATIONSLab-based courses with the 3 C's , 2017, Inroads.

[30]  Jeffrey J. McConnell Active and cooperative learning: further tips and tricks (part 3) , 2006, SGCS.

[31]  Mack Thweatt CSI closed lab vs. open lab experiment , 1994, SIGCSE '94.

[32]  E. Barkley Student Engagement Techniques: A Handbook for College Faculty , 2009 .

[33]  J. Biggs,et al.  Teaching For Quality Learning At University , 1999 .

[34]  J. Biggs Enhancing teaching through constructive alignment , 1996 .

[35]  Yoong Cheah Huei Student engagement and learning using an Integrated Student-Lecturer Engagement Design Framework , 2014, 2014 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE).

[36]  Lubna Nafees,et al.  Innovative Management Education Pedagogies for Preparing Next-Generation Leaders , 2015 .

[37]  Beth Simon,et al.  Halving fail rates using peer instruction: a study of four computer science courses , 2013, SIGCSE '13.

[38]  Laurie A. Williams,et al.  Improving the CS1 experience with pair programming , 2003, SIGCSE.

[39]  Yolanda Martinez-Trevino InClass Assistant, enhancing student class participation , 2016, 2016 IEEE Frontiers in Education Conference (FIE).

[40]  Helen H. Hu,et al.  Using POGIL to help students learn to program , 2013, TOCE.

[41]  Timothy Urness,et al.  A Hybrid Open/Closed Lab for CS 1 , 2017, ITiCSE.

[42]  Cornéa van Walbeek,et al.  DOES LECTURE ATTENDANCE MATTER? SOME OBSERVATIONS FROM A FIRST-YEAR ECONOMICS COURSE AT THE UNIVERSITY OF CAPE TOWN , 2005 .

[43]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..