Concur:Yes - Penn State Behrend

advertisement
SENATE COMMITTEE ON CURRICULAR AFFAIRS
COURSE SUBMISSION AND CONSULTATION FORM
Principal Faculty Member Proposing Course: Dr. Matthew White
College: BEHREND COLLEGE
Department or Instructional Area: ENGINEERING
College/Academic Unit With Curriculum Responsibility: BEHREND COLLEGE
Type of Proposal: Add
Type of Review: Full
(See Guide to Curricular Procedure for definitions of a full or expedited review.)
Course Designation: (GAME 251) 2D Game Programming
Special categories for Undergraduate (001-499) courses
Current listings for existing courses are in bold type. Proposed changes are indicated by the checkboxes.
Quantification (GQ)
Proposed Bulletin Listing
Abbreviation
: GAME
Number
251
Title
: 2D Game Programming
Abbreviated Title
: 2D HTML5 Game Dev
Credits
: Min: 3 Max: 3
Repeatable
: No
Description
: Introduction to programming 2D Games with HTML5 and Javascript
Prerequisites
: MATH 021
Concurrent Courses
:
Cross Listings
:
Does this Course have a Travel Component: No
Course Outline
A brief outline or overview of the course content
An introductory course on programming games for the web, this course introduces students to HTML5 from a
historical perspective. Students are introduced to web programming using visual programming IDE's. Basic SQL
and PHP are taught, as well as concepts of database management for games. Finally, students publish to web API's,
such as Facebook and Twitter. Students will also deploy their games to mobile devices.
A listing of the major topics to be covered with an approximate length of time allotted for their discussion
HTML5 Game Programming - 4 Weeks
Javascript Logic Programming - 3 Weeks
PHP SQL calls with AJAX - 3 Weeks
Facebook and Twitter APIs / Programming for Social Media - 3 Weeks
Optimization for Mobile Devices: 1 Week
Long Course Description:
A succinct stand-alone course description (up to 400 words) to be made available to students through the on-line Bulletin
and Schedule of Courses.
An introductory course on web programming, GAME 251 introduces students to HTML5 Programming for online,
browser-based, and mobile games. HTML5 is a versatile programming and markup language that allows for a lot
of flexibility in game development. Throughout the course, students will learn HTML5 programming using the
Canvas element, programmed in Javascript, using a variety of engines and technologies. Students will receive a
primer in database management using MySQL, and will interface that database with their games using AJAX calls
through PHP. Before completing the course, students will create at least three distinct games which will be deployed
to the browser, to a social media site such as Facebook, and to a mobile device. The versatility and cross- platform
nature of the HTML5 programming standard allows games to be compiled across numerous platforms seamlessly a practice with which students will become accustomed.
The name(s) of the faculty member(s) responsible for the development of the course
Dr. Matthew M. White, School of Engineering, Penn State Behrend
Justification Statement
Instructional, Educational, and Course Objectives
By the end of the course, students will:
Demonstrate the use of a wide variety of game development tools,including, but not limited to:
o Construct 2 Game Engine
o ImpactJS Game Engine
o HTML5 with Javascript/JSON/jQuery
o SQL/Ajax
o Basic graphic design work, e.g. Photoshop, Illustrator
o Use of Android/iOS/WindowsPhone Device Programming APIs
o Firefox scripting extensions
- Produce 3 marketable games.
- Program and write capable and correct HTML5 code with JS, PHP, AJAX, JSON, and jQuery.
- Diagnose programming and development errors.
- Demonstrate logical thinking and object-oriented concepts.
- Demonstrate understanding of SQL Databases through management and queries.
- Solve code problems ("bugfix") in a logical and diagnostic manner.
- Discuss the use of engines vs. ground-up code.
- Produce User Interface wireframes for games.
- Perform version control and software revision.
- Competently develop original games from start to finish.
- Launch games to mobile devices, web browsers, and social media platforms.
Evaluation Methods
Students are assessed on three major components:
- Lab Assignments (30%)
Lab assignments are given weekly in accordance with weekly lecture topics. Lab assignments consist of a variety of
topics derived from the objectives outlined above. Students will, for example, begin with a lab assignment
consisting of basic "hello world!" type objectives in a web browser, on a mobile device, and on social media. This
lab work will progress to more difficult tasks, such as collision detection and physics calculations for
accelerometers (mobile). The labs follow the progression of discussion topics outlined in section 2, and are designed
to build upon one another. It is therefore expected that students will have exemplary attendance, so as not to fall
behind in lecture topics, and thus lab assignments. Students will have one week to complete each lab assignment,
which will be graded out of 10, aggregated to 40% of the students' total grades.
- Social Game (30%)
The social game is a "midterm" for the course. Students will be expected to develop, from beginning to end, a
complete, playable game. This game will then be launched to Facebook, Twitter, or another social/sharing site to be
played by the class. Evaluation will take the form of both instructor-led corrections and peer evaluations. Graded
out of 100, the social game forms 30% of the students' total grades, and occurs in approximately the eighth week of
instruction.
- Mobile Game (30%)
The mobile game is the third and final project by which students are evaluated. The mobile game, like the above,
will be a complete and playable game. This assignment differs from the previous, however, in that developing for
mobile is a considerably more difficult task than developing for the PC. Memory limitations, speed of video
processing, and screen space are just the beginning of the factors that must be considered. Students will ensure that
the prototype game is playable in the face of these factors across all major current devices (e.g. Windows Phone,
Android, iOS). This project is due at the end of the week preceding finals week. It is recommended that students
begin work on this project during the lessons on mobile (which begin approximately 3 weeks prior).
- Portfolio (10%)
Due at the end of finals week, students are expected to organize the games they have created - ideally three - into
one cohesive whole. Students will be asked to pick one exemplary lab assignment, their browser game, and their
mobile game, and assemble them into a portfolio. A portfolio is an important component of hiring in the games
industry, and usually takes the form of a website or zip file that contains all of the students' work. This finals-week
project will make up the remaining 10% of student grades.
Relationship/Linkage of Course to Other Courses
Penn State Behrend's recent Game Development Minor offered a similar course, GAME250: Intro Game
Programming. While Intro Game Programming (200 level, GA) focuses on three-dimensional (3D) game
development using the Unity3D and AnarchyHavok environments with C# and Javascript, this course focuses on 2D
game development using Construct2 Game Engine, ImpactJS Game Engine, and the raw Canvas element of the
HTML5 language. Both offer rigorous quantitative content (hence the GQ), and both therefore have a MATH 021
requirement. It is intended that students who are taking the game development minor will take one or both of these
courses to satisfy their breadth component of the minor.
Relationship of Course to Major, Option, Minor, or General Education
This course is part of Penn State Behrend's recently approved Game Development Minor (with GAME course
prefix). It has been taught once before, and will be taught once again this Fall (2014/2015) with an x97 course
designation.
It is intended that this course will fit into the "breadth" (e.g. 100 and 200 level courses) component of our 18-credit
minor. The course offers, depending on the predilection of the student, either an alternative course to 3D game
programming, or additional programming topics for students interested in this component of the minor. It is
anticipated that this will be a desired GQ offering for students interested in taking the minor from schools that are
non-technical, as its 2D approach is (somewhat) less heavy in matrix math than its counterpart.
Students may use the course to satisfy 3 of the 9 credits required at the breadth level of the game minor.
A description of any special facilities
The course requires a standard computer lab.
Frequency of Offering and Enrollment
It is anticipated that this course will be offered yearly in the Fall. Enrollment has been positive, with the first course
having 24 students, and 30 enrolled for this Fall.
Effective Date: Fall 2015
Consultation Summary/Response:
After speaking with local science faculty, the GQ designation seems like a good idea. I have also reviewed the
consultation notes and added responses as required. Based on these consultation reports, the course seems to be welldesigned, and I believe it has been sufficiently reviewed to merit submission.
Formal Consultation
Name:
Position:
Title:
Eric Hayot
Formal Consultant
PROF CMLT/AST
Concur:Yes
Comments: Looks good.
Reviewed On: 4/29/2014 2:05:00 PM
Department: COMPARATIVE LITERATURE
Campus:
UNIVERSITY PARK CAMPUS
Sue Haug
Formal Consultant
Director, School of Music
Concur:Yes
Comments:
Reviewed On: 4/29/2014 4:37:00 PM
Department: SCHOOL OF MUSIC
Campus:
UNIVERSITY PARK CAMPUS
Name:
Alison A. Carr-Chellman
Position:
Title:
Department: LEARNING & PERFORMANCE
SYSTEMS
Campus:
UNIVERSITY PARK CAMPUS
Formal Consultant
PROFESSOR OF ED (INSYS)
Concur:Yes
Comments: Looks like a great addition to the gaming program.
Reviewed On: 4/29/2014 8:39:00 PM
(1)
Name:
Position:
Title:
(2)
(3)
Name:
Position:
Title:
(4)
Name:
Position:
Title:
Keith Cummings
Formal Consultant
ASSOC PROF GRAPH DESG
Concur:Yes
Comments:
Reviewed On: 5/1/2014 5:06:00 PM
Department: INTEGRATIVE ARTS
Campus:
UNIVERSITY PARK CAMPUS
Janet Hartranft
Formal Consultant
Program Coordinator, Asst. Professor
Department: INTEGRATIVE ARTS
Campus:
UNIVERSITY PARK CAMPUS
(5)
Concur:Yes
Comments:
Reviewed On: 5/2/2014 10:25:00 AM
Name:
Position:
Title:
Andrew Hieronymi
Department: SCHOOL OF VISUAL ART
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
ASST PROFESSOR OF ART
Concur:Yes
(6)
Comments: Your course looks great. I don't see a mention to game design though. Students could benefit
from a short primer on game design fundamentals.
Reviewed On: 5/7/2014 4:54:00 PM
Response: On 5/14/2014 3:27:30 PM Dr. Matthew White Responded: This is a great point. As we start to
compartmentalize the GAME Minor into its component pieces, we are spending more and more time making
sure different topics (e.g. design, art, programming) get different courses. When we first started, our fear was
that we were jamming too much content into one course. That said, students will certainly get some basic
primer in game design through the design of the assignments - e.g. building platformers, building collisions.
Thanks again for taking the time to read and consult.
(7)
Name:
Position:
Title:
(8)
(9)
Name:
Position:
Title:
(10)
Concur:Yes
Comments: Your course looks good. I don't see a mention to game design though. Students could benefit
from a short primer on game design fundamentals.
Reviewed On: 5/7/2014 4:58:00 PM
Richard Taylor
Formal Consultant
PALMER PROF TELECOMM/LAW
Concur:Yes
Comments:
Reviewed On: 5/9/2014 3:10:00 PM
Department: TELECOMMUNICATIONS
Campus:
UNIVERSITY PARK CAMPUS
Concur:Yes
Comments:
Reviewed On: 5/9/2014 3:11:00 PM
Brett Bixler
Department: EDUCATION TECHNOLOGY SERVICES
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
LD INSTRNL DSGNR
Concur:Yes
Comments: If you want to have someone with HTML 5 game dev experience look at this - "Zac Zidik" works
with the Educational Gaming Commons and would probably have some good insights.
Can the "midterm" game be the precursor for the "final" mobile game, or must these be two different games?
Also, I'd like to see your definition of a finished game. Seems like design scope creep could seriously hurt
some of the more ambitious students who will bite off more than they can chew.
Reviewed On: 5/12/2014 9:47:00 AM
Response: On 5/14/2014 3:30:37 PM Dr. Matthew White Responded: Thanks for the comments. I'll definitely add Zac
to the consultation group I add to these courses henceforth - thanks for the tip. When I taught this course
previously as an x97, I made the midterm and final discrete games - that said, I see no reason that they couldn't
run together. I'd prefer to leave this up to the course instructor - the key point I want to make is that one of the
HTML5 games is designed and optimized for browsers, while one is designed and optimized for mobile
devices. When teaching this previously, I broke the course down into weekly labs that contained mechanics.
One week was collisions, another movement, and another storing of scores. There were approximately 14 total
labs (one a week). I defined a finished game in that course as one that used at least 7 of the 14 mechanics
taught in lab. Thanks again for taking the time to give feedback - really appreciate it.
Name:
Bart Pursel
Position:
Title:
Formal Consultant
Affiliate Faculty Member
(11)
Name:
Position:
Title:
(12)
Name:
Position:
Title:
(13)
Name:
Position:
Title:
(14)
Name:
Position:
Title:
(15)
Name:
Department: INFORMATION SCIENCES AND
TECHNOLOGY
Campus:
UNIVERSITY PARK CAMPUS
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Carlos Rosas
Department: SCHOOL OF VISUAL ART
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
ASSOC PROF ART
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Charles Garoian
Department: SCHOOL OF VISUAL ART
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
PROF ART ED
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Mark Ballora
Department: INTEGRATIVE ARTS
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
ASSOC PROF INART & MUSIC
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Mike Schmierbach
Department: FILM-VIDEO & MEDIA STUDIES
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
ASSOC PROF COMMUNICATIONS
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Simon Hooper
Position: Formal Consultant
Title:
ASSOC PROF OF ED (INSYS)
Department: LEARNING & PERFORMANCE
SYSTEMS
Campus:
UNIVERSITY PARK CAMPUS
(16)
Name:
Position:
Title:
(17)
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Will McGill
Department: INFO SCIENCES & TECH
Formal Consultant
Campus:
UNIVERSITY PARK CAMPUS
ASSISTANT PROFESSOR
Concur:Yes
Comments: (Approved By Default - Exceeded Two Week Time Limit)
Reviewed On: 5/14/2014 2:50:00 AM
Required Signatories
Name:
Position:
Title:
Ralph Ford
Head of Department
(Not Available)
Concur:Not Yet Reviewed
Comments: Not Yet Reviewed
Reviewed On: Not Yet Reviewed
Department: (Not Available)
Campus:
(Not Available)
Name:
Position:
Title:
Rodney Troester
College Representative
(Not Available)
Concur:Not Yet Reviewed
Comments: Not Yet Reviewed
Reviewed On: Not Yet Reviewed
Department: (Not Available)
Campus:
(Not Available)
Name:
Position:
Title:
Dawn Blasko
Dean of the College
(Not Available)
Concur:Not Yet Reviewed
Comments: Not Yet Reviewed
Reviewed On: Not Yet Reviewed
Department: (Not Available)
Campus:
(Not Available)
Name:
Position:
Title:
[Name Not Specified]
Faculty Senate
(Not Available)
Concur:Not Yet Reviewed
Comments: Not Yet Reviewed
Reviewed On: Not Yet Reviewed
Department: (Not Available)
Campus:
(Not Available)
Concur:Not Yet Reviewed
Comments: Not Yet Reviewed
Reviewed On: Not Yet Reviewed
Bluebook Number:
Approval Date:
ProposalID: 19233
Course Information - Quantification (GQ) Information
Below is the information received for the General Education - Quantification (GQ) course.
It is my belief that the course satisfies many of the stated objectives of the General Education (Quantification) objectives
as illustrated in Senate Agenda 4-30-85.
- With regard to quantitative reasoning, programming is in itself a logical, quantitative endeavor. Through this course,
students will apply quantitative and mathematical thinking to the construction of programming classes, the function of
numerical loops, and the construction of functions to perform mathematical objectives such as movement through
interpolation and translation, as well as conversion of numbers to in-game objectives.
- Regarding probability measurements, students undergo something called "game balancing", which is a mathematical
process by which students create a game, allow people to play it, measure numerical parameters such as number of
failures, playtime, and number of shares, then adjust the numerical parameters of the game determining its difficulty.
While this is not traditional statistical probability, it allows students to see the relationship between real world outcomes
and numerical alterations to their code.
- Students will have to keep memory considerations of mobile devices in mind, as well as clock cycles, to make their
games applicable to everyday use of mobile devices. Without a serious knowledge of the memory size of different variable
types, and the computational intensity of different functions, students' games will simply not run on mobile devices. This
element requires a level of knowledge of the available total of RAM and processing power on contemporary devices, and
therefore an understanding of the different uses for hardware memory in variable types.
- In addition to the above topics, students have to perform mathematical calculations to:
- Move characters on screen (e.g. Interpolations, rotations, translations)
- Draw maps (e.g. trigonometry, geometry, and algebra)
- Program enemy AI (e.g. A* pathfinding, Djikstra's algorithm)
- Draw computer graphics (e.g. flood fill algorithm)
- Communicate between numerous machines (multithreading, network latency)
Close
Download