Expressing Computer Science Concepts Through Kodu Game Lab - GitHub Pages

1y ago
7 Views
2 Downloads
2.60 MB
50 Pages
Last View : 15d ago
Last Download : 3m ago
Upload by : Grant Gall
Transcription

Introduction Analysis Conclusions Expressing Computer Science Concepts Through Kodu Game Lab Kathryn T. Stolee Teale Fristoe March 10, 2011 Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 1 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Challenge Learning to program is hard Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 2 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Challenge Learning to program is hard Teaching programming is hard, too Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 2 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Motivation Educational Programming Languages: Useful to introduce novices to programming Commonly used in a classroom setting Used to create video games, simulations, animations, art . Focus is on ease-of-use and attractiveness Many examples: Alice, Greenfoot, Scratch . Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 3 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions About Kodu A video game for creating 3d video games Kodu Game Lab Designed to compete with modern console games Available on Xbox or PC Uses an Xbox controller as the interface for playing and programming 110,000 installs in 150 countries Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 4 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions How Kodu is Different Integrates common gaming concepts (e.g., scoring, camera positioning, termination conditions) Kodu World Programming model does not resemble syntax and abstraction level of mainstream languages Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 5 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions How Kodu is Different Integrates common gaming concepts (e.g., scoring, camera positioning, termination conditions) Kodu World Programming model does not resemble syntax and abstraction level of mainstream languages Little is known about how skills learned in Kodu may transfer to more traditional languages Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 5 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Interacting with Kodu Play Mode Play the game Test or simulate programming logic Edit Mode Modify terrain and objects Program characters Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 6 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Interacting with Kodu Play Mode Play the game Kodu World Test or simulate programming logic Edit Mode Modify terrain and objects Program characters Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 6 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Interacting with Kodu Play Mode Kodu Tree Turtle Apple Play the game Test or simulate programming logic Edit Mode Modify terrain and objects Program characters Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 7 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Kodu Language Language is a high-level, visual, and event-driven Statements take the form of ’When – Do’ clauses Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 8 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Kodu Language Language is a high-level, visual, and event-driven Statements take the form of ’When – Do’ clauses Rule Condition Action Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 8 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Kodu Language Language is a high-level, visual, and event-driven Statements take the form of ’When – Do’ clauses Rule Condition Action Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 8 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Kodu Language Language is a high-level, visual, and event-driven Statements take the form of ’When – Do’ clauses Rule Condition Action Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 8 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Kodu Language Language is a high-level, visual, and event-driven Statements take the form of ’When – Do’ clauses Rule Condition Action Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 8 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: User Perspective Programming involves visual composition of tiles Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 9 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Rule Prioritization Rules are ordered and organized into pages Conflicting Rules Conflicting rules resolve action using order Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 10 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Programming: Page Usage Characters can have up to 12 pages of programming Switching pages changes character behavior (e.g., a power-up) Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 11 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Big Question Big Question Can traditional computer science concepts (e.g., boolean logic, objects, variables, iteration, control flow) be expressed in Kodu? Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 12 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Research Questions RQ1: Which computer science concepts can be expressed through the Kodu Language? RQ2: How often does each computer science concept appear in the programs created by the Kodu community? Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 13 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Research Questions RQ1: Which computer science concepts can be expressed through the Kodu Language? Kodu Language Analysis RQ2: How often does each computer science concept appear in the programs created by the Kodu community? Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 13 / 26

