Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 XNA Game-Themed Programming Assignments Kelvin Sung Computing and Software Systems University.

Slides:



Advertisements
Similar presentations
CS 240: Data Structures Tuesday, July 24 th Searching, Hashing Graphs.
Advertisements

DISCUSSION OF SOME QUESTIONS ON PRELIM 2 Lecture 23 CS2110 – Spring 2015.
Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Designing your own Game-Themed Assignments Kelvin Sung Computing and Software Systems University.
XNA Game-Themed Workshop, FDG Pre-Conference Workshop, April 25, 2009 Developing a Simple Game-Themed Application Kelvin Sung Computing and Software Systems.
CS 206 Introduction to Computer Science II 02 / 20 / 2009 Instructor: Michael Eckmann.
Lecture 10 Sept 29 Goals: hashing dictionary operations general idea of hashing hash functions chaining closed hashing.
Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Developing a Simple Game-Themed Application Kelvin Sung Computing and Software Systems University.
Introduction to Computers and Programming Lecture 4: Mathematical Operators New York University.
CS 206 Introduction to Computer Science II 10 / 01 / 2008 Instructor: Michael Eckmann.
Introduction to Java, OO and IDEs ICW Lecture 2 Errol Thompson Room 134.
Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Developing Game-Themed Applications With XNA Kelvin Sung Computing and Software Systems University.
CS 206 Introduction to Computer Science II 10 / 14 / 2009 Instructor: Michael Eckmann.
XNA Game-Themed Workshop, FDG Pre-Conference Workshop, April 25, 2009 Designing your own Game-Themed Assignments Kelvin Sung Computing and Software Systems.
CS 106 Introduction to Computer Science I 03 / 07 / 2008 Instructor: Michael Eckmann.
Unit 11a 1 Unit 11: Data Structures & Complexity H We discuss in this unit Graphs and trees Binary search trees Hashing functions Recursive sorting: quicksort,
CS 206 Introduction to Computer Science II 02 / 11 / 2009 Instructor: Michael Eckmann.
Introducing Hashing Chapter 21 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
Copyright © 2014 by John Wiley & Sons. All rights reserved.1 Recursion.
CS261 Data Structures Tree Traversals. Goals Euler Tours Recursive Implementation Tree Sort Algorithm.
16-Aug-15 Air Force Institute of Technology Electrical and Computer Engineering Object-Oriented Programming in Java Topic : Interfaces, Copying/Cloning,
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
CS2852 Week 8, Class 2 Today Tree terminology Non-Binary and Non-Search Trees Tree Traversals (Remaining slides not yet shown) Tomorrow: Quiz Implementing.
On Teaching Introductory Programming Abhiram Ranade.
Lecture No.01 Data Structures Dr. Sohail Aslam
1 Trees Tree nomenclature Implementation strategies Traversals –Depth-first –Breadth-first Implementing binary search trees.
1 CSC 222: Computer Programming II Spring 2004 Pointers and linked lists  human chain analogy  linked lists: adding/deleting/traversing nodes  Node.
COMP 103 Priority Queues, Partially Ordered Trees and Heaps.
Lecture 10: Class Review Dr John Levine Algorithms and Complexity March 13th 2006.
Searching: Binary Trees and Hash Tables CHAPTER 12 6/4/15 Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education,
Chapter 1 Introduction to Computers and C++ Programming Goals: To introduce the fundamental hardware and software components of a computer system To introduce.
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
CS 206 Introduction to Computer Science II 09 / 10 / 2009 Instructor: Michael Eckmann.
Pointers OVERVIEW.
Binary Search Trees Nilanjan Banerjee. 2 Goal of today’s lecture Learn about Binary Search Trees Discuss the first midterm.
CS 206 Introduction to Computer Science II 10 / 05 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 02 / 13 / 2009 Instructor: Michael Eckmann.
1 Binary Search Trees (Continued) Study Project 3 Solution Balanced Binary Search Trees Balancing Operations Reading: L&C 11.1 – 11.4.
Trees Isaac Sheff. Nodes Building blocks of trees “Parent” node may have “Child” nodes Can be both parent and child Can’t be its own ancestor Can’t have.
1 Data Structures. 2 Motivating Quotation “Every program depends on algorithms and data structures, but few programs depend on the invention of brand.
For more course tutorials visit ECET 370 Entire Course (Devry) ECET 370 Week 1 Labs 1 ECET 370 Week 2 Labs 2 ECET 370 Week 3 Lab 3 Linked.
Programming Abstractions Cynthia Lee CS106X. Topics:  Finish up heap data structure implementation › Enqueue (“bubble up”) › Dequeue (“trickle down”)
Merge Sort Data Structures and Algorithms CS 244 Brent M. Dingle, Ph.D. Department of Mathematics, Statistics, and Computer Science University of Wisconsin.
CS1101 Group1 Discussion 7 Lek Hsiang Hui comp.nus.edu.sg
ENEE150 – 0102 ANDREW GOFFIN Project 4 & Function Pointers.
CompSci 100e2.1 Today’s Topics l Reading:  Sedgewick & Wayne: , l Topics  APTs  Basic Collections: ArrayLists: the expandable array.
CS 206 Introduction to Computer Science II 10 / 02 / 2009 Instructor: Michael Eckmann.
A Introduction to Computing II Lecture 4: Visual Programming A Case Study of OOP Fall Session 2000.
Building Security In January 2009 Workshop Harry Hochheiser, Building Security In: January 2009 Workshop Harry Hochheiser Towson.
CS 106 Introduction to Computer Science I 03 / 02 / 2007 Instructor: Michael Eckmann.
Coding Time This is a starter activity and should take about 10 minutes [ slide 1 ] 1.Log in to your computer 2.Open IDLE 3.Start a script session (Select.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
Data Structures -3 rd exam- 授課教授:李錫智. 1.[10] Suppose we want to implement a queue by using the following List operations: getLength(); remove(position);
Binary Search Trees (BST) Let’s look at some pics …and some code.
1 Web Search Who are the different people often involved in making a computer or video game? 2 Web Search/Thinkin g What is programming? Why would.
Basic Tree Data Structures
Week 6 - Wednesday CS221.
Binary Search Tree (BST)
FLIPPED CLASSROOM ACTIVITY CONSTRUCTOR – USING EXISTING CONTENT
Threaded Trees Binary trees have a lot of wasted space: the leaf nodes each have 2 null pointers We can use these pointers to help us in inorder traversals.
2011/12/08: Lecture 28 CMSC 104, Section 4 Richard Chang
COP 3502.
EE 312 Software Design and Implementation I
Binary Trees: Motivation
Binary Search Trees Chapter 7 Objectives
Administration Module
ECE 103 Engineering Programming Chapter 64 Tree Implementation
Announcements How to save your work? Quiz solution 5/5/2019
EE 312 Software Design and Implementation I
CO4301 – Advanced Games Development Week 12 Using Trees
Week 6 - Monday CS221.
Presentation transcript:

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 XNA Game-Themed Programming Assignments Kelvin Sung Computing and Software Systems University of Washington, Bothell

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Idea Given a “Starter Project” with  All Graphics and User support  Does not work! Students complete the system by implementing the “missing piece” Support Professors who does not know any graphics or games programming!

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Our Approach: Game-Themed Assignment A set of Programming Assignment Modules …  Designed to be adopted selectively in existing classes  No requirements on knowledge of graphics or gaming 7 assignment modules on well defined CS1/2 topics:  For example: 2D Array / BST / Lists etc.2D ArrayBSTLists Each module includes 2 versions:  Game-themed and “traditional” console version  Console version is a good reference  Based on the same topics, the two versions may be different: e.g.:  2D Array / BST / Lists 2D ArrayBSTLists

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Assignment Module: Contents For Faculty:  Summary page: prerequisite + learning outcomes Summary page  Sample pre and post-testsprepost  Sample solution: console / XNAconsoleXNA  Sample Grading rubric (console / XNA)consoleXNA  FAQs FAQs  XNA Implementation Guide: on Graphics + UIImplementation Guide For Students:  Description of the assignment (console / XNA)consoleXNA  Skeleton starter project (console / XNA)XNA

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 All The Assignments XGA ReleaseNoteReleaseNote  Operator:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution  Random Numbers & Arrays:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution  Array of Object References:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution  2D Array:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution  Class Hierarchy:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution  Linked Lists:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution  Binary Search Tree:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Starter Project Our experience: Students must modify same source code  E.g., Operator:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution Students are given a well defined API  E.g., BST:  Console, XNA Starter, XNA Solution ConsoleXNA StarterXNA Solution

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Example XGAs: Switch, Modulus, Integer Division What Worked Well:  Graphical, interactive  Forced students to think about things like mod operator, in an open-ended / real-world-ish sort of way What Didn’t Work So Well:Didn’t Work So Well  Students can do this without integer division  (Do real division, then cast to int, then do mod)  One can’t really solve this without some understanding of the video game structure – Color.Red, or a clear view of the coordinate system.

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Example XGAs: Binary Search Trees Students implement a BST of chars  Add( char c )  Find( char c )  int FindTreeDepth()  Clone() -> new, deep copy of the tree  void Balance() // balances existing nodes in-place Students do NOT implement:  BST also has an in-order traverse method, privately implemented in the base class, so that the video game works, but doesn’t give away answers

Serious Game Winter School, Puerto Vallarta, Mexico, Feb 2010 Example XGAs: Binary Search Trees What Worked Well:Worked Well  Graphical, interactive  Nicely isolated BST – students really did not have to know about the gaming aspects  Could potentially re-use Console based stuff, including unit tests, etc What Didn’t Work So Well:  Example being too “academic”?