A Recipe for Game Development Assignments in CS2 - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

A Recipe for Game Development Assignments in CS2

Description:

A Recipe for Game Development Assignments in CS2 – PowerPoint PPT presentation

Number of Views:285
Slides: 34
Provided by: Username withheld or not provided
Category:
Tags:

less

Transcript and Presenter's Notes

Title: A Recipe for Game Development Assignments in CS2


1
A Recipe for Game Development Assignments in CS2
  • Jude Allred
  • Advised by Professor Michael Main and Professor
    Clayton Lewis
  • Department of Computer Science, University of
    Colorado, Boulder
  • Jude.Allred_at_colorado.edu
  • Jude.FogBugz.com

2
Spoiler
  • I surveyed CS education research, and there are
    many promising frontiers.
  • There are interested choices to make in designing
    a CS class.
  • There is a strong case for using game development
    as the basis for assignments in CS2.

3
The Recipe
Incorporate these items into your CS2 Assignments
by using games
Doing so should provide increase student
comprehension of the course material, lowered
peer intimidation, performance improvements for
the low-end students, and increased comfort with
and enthusiasm for computer science.
4
Use Games
5
Familiarity
6
Embedded Learning
7
Fun
8
Assets
9
Deployability
10
Playable on Startup
11
Concretize Abstract Concepts
12
Extensibility
13
Mitigate Extraneous Code
14
These steps are simple
  • And you can incorporate at least some of them
    into any assignment.
  • And you probably already are.

15
Use The Recipe
Incorporate these items into your CS2 Assignments
by using games
Doing so should provide increase student
comprehension of the course material, lowered
peer intimidation, performance improvements for
the low-end students, and increased comfort with
and enthusiasm for computer science.
16
General Difficulties in CS
  • Computer science education suffers from
  • Dropping enrollment
  • Poor gender diversity
  • Inconsistencies in teaching methodologies

17
Background Topics
  • CS1 CS2
  • Language Choice
  • Comfort, Intimidation, and Interest

18
CS1 CS2
  • In particular
  • CS1 and CS2 experience severe dropout rates
  • Primary focus of CS education research
  • Defined by the 2001 Computing Curricula Final
    Report

19
CS1 CS2 Strategies
  • ACM
  • Imperative-first
  • Objects-first
  • Functional-first
  • Breadth-first
  • Algorithms-first
  • Hardware-first

20
CS1 CS2 Strategies
  • ACM
  • Imperative-first
  • Objects-first
  • Functional-first
  • Breadth-first
  • Algorithms-first
  • Hardware-first
  • New Strategies
  • Components-first
  • Games-first

21
Imperative-first
  • Most traditional model
  • Delays object-oriented programming topics until
    students have a solid foundation in imperative
    programming
  • Imperative-first sets par for CS education

22
Objects-first
  • Emphasize OO and design immediately
  • Motivate control structures and programming as
    secondary topics motivated by OO
  • Promising results, especially using Python
  • Easy to get wrong

23
Components-first
  • Focus on APIs and infrastructures in common use
    by software engineers
  • Extremely practical
  • Two implementations of components-first were
    surveyed by Howe et. al. in 2004
  • Concluded viable and best-suited as an
    advancement upon existing Objects-first classes.

24
Games-first
  • Refocus course content on game development
    without altering learning objectives
  • Follows the mentality that Imperative-first vs.
    Objects-first is minor compared to course
    content.
  • Continuing focus of iteration and advancement
    results are promising.

25
Separating CS1 CS2
  • CS1
  • Functions as stand-alone class
  • Must convey base-level proficiency
  • Split-Population
  • Desires pragmatism
  • CS2
  • Secondary Programming Language
  • Inadequate Preparation

26
Choice of Language
27
Comfort, Intimidation, and Interest
28
Methods of reducing intimidation
29
The Recipe
Incorporate these items into your CS2 Assignments
by using games
Game development is a maturing experiment in CS1
and is ready for active experimentation in CS2.
The components I prescribe have been shown
benefits in CS1 I expect their benefits to
generalize to CS2
30
Others are working on it
  • Lewis and Massingills Framework
  • Sung and Panitzs Modules
  • Leuteneggers continued iterations

31
And there are many tools
I can personally recommend
32
Next Step
  • Controlled experiments on the results of
    implementing components of this recipe in CS2

33
Thanks!
More details, data, and citations are provided in
my Thesis document, available at http//jude.fog
bugz.com Please share your feedback with me,
especially if you try any of this Jude.Allred_at_Co
lorado.edu
Write a Comment
User Comments (0)
About PowerShow.com