Introduction Analysis Conclusions Motivation Kodu Programming Research Questions Research Questions RQ1: Which computer science concepts can be expressed through the Kodu Language? Kodu Language Analysis RQ2: How often does each computer science concept appear in the programs created by the Kodu community? Analysis of 350 Kodu Programs Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 13 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs CS Concepts in Kodu Obviously Supported: Objects: Encapsulation, Creation, Deletion Control Structures: if – then, iteration Variables: Global, Local, Random Boolean Logic: Negation Subtly Supported: Objects: Cloning (class system) Boolean Logic: Conjunction, Disjunction Control Flow: Cycles, Fan-in, Fan-out Yet to be Investigated: Function calls . Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 14 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs CS Concepts in Kodu Obviously Supported: Objects: Encapsulation, Creation, Deletion Control Structures: if – then, iteration Variables: Global, Local, Random Boolean Logic: Negation Subtly Supported: Objects: Cloning (class system) Boolean Logic: Conjunction, Disjunction Control Flow: Cycles, Fan-in, Fan-out Yet to be Investigated: Function calls . Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 14 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Negation not A Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 15 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Negation 1 when A do B not A 2 when not A do C Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 15 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Negation 1 when A do B not A 2 when not A do C Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 15 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Conjunction Condition 1 when A do B 2 when C do D 3 when always do E Action Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 16 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Conjunction Condition A C D Action Kathryn T. Stolee, Teale Fristoe 1 when A do B 2 when C do D 3 when always do E Computer Science Concepts in Kodu Game Lab 16 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Conjunction Condition A C D Action A B E Kathryn T. Stolee, Teale Fristoe 1 when A do B 2 when C do D 3 when always do E Computer Science Concepts in Kodu Game Lab 16 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Conjunction Condition A C D Action A B E Kathryn T. Stolee, Teale Fristoe 1 when A do B 2 when C do D 3 when always do E Computer Science Concepts in Kodu Game Lab 16 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Disjunction A C B Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 17 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Disjunction 1 when A do B A C B 2 when C do B Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 17 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic: Disjunction 1 when A do B A C B 2 when C do B Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 17 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Expressions of Control Flow Pages represent character state in terms of behavior Switching pages can create non-linear program flow Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 18 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Expressions of Control Flow Pages represent character state in terms of behavior Switching pages can create non-linear program flow Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 18 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Expressions of Control Flow Pages represent character state in terms of behavior Switching pages can create non-linear program flow s 1 Kathryn T. Stolee, Teale Fristoe bump coin bump tree 2 Computer Science Concepts in Kodu Game Lab 18 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Control Flow Patterns s 1 2 3 Cycles (iteration) 4 Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 19 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Control Flow Patterns s 1 2 3 Cycles (iteration) 4 s 1 2 3 Fan-in (reuse) 4 Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 19 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Control Flow Patterns s 1 2 3 Cycles (iteration) 4 s 1 2 3 Fan-in (reuse) 4 s 1 2 3 Fan-out (conditional flow) 4 Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 19 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Research Questions RQ1: Which computer science concepts can be expressed through the Kodu Language? Kodu Language Analysis RQ2: How often does each computer science concept appear in the programs created by the Kodu community? Analysis of 350 Kodu Programs Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 20 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Profile for Kodu Program 346 programs from the XBox community (13 months of data) Property Rules Total Tiles Programmed Characters Kathryn T. Stolee, Teale Fristoe Average 109 497 18 Median 54 231 12 Computer Science Concepts in Kodu Game Lab 21 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic in the Community CS Concept Logical Not If-Then-Else Statements Logical And Condition1 Logical And Action1 Logical Or # Games 61 29 17 13 208 % Games 17.6% 8.4% 20.9% 16.0% 59.9% 1 The indentation feature needed for the logical and was introduced on March 19, 2010. These values consider only the 81 (23.4%) games published after that date. Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 22 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Boolean Logic in the Community CS Concept Logical Not If-Then-Else Statements Logical And Condition1 Logical And Action1 Logical Or # Games 61 29 17 13 208 % Games 17.6% 8.4% 20.9% 16.0% 59.9% 1 The indentation feature needed for the logical and was introduced on March 19, 2010. These values consider only the 81 (23.4%) games published after that date. Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 22 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Control Flow in the Community CS Concept 2 States Cycles Fan-in 1 Fan-out 1 # Games 202 166 174 123 % Games 58.4% 47.9% 50.3% 35.5% Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 23 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Control Flow in the Community CS Concept 2 States Cycles Fan-in 1 Fan-out 1 # Games 202 166 174 123 % Games 58.4% 47.9% 50.3% 35.5% Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 23 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Control Flow in the Community CS Concept 2 States Cycles Fan-in 1 Fan-out 1 # Games 202 166 174 123 % Games 58.4% 47.9% 50.3% 35.5% Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 23 / 26

Introduction Analysis Conclusions Language Analysis Boolean Logic Control Flow Analysis of Programs Threats to Validity Internal Relationship between expressing concepts in code and learning those concepts is unverified. External Programs were self-selected for uploading to Xbox community and may not be representative of the broader population. Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 24 / 26

Introduction Analysis Conclusions Conclusion What We Learned: Many fundamental computer science concepts can be expressed in Kodu Users make extensive use of the language and complex language constructs Questions Left Unanswered: Are Kodu users internalizing the computer science concepts that appear in their games? (Requires evaluation) Can Kodu be used to teach computer science? Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 25 / 26

Introduction Analysis Conclusions Expressing Computer Science Concepts Through Kodu Game Lab Kathryn T. Stolee Teale Fristoe kstolee@cse.unl.edu teale@soe.ucsc.edu March 10, 2011 Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 26 / 26

A video game for creating 3d video games Designed to compete with modern console games Available on Xbox or PC Uses an Xbox controller as the interface for playing and programming 110,000 installs in 150 countries Kodu Game Lab Kathryn T. Stolee, Teale Fristoe Computer Science Concepts in Kodu Game Lab 4 / 26

Related Documents:

This handbook supplement applies to students entering the fourth year of their degree in Computer Science, Mathematics & Computer Science or Computer Science . Undergraduate Course Handbook 1.2 Mathematics & Computer Science The Department of Computer Science offers the following joint degrees with the Department of Mathematics: BA .

AO1 1a Demonstrate knowledge of the key concepts and principles of computer science. AO1 1b Demonstrate understanding of the key concepts and principles of computer science. AO2 Apply knowledge and understanding of key concepts and principles of computer science. AO2 1a Apply know

Trends in the State of Computer Science in U.S. K-12 Schools 2016 Table of Contents Executive Summary 3 Introduction 5 Value of Computer Science in Schools 6 Opportunities to Learn Computer Science 9 Perceptions of Computer Science 14 Challenges and Opportunities for Computer Science in K-12

Introduction to Computer Science I Course Overview Computer Science 111 Boston University Welcome to CS 111! Computer science is not so much the science of computers as it is the science of solving pro

Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative have answered the call by organizing states, districts, and the computer science education community to develop conceptual guidelines for computer science education. The K-12 Computer Science Framework was developed for -12 Computer Science

Basic Interactive Russian Language Lessons This course is based on such communicative functions as “informal and formal greetings”, “telling about oneself”, “expressing understanding”, “expressing likes/dislikes”, “expressing one’s opinion”, “asking for permission”, and “stating whether something is right or wrong.”

Showing interest Expressing appreciation . Helping achieve agreement Reducing tension . Expressing Feelings . Telling others what I feel . Disagreeing openly Being sarcastic . Expressing humor . Getting Along With Others . Competing to out do others Dominating the gr

The nonlinear springs are defined using API p–y curves at regular depth . intervals, where p represents the lateral soil resistance per unit length of the pile and y is the lateral deflection of the pile (API, 2007). As it was discussed before response of a single pile is different from response of a pile in a pile group due to group effect. One of the most common methods of accounting for .