CSCI 4611 -- New Course

Wed Apr 24 13:29:07 2013

Approvals Received:
Department
on 04-24-13
by Mary Freppert
(freppert@umn.edu)
Approvals Pending: College/Dean  > Provost > Catalog > PeopleSoft Manual Entry
Effective Status: Active
Effective Term: 1139 - Fall 2013
Course: CSCI 4611
Institution:
Campus:
UMNTC - Twin Cities
UMNTC - Twin Cities
Career: UGRD
College: TIOT - College of Science and Engineering
Department: 11108 - Computer Science & Eng
General
Course Title Short: Programming Graphics and Games
Course Title Long: Programming Interactive Computer Graphics and Games
Max-Min Credits
for Course:
3.0 to 3.0 credit(s)
Catalog
Description:
Tools and techniques for programming games and interactive computer graphics.  Event loops, rendering and animation, polygonal models, texturing, and physical simulation. Emphasis on using modern graphics toolkits; other topics include history and future of computer games technology and social impact of interactive computer graphics.
Print in Catalog?: Yes
CCE Catalog
Description:
<no text provided>
Grading Basis: Stdnt Opt
Topics Course: No
Honors Course: No
Online Course: No
Instructor
Contact Hours:
3.0 hours per week
Years most
frequently offered:
Every academic year
Term(s) most
frequently offered:
Spring
Component 1: LEC (with final exam)
Auto-Enroll
Course:
No
Graded
Component:
LEC
Academic
Progress Units:
Not allowed to bypass limits.
3.0 credit(s)
Financial Aid
Progress Units:
Not allowed to bypass limits.
3.0 credit(s)
Repetition of
Course:
Repetition not allowed.
Course
Prerequisites
for Catalog:
2021
Course
Equivalency:
CSci 4107
Consent
Requirement:
No required consent
Enforced
Prerequisites:
(course-based or
non-course-based)
No prerequisites
Editor Comments: <no text provided>
Proposal Changes: <no text provided>
History Information: Significant revision of CSci 4107 but close enough to how it has been recently taught that no credit should be received if 4107 was taken.
Faculty
Sponsor Name:
Dan Keefe
Faculty
Sponsor E-mail Address:
keefe@cs.umn.edu
Student Learning Outcomes
Student Learning Outcomes: * Student in the course:

- Can identify, define, and solve problems

Please explain briefly how this outcome will be addressed in the course. Give brief examples of class work related to the outcome.

Students will be required to independently plan and implement solutions to a series of computer graphics programming assignments.

How will you assess the students' learning related to this outcome? Give brief examples of how class work related to the outcome will be evaluated.

Programming assignments will be assessed using a rubric created by the faculty teaching the course.

- Have mastered a body of knowledge and a mode of inquiry

Please explain briefly how this outcome will be addressed in the course. Give brief examples of class work related to the outcome.

In the final programming assignment, students will be required to integrate knowledge from all the previous assignments in order to synthesize a working solution in the form of a new software application.

How will you assess the students' learning related to this outcome? Give brief examples of how class work related to the outcome will be evaluated.

The assignment will be assessed using a rubric created by the faculty teaching the course.

Liberal Education
Requirement
this course fulfills:
None
Other requirement
this course fulfills:
None
Criteria for
Core Courses:
Describe how the course meets the specific bullet points for the proposed core requirement. Give concrete and detailed examples for the course syllabus, detailed outline, laboratory material, student projects, or other instructional materials or method.

Core courses must meet the following requirements:

  • They explicitly help students understand what liberal education is, how the content and the substance of this course enhance a liberal education, and what this means for them as students and as citizens.
  • They employ teaching and learning strategies that engage students with doing the work of the field, not just reading about it.
  • They include small group experiences (such as discussion sections or labs) and use writing as appropriate to the discipline to help students learn and reflect on their learning.
  • They do not (except in rare and clearly justified cases) have prerequisites beyond the University's entrance requirements.
  • They are offered on a regular schedule.
  • They are taught by regular faculty or under exceptional circumstances by instructors on continuing appointments. Departments proposing instructors other than regular faculty must provide documentation of how such instructors will be trained and supervised to ensure consistency and continuity in courses.

<no text provided>
Criteria for
Theme Courses:
Describe how the course meets the specific bullet points for the proposed theme requirement. Give concrete and detailed examples for the course syllabus, detailed outline, laboratory material, student projects, or other instructional materials or methods.

Theme courses have the common goal of cultivating in students a number of habits of mind:
  • thinking ethically about important challenges facing our society and world;
  • reflecting on the shared sense of responsibility required to build and maintain community;
  • connecting knowledge and practice;
  • fostering a stronger sense of our roles as historical agents.


