Three years of design-based research to reform a software engineering curriculum

Most of the research-oriented computer science departments provide software engineering education. Providing up-to-date software engineering education can be problematic, as practises used in modern software development companies have been developed in the industry and as such do not often reach teachers in university contexts. The danger, and often the unfortunate reality, is that institutions giving education in software engineering end up teaching the subject using outdated practices with technologies no longer in use. In this article we describe a three-year design-based research where the goal has been to design and reform a software engineering subtrack within our bachelor curriculum that would make it possible for the students to have strong up-to-date theoretical and practical skills in software engineering without a need to remove any of the existing theoretical aspects.

[1]  L. Schauble,et al.  Design Experiments in Educational Research , 2003 .

[2]  Craig Walls,et al.  Spring in Action , 2004 .

[3]  A. Schoenfeld,et al.  Improving Educational Research:Toward a More Useful, More Influential, and Better-Funded Enterprise , 2003 .

[4]  Abbie Brown,et al.  Design experiments: Theoretical and methodological challenges in creating complex interventions in c , 1992 .

[5]  David Thomas,et al.  The Pragmatic Programmer: From Journeyman to Master , 1999 .

[6]  Mike Cohn,et al.  Agile Estimating and Planning , 2005 .

[7]  Andrew Glover,et al.  Continuous Integration: Improving Software Quality and Reducing Risk (The Addison-Wesley Signature Series) , 2007 .

[8]  Jaakko Kurhila,et al.  Extreme apprenticeship method: key practices and upward scalability , 2011, ITiCSE '11.

[9]  Pekka Abrahamsson,et al.  The set-up of a software engineering research infrastructure of the 2010s , 2010, PROFES '10.

[10]  Scott W. Ambler,et al.  Agile modeling: effective practices for extreme programming and the unified process , 2002 .

[11]  Philip Bell,et al.  On the Theoretical Breadth of Design-Based Research in Education , 2004 .

[12]  Thomas Vikberg,et al.  A software craftsman's approach to data structures , 2012, SIGCSE '12.

[13]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[14]  Robert C. Martin Clean Code - a Handbook of Agile Software Craftsmanship , 2008 .

[15]  Carl Bereiter,et al.  Design Research for Sustained Innovation , 2002 .

[16]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[17]  Jaakko Kurhila,et al.  Management, structures and tools to scale up personal advising in large programming courses , 2011, SIGITE '11.

[18]  Dave Astels,et al.  The RSpec Book , 2012 .

[19]  Jari Lavonen,et al.  Design-Based Research in Science Education: One Step Towards Methodology , 2012 .

[20]  Daniel C. Edelson Design Research: What We Learn When We Engage in Design , 2002 .

[21]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[22]  Jeffrey Sambells,et al.  DOM Scripting: Web Design with JavaScript and the Document Object Model , 2005 .

[23]  Design-Based Research: An Emerging Paradigm for Educational Inquiry , 2003 .

[24]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[25]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[26]  Susan E. Newman,et al.  Cognitive Apprenticeship: Teaching the Craft of Reading, Writing, and Mathematics. Technical Report No. 403. , 1987 .

[27]  Pm Jenkinson,et al.  Cognitive , 2020, Definitions.

[28]  Dave Astels,et al.  The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends , 2010 .

[29]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[30]  Arto Vihavainen,et al.  Extreme apprenticeship method in teaching programming for beginners , 2011, SIGCSE.

[31]  A. Schoenfeld,et al.  Bridging the Cultures of Educational Research and Design , 2009 .

[32]  Pete McBreen Software craftsmanship : the new imperactive , 2002 .

[33]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[34]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .

[35]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[36]  Andrew Begel,et al.  Struggles of new college graduates in their first software development job , 2008, SIGCSE '08.

[37]  David A. Patterson,et al.  Crossing the software education chasm , 2012, Commun. ACM.