Active Classroom Programmer

Students typically find various programming concepts too abstract, and typically crave for practical engagement early on in the learning process. While most courses supplement theoretical lectures with practical laboratories, the timing is typically too late (usually a week after the concepts were covered in class). It would be advantageous for students to bridge the gap between theory and practice, as both are essential in learning programming concepts.

Active Classroom Programmer (ACP) is a non-intrusive tool that promotes immediate active learning in software programming courses. Developed in the Department of Electrical and Computer Engineering at the University of Auckland, ACP is an Eclipse IDE plugin (also with a web-brower option) that allows instructors to engage students in targeted coding snippets as part of the classroom setting. Instructors upload projects, made available for students to immediately download. During various stages of the lesson, the instructor modifies the code and may ask the students to "fix the bug" or "complete the function"; the students sync with the instructor's version, and complete the exercises in-class.

More features of the tool are available, and are actively being developed, to further enhance the student learning experience.

ACP publications

  • N. Giacaman and G. De Ruvo, "Bridging theory and practice in programming lectures with Active Classroom Programmer", IEEE Transactions on Education, Special Issue on Computing in Engineering, Volume 61, Issue 3, August 2018. 
  • N. Giacaman and O. Sinnen, "Preparing the software engineer for a modern multi-core world", Journal of Parallel and Distributed Computing, available online, 2018.
  • N. Giacaman, S. Kalra and O. Sinnen, "The Active classroom: Students and Instructors Parallel Programming in Parallel", in IEEE Workshop on Parallel and Distributed Computing Education (EduPar-15) held in conjunction with 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS'15), Hyderabad, May 2015.

ACP awards

  • Primary contributor to The Auckland University Engieering Association Teaching Excellence Award (2016)
  • Primary contributor to The University of Auckland Early Career Teaching Excellence Award (2015)
  • The University of Auckland Learning Enhancement Grant (2014)
  • NSF/TCPP CDER Center Early Adopter Award (2014)
  • Primary contributor to The University of Auckland Faculty of Engineering Teaching Excellence Award (2014)

Comments from students that have used ACP (all from anonymous evaluations)

  • "Best way to learn software is by practice. Lecture time is optimal"
  • "I always learn so much more by being practical and doing it myself, so ACP was great for that"
  • "Instantly getting the code from the screen to my PC. Saved me from typing EVERYTHING. I could pay attention, not having to worry about how my code differs from yours for the next activity"
  • "Better engagement in learning, less prone to get distracted and zone out"
  • "Use of the ACP plugin for Eclipse was extremely useful in understanding concepts and playing around with the examples provided"
  • "I enjoyed the coding sessions in class. It is really helpful because a lot of the content we learn is only helpful when we actually code it ourselves but seeing the lecturer code in class gives us a better understanding of what you are talking about and how to actually implement it"


  • Special thanks to Dr Barbara Kensington-Miller and Dr Sean Sturm from CLeaR. ACP started as an ACADPRAC 706 project under their supervision back in 2014, which helped guide the pedagogical contributions of ACP.