<no text provided>
LE Recertification-Reflection Statement:
(for LE courses being re-certified only)
<no text provided>
Writing Intensive
Propose this course
as Writing Intensive
curriculum:
No
Question 1 (see CWB Requirement 1): How do writing assignments and writing instruction further the learning objectives of this course and how is writing integrated into the course? Note that the syllabus must reflect the critical role that writing plays in the course.

<no text provided>
Question 2 (see CWB Requirement 2): What types of writing (e.g., research papers, problem sets, presentations, technical documents, lab reports, essays, journaling etc.) will be assigned? Explain how these assignments meet the requirement that writing be a significant part of the course work, including details about multi-authored assignments, if any. Include the required length for each writing assignment and demonstrate how the minimum word count (or its equivalent) for finished writing will be met.

<no text provided>
Question 3 (see CWB Requirement 3): How will students' final course grade depend on their writing performance? What percentage of the course grade will depend on the quality and level of the student's writing compared to the percentage of the grade that depends on the course content? Note that this information must also be on the syllabus.

<no text provided>
Question 4 (see CWB Requirement 4): Indicate which assignment(s) students will be required to revise and resubmit after feedback from the instructor. Indicate who will be providing the feedback. Include an example of the assignment instructions you are likely to use for this assignment or assignments.

<no text provided>
Question 5 (see CWB Requirement 5): What types of writing instruction will be experienced by students? How much class time will be devoted to explicit writing instruction and at what points in the semester? What types of writing support and resources will be provided to students?

<no text provided>
Question 6 (see CWB Requirement 6): If teaching assistants will participate in writing assessment and writing instruction, explain how will they be trained (e.g. in how to review, grade and respond to student writing) and how will they be supervised. If the course is taught in multiple sections with multiple faculty (e.g. a capstone directed studies course), explain how every faculty mentor will ensure that their students will receive a writing intensive experience.

<no text provided>
Course Syllabus
Course Syllabus: For new courses and courses in which changes in content and/or description and/or credits are proposed, please provide a syllabus that includes the following information: course goals and description; format;structure of the course (proposed number of instructor contact hours per week, student workload effort per week, etc.); topics to be covered; scope and nature of assigned readings (text, authors, frequency, amount per week); required course assignments; nature of any student projects; and how students will be evaluated. The University "Syllabi Policy" can be found here

The University policy on credits is found under Section 4A of "Standards for Semester Conversion" found here. Course syllabus information will be retained in this system until new syllabus information is entered with the next major course modification. This course syllabus information may not correspond to the course as offered in a particular semester.

(Please limit text to about 12 pages. Text copied and pasted from other sources will not retain formatting and special characters might not copy properly.)


Programming Interactive Computer Graphics and Games
Sample syllabus

Course Description
Computer graphics is an exciting field within computer science that has seen dramatic recent growth. The impact of graphics on our culture and on our daily lives is far-reaching, as we can see through applications in art, design, education, games, movies, science, and medicine.  This course covers the tools and techniques used today for programming games and other interactive computer graphics applications.  Some of the core concepts covered include: event loops, rendering and animation, polygonal models, texturing, and physical simulation. This is a heavy programming course, and there is an emphasis on graphics toolkits. Other topics briefly covered include the history and future of computer games technologies and the social impact of interactive computer graphics.

Learning Outcomes
In this course, you will learn to:
*        Understand basic concepts and algorithms relevant to computer graphics programming.
*        Identify, define, and solve 2D and 3D graphics programming problems.
*        Critically evaluate and select the right graphics toolkit to solve new problems.
*        Communicate information through visual means using computers.

Prerequisites  
The prerequisite for the course is CSci-2021.  Please contact the instructor if you have any questions about whether the course is a good fit for your interests and background.


Course Structure

Format and Assessment
The course will typically meet for lecture/discussion twice per week.  Since this is a programming heavy course, much of the learning will come through a series of individual programming assignments.  These are typically 2-3 week assignments, and there may be 5-6 of these in a given semester.  Students' learning will be assessed through performance on these assignments along with exams.  An example formula that could be used to determine final grades for the course is:

45% -- Programming Assignments (divided equally between each assignment)
25% -- Midterm or Quizzes
25% -- Final Exam
5% -- Participation in Classroom and Web-based activities


Readings
Weekly readings will come from a main technical text and also from complementary materials that focus on contemporary topics in game design.  An estimate of 20-30 pages of reading per week is expected.  Example texts that could be used effectively in this course are listed below.

Examples for Main Text:

1.        Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 6th Edition by Edward Angel and Dave Shreiner.

2.        3D Graphics for Game Programming, by JungHyun Han, CRC Press, 2011.

