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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  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%

    View Slide

  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%

    View Slide

  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%

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide