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