Example Complementary Text:

1.        The Art of Game Design: A book of lenses, by Jesse Schell, Morgan Kaufmann, 2008.


Example Week-by-Week Topics

Week 1:  First hands-on graphics programing
-        Use of a lightweight graphics scripting toolkit, such as Processing.org
-        Graphics primitives: points, lines, polygons
-        Representing color in computer graphics
-        Responding to user input

Week 2:  The History and Future of Computer Graphics and Games
-        Ivan Sutherland and the history of computer graphics
-        Early games
-        Current trends in graphics hardware
-        The future of real-time graphics and futuristic human-computer interfaces

Week 3:  Intro to a commercial-level C++ based toolkit (e.g., Ogre, G3D)
-        Practical introduction to programming with a major graphics toolkit used in games or related industries
-        Hands on experience

Week 4:  Visual Debugging with Graphics Toolkits
-        Software engineering concepts and tools for computer graphics
-        Emphasis on using visual outputs to understand the function of programs

Week 5:  Graphics Math in More Detail / Linear Algebra Refresher
-        Refresher on transformation matrices
-        Advanced graphics math at the toolkit level (e.g., ray-triangle intersection routines, object vs. world space)

Week 6:  Polygonal Modeling and Scene Graphs (Using C++ Toolkit)
-        Mesh and spatial data structures
-        Scene graphs and hierarchical transformations

Week 7:  Creating Effective Virtual Worlds
-        Schell's elemental triad for effective game design
-        The relationship between characters, scenes, and worlds
-        Automated terrain generation and other technical tools for building worlds

Week 8:  Realism in Interactive Computer Graphics
-        Tradeoffs between speed and realism
-        Current trends in industry and real-world applications
-        Serious games
-        Intro to part 2 of the course viewed as many forms of realism (texture, animation, physics, user experience)

Week 9:  Texture and Bump Mapping for Realism (Using C++ Toolkit)
-        Texture coordinates and different forms of texture mapping
-        Impact of speed and realism
-        Artistic use of texturing / contemporary texturing in the games

Week 10:  Characters and Animation
-        Simulation and animation loops/threads
-        Motion capture vs. physically-based simulation vs. key-frame animation
-        Developing effective characters

Week 11:  Lighting Design and Implementation
-        Local vs. global illumination
-        OpenGL shaders

Week 12:  Designing for the User Experience in Games and Interactive Graphics
-        Interdisciplinary design practices in game development
-        Interface genres and input available during game play
-        Examples from outside of games: virtual reality, CAD tools, 3D modeling tools

Week 13:  Event Loops and Graphical User Interaction
-        Implementing effective user interfaces with 3D graphics toolkits

Week 14:  Physics Engines and Real-Time Simulation
-        Integrating 2D and 3D physics toolkits with graphics toolkits
-        How to manage your loops: rendering, physics, events, networking, etc.

Week 15:  The Social Impact of Interactive Computer Graphics
-        Games and graphics in our culture
-        Games for healthcare
-        Online and multi-player games
-        The cognitive psychology of avatars
-        Anthropological Examples, e.g., Coming of Age in Second Life


Example Assignments (2-3 weeks each)

Assignment 1:  Use Processing.org toolkit to create an interactive art installation similar to Text Rain by Camille Utterback & Romy Achituv,1999.

Assignment 2:  Implementing billiards (animation, simulation, and collision detection) in a modern graphics toolkit.

Assignment 3:  Rendering and navigating the Earth (polygonal modeling of terrain, texture mapping, camera controls).

Assignment 4:  Controlling and animating characters (skeleton-based animation of skinned game characters using motion capture data, details of transitioning between motions).

Assignment 5:  Crayon physics: implement a game similar to crayon physics (www.crayonphysics.com).  Combines several skills / areas of study throughout the semester: (1) geometric modeling, (2) shaders for non-photorealistic rendering, (3) physics-based simulation, and (3) a sketch-based gestural user interface.
Strategic Objectives & Consultation
Name of Department Chair
Approver:
<no text provided>
Strategic Objectives -
Curricular Objectives:
How does adding this course improve the overall curricular objectives ofthe unit?

<no text provided>
Strategic Objectives - Core
Curriculum:
Does the unit consider this course to be part of its core curriculum?

<no text provided>
Strategic Objectives -
Consultation with Other
Units:
In order to prevent course overlap and to inform other departments of new curriculum, circulate proposal to chairs in relevant units and follow-up with direct consultation. Please summarize response from units consulted and include correspondence. By consultation with other units, the information about a new course is more widely disseminated and can have a positive impact on enrollments. The consultation can be as simple as an email to the department chair informing them of the course and asking for any feedback from the faculty.

<no text provided>