Navigating the Framework Jungle for Teaching Web Application Development

Studies indicate that information systems and computer science programs should place more emphasis on software design topics.Because little significant software in a commercial environment is developed using only programming skills,students without exposure to design patterns and frameworks will be ill-prepared for the workforce. This paper investigates whether PHP-based web development courses should use PHP frameworks to guide program development and how to select an appropriate framework. The paper begins with a literature review of the concept of design patterns, particularly the Model-View-Controller(MVC) pattern. We review studies that argue that design patterns and frameworks are essential pedagogical tools. Finally, we report on our work to select an appropriate framework for incorporation into web development courses as well as the process by which some of the major PHP MVC frameworks were assessed to determine which is best-suited for use in an academic environment.

[1]  Michael R. Wick Kaleidoscope: using design patterns in CS1 , 2001, SIGCSE '01.

[2]  Stuart Hansen,et al.  Refactoring model-view-controller , 2005 .

[3]  Henrik Bærbak Christensen,et al.  Frameworks: putting design patterns into perspective , 2004, ITiCSE '04.

[4]  Rajiv Ramnath,et al.  Teaching object-oriented software design within the context of software frameworks , 2011, 2011 Frontiers in Education Conference (FIE).

[5]  Kevin R. Parker Selecting software tools for IS/IT curricula , 2010, Education and Information Technologies.

[6]  Mark Guzdial,et al.  Computer Science Curriculum 2008: An Interim Revision of CS 2001 , 2008 .

[7]  Jacqueline Hundley A review of using design patterns in CS1 , 2008, ACM-SE 46.

[8]  Michael E. Caspersen,et al.  Frameworks in CS1: a different way of introducing event-driven programming , 2002, ITiCSE '02.

[9]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[10]  Scot F. Morse,et al.  Introducing application design and software engineering principles in introductory CS courses: model-view-controller Java application framework , 2004 .

[11]  Leszek Nowak,et al.  Building PHP Applications with Symfony, CakePHP, and Zend Framework , 2011 .

[12]  Catherine M. Beise Revisiting Database Resource Choice: A Framework for DBMS Course Tool Selection , 2006, AMCIS.

[13]  Michael E. Caspersen,et al.  Frameworks in Teaching , 2008, Reflections on the Teaching of Programming.

[14]  Lisa Lancor,et al.  Analyzing PHP frameworks for use in a project-based software engineering course , 2013, SIGCSE '13.

[15]  Eugene Wallingford Functional Programming Patterns and Their Role in Instruction , 2002 .

[16]  Diana Kao A paradigm for selecting an institutional software , 2000 .

[17]  Guntis Arnicans,et al.  Use of Design Patterns in PHP-Based Web Application Frameworks , 2008 .

[18]  Ryan T. Wright,et al.  IS 2010: Curriculum Guidelines for Undergraduate Degree Programs in Information Systems , 2010, Commun. Assoc. Inf. Syst..

[19]  Irena Petrijevcanin Vuksanovic,et al.  Use of web application frameworks in the development of small applications , 2011, 2011 Proceedings of the 34th International Convention MIPRO.

[20]  Yonglei Tao Component- vs. application-level MVC architecture , 2002, 32nd Annual Frontiers in Education.

[21]  Mira Mezini,et al.  Pi: a Pattern Language , 2009, OOPSLA.