Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Experiences from an Experiential Learning Course on Games Development

Experiences from an Experiential Learning Course on Games Development

Presentation at SIGCSE 2016 in Memphis, USA

Stephan Krusche

March 05, 2016
Tweet

More Decks by Stephan Krusche

Other Decks in Research

Transcript

  1. [email protected] - www.skrusche.de - @skrusche SIGCSE 2016 Symposium Stephan Krusche,

    Barbara Reichart, Paul Tolstoi, Bernd Bruegge (March 05, 2016) Experiences from an Experiential Learning Course on Games Development
  2. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development 2 Stephan Krusche Paul Tolstoi Prof. Bernd Bruegge Barbara Reichart Chair for Applied Software Engineering Technical University of Munich
  3. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Introduction • Software engineering (SE) is an interactive and collaborative activity [23] that requires the practical application of knowledge [8, 20] • Students are not able to apply SE if they only take traditional lecture-based classes • Several pedagogic theories promote self-guided learning, personal responsibility practical relevance and individualization • Problem-based learning [4] • Cooperative learning [12] • Blended learning [10] • Experiential learning [14] 3
  4. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Course Idea • Apply these learning techniques • Intense practical course (“block course”) over 2 weeks • “Completely concentrate on the course and get something done” • Students learn software engineering and develop a small mobile game • Games development motivates students • Apple’s iOS platform and Xcode IDE provide a great environment • Students can learn the basics in a few days • Students can develop a small mobile game within one week 4
  5. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Course Design • 2 week block course (9 am - 6 pm) in the same room • 2 participation modes • Beginners have knowledge in at least one object-oriented programming (e.g. Java, C++, C#), but did not develop in iOS before (no game development experience) • Tutors: Advanced students prepare and present a tutorial, and help in the game development • Up to 40 participants: 34 beginners and 6 tutors 5
  6. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Learning Objectives • Beginners • Acquire skills in iOS and game programming • Learn a new programming language (Swift) and get to know a new IDE (Xcode) • Learn software engineering techniques such as modeling and design patterns • Improve soft skills through communication and presentation • Experience a small team project and learn the basics of distributed version control • Learn the mechanics of game design • Tutors • Deepen knowledge in iOS and game development • Get first experiences with teaching 6
  7. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Course Activities 7 weeks - 8 - 6 - 1 1 2 +6 Choose topic for interactive tutorial Prepare tutorial Dry run Give tutorial Help students with development Finalize online tutorial Tutor Mode Develop game in teams of 2 students Submit game to AppStore Beginner Mode Attend tutorials Preparation Phase Course Phase Follow-up Phase
  8. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Course Phase Schedule 8 Monday Tuesday Wednesday Thursday Friday First week Introduction to language & platform Advanced language & platform concepts Introduction to game development Advanced game topics Advanced game topics Programming assignment Second week Development of a mobile game in teams of 2 students Intermediate milestone Presentation and demo
  9. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Tutorial session 1) Interactive live tutorial (“hands-on”, 90 - 120 min) • Small chunks (5-10min) of theory, example, exercise, solution and reflection 2) Exercise (30 min) • Larger exercise that builds upon the interactive tutorial • No solution is provided, students solve it on their own • Tutors correct the solution and provide feedback ➡ Each day in the first week includes 3 tutorials 9 Exercise Example Solution Theory Student Reflection
  10. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Tutorials 1) Introducing Swift 2) Your First iOS App 3) Intermediate Swift 4) Storyboarding 5) Advanced Swift 6) Model View Controller 10 7) Introduction to SpriteKit (2D) 8) Advanced SpriteKit 9) SpriteKit Physics 10) Introduction to SceneKit (3D) 11) Advanced SceneKit 12) Special Effects with SpriteKit and SceneKit 13) Sensors for Games 14) Game Center
  11. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Course Philosophy “Tell me and I will forget. 
 Show me and I will remember. 
 Involve me and I will understand. 
 Step back and I will act” — Chinese Proverb [15] (first mentioned by Confucius, adapted by Benjamin Franklin) 11
  12. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Course Details • Pecha Kucha presentations (20 slides x 20 s, automatic transition) • Feedback and presentation videos provided to the students • External graphic designer helps to create more complex sprites with dedicated tools • High interaction between tutors and beginners • Application of rubber duck debugging [11] • Game design mechanisms are taught 
 through iterative discussions and feedback • Live tutorials include optional challenges for 
 students who solve the exercises more quickly • Grading based on final game and final presentation 12
  13. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development 13
  14. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development 14
  15. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Tutorial Evaluation (on average) 15 0 % 20 % 40 % 60 % 80 % 100 % Strongly disagree Disagree Neutral Agree Strongly agree Tutorial objectives were clear Exercise assignments supported tutorial objectives I learned new concepts in the tutorial 63% 33% 4% 58% 38% 4% 67% 25% 8%
  16. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Overall Course Evaluation I 16 0 % 20 % 40 % 60 % 80 % 100 % Strongly disagree Disagree Neutral Agree Strongly agree The order of the covered content was adjusted well Many practical application aspects are presented I could understand the explanations of the teacher 57% 41% 2% 75% 22% 4% 48% 33% 20%
  17. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Overall Course Evaluation II 17 0 % 20 % 40 % 60 % 80 % 100 % Very low Low Medium High Very high The difficulty of 
 the content was … The speed of the delivery was … The required prior knowledge was … 39% 33% 2% 27% 2% 14% 61% 10% 12% 36% 2% 56% 6%
  18. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development 18 games in the AppStore 18
  19. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Example Game: Fluffy Run 19
  20. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Summary: Application of learning techniques • Problem-based learning • Students always solve a particular problem in exercises or in the game development • Cooperative learning • Tutors and beginners work together • Game development in team work • Blended learning • Computer-mediated activities support the course • Immediate feedback about student’s learning progress • Experiential learning • Students experience problems, reflect over them and develop skill 20
  21. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development Conclusion • Students increase their software engineering skills, in particular object oriented programming, game development and soft skills • Games development brings fun into the curriculum! • Students appreciate the great learning experience and have a lot of fun :-) • Each semester, more than 100 students apply for the course • 18 games were submitted into the AppStore • Want to adopt the course? Talk to me or send me a mail: [email protected] 21
  22. [email protected] - www.skrusche.de - @skrusche Thank You! SIGCSE 2016 Symposium

    Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge (March 05, 2016) Experiences from an Experiential Learning Course on Games Development
  23. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development References (1) Apple. Introducing Swift, 2014. https://developer.apple.com/swift. (2) R. Ben-Ari, R. Krole, and D. Har-Even. Differential effects of simple frontal versus complex teaching strategy on teachers’ stress, burnout, and satisfaction. International Journal of Stress Management, 2003. (3) A. Beyer. Improving student presentations pecha kucha and just plain powerpoint. Teaching of Psychology, 2011. (4) D. Boud and G. Feletti. The challenge of problem-based learning. Psychology Press, 1998. (5) B. Bruegge, S. Krusche, and L. Alperowitz. Software engineering project courses with industrial clients. ACM Transactions on Computing Education, 2015. (6) K. Claypool and M. Claypool. Teaching software engineering through game design. In SIGCSE Bulletin, volume 37, pages 123–127. ACM, 2005. (7) A. Collins, J. S. Brown, and A. Holum. Cognitive apprenticeship: Making thinking visible. American educator, 1991. (8) T. M. Connolly, M. Stansfield, and T. Hainey. An application of games-based learning within software engineering. British Journal of Educational Technology, 38(3):416–428, 2007. 23
  24. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development References (9) Y. Eow, W. Ali, R. Mahmud, and R. Baki. Computer games development and appreciative learning approach in enhancing students creative perception. Computers & Education, 54(1):146–161, 2010. (10) R. Garrison and H. Kanuka. Blended learning: Uncovering its transformative potential in higher education. The internet and higher education, 2004. (11) A. Hunt and D. Thomas. The pragmatic programmer: from journeyman to master. Addison-Wesley, 2000. (12) D. Johnson et al. Cooperative Learning: Increasing College Faculty Instructional Productivity. ASHE-ERIC Higher Education Report. ERIC, 1991. (13) R. Jones. Design and implementation of computer games: A capstone course for undergraduate computer science education. In Proceedings of the 31st SIGCSE Technical Symposium, pages 260–264. ACM, 2000. (14) D. Kolb et al. Experiential learning: Experience as the source of learning and development. Prentice-Hall, 1984. (15) F. Korthagen et al. Linking practice and theory: The pedagogy of realistic teacher education. Routledge, 2001. (16) S. Krusche and L. Alperowitz. Introduction of Continuous Delivery in Multi-Customer Project Courses. In Proceedings of ICSE. IEEE, 2014. 24
  25. Stephan Krusche, Barbara Reichart, Paul Tolstoi, Bernd Bruegge: Experiences from

    an Experiential Learning Course on Games Development References (17) S. Krusche et al. Rugby: An agile process model based on continuous delivery. In Proceedings of the 1st Workshop on RCoSE, pages 42–50. ACM, 2014. (18) S. Kurkovsky. Engaging students through mobile game development. In SIGCSE Bulletin, pages 44–48. ACM, 2009. (19) T. Lethbridge et al. Se2004: Recommendations for undergraduate software engineering curricula. IEEE Software, 23(6):19–25, 2006. (20) D. Shaffer. Pedagogical praxis: The professions as models for postindustrial education. Teachers College Record, 106(7):1401–1421, 2004. (21) T. Smith et al. Software engineering senior design course: experiences with agile game development in a capstone project. In Proceedings of the 1st GAS Workshop, pages 9–12. ACM, 2011. (22) E. Sweedyk and R. M. Keller. Fun and games: a new software engineering course. In SIGCSE Bulletin, pages 138–142. ACM, 2005. (23) J. Whitehead. Collaboration in software engineering: A roadmap. FOSE, 7(2007):214–225, 2007. 25