Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Course Syllabus

Table of Contents

  1. Lecture Sessions
  2. Staff Information
  3. Course Description and Requirements
  4. Communication and Logistics
  5. Assessment and Grading
  6. Game Project in MonoGame
  7. Class Management
  8. Academic Integrity
  9. Miscellaneous Policies

Basic Info

Spring 2023 Semester
https://s23.cs4730.games

Lecture Sessions

Mondays, Wednesdays, and Fridays @ 10:00 PM-10:50 AM in OLS 018

Staff Information

Instructor: Prof. Mark Sherriff
Office: Rice 400
Office Hours: Wednesdays and Thursdays - 11:00 AM-12:30 PM
Email: sherriff@virginia.edu
Website: http://marksherriff.com

Teaching Assistants: Timur Anvar, JC Crawley, Joseph Remines, Teddy Walsh

Course Description and Requirements

This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering. -SIS Course Description

Our course is an introductory course in video game design and production. We will focus on both the design and technical aspects of creating a game, from concept inception and prototyping through coding and playtesting.

Upon successful completion of this course, students will:

  • Understand the social and ethical context in which video games are developed, marketed, and played;
  • Understand the technologies and platforms upon which modern interactive video games are developed;
  • Understand the software engineering concepts necessary to develop video games (and other large systems) in a large development group;
  • Comprehend the computational theory used in video games design, as well as, to a lesser extent, related fields (artificial intelligence, computer graphics, networks, etc.);
  • Understand the theoretical topic of game theory, and how that applies to multi-player games (and, to a lesser extent, artificial intelligence).

Major Topics

  • What exactly are games?
  • Game design elements
  • Game engines and frameworks
  • Game physics and collision detection
  • Game mechanics
  • Level and character design
  • Prototyping
  • AI and pathfinding
  • Graphics / Lighting
  • Statistics / Probability / Game Theory
  • Game balancing

Course Requirements

  1. Prereq: Old Curriculum - CS 2150 / New Curriculum - CS 3140
  2. MUST attend class regularly.
  3. You will be expected to learn programming languages and platforms on your own in this class! If you don’t feel comfortable with this, please talk to Prof. Sherriff as soon as possible!

Textbooks

  • Game Design Workshop: A Playcentric Approach to Creating Innovative Games by Tracy Fullerton - Available online as a PDF through UVA Library for free
  • Reality Is Broken: Why Games Make Us Better and How They Can Change the World by Jane McGonigal - Amazon

Communication and Logistics

Piazza

Piazza @ https://piazza.com/class/lcp7ggfnle65e4

We will be using Piazza for the following:

  • Long-form questions about the class, code, or project (please post all code privately!)
  • Private messages for faculty or the entire staff
  • A searchable repository of common questions in the course about the project, assignments, etc.

We will not be using Piazza for:

  • Regrades (use Gradescope first, then office hours only if not resolved)

Email

We will be using email for the following:

  • Personal issues that can and should only be handled by a professor
  • Team issues that need to be escalated

We will not be using email for:

  • Regrades (use Gradescope first, then office hours only if not resolved)
  • Tech help (use Piazza)
  • Project questions (use Piazza)

PLEASE make sure to put “CS 4730” in the subject line somewhere so I can keep track of your request! And please be patient with me in responding. I receive A LOT of email and it’s easy to get behind. If there is a time-critical nature to your note, please let me know that as well.

Assessment and Grading

We will utilize a positive-reinforcement grading policy in this course. As the purpose of this class is for you to gain experience as a software developer working in a team on a larger-scale project, your grade in this course will be based on experience points (XP). Every student begins the course with 0 XP. As you complete assessments, work on the project, defeat bosses (tests), complete Random Encounters (in-class activities), etc. you will earn XP. Some assessments will have a way to retake or resubmit to earn some of the XP that was not earned on the first attempt. Please see individual assessments for more information regarding how this mechanic works.

Assessment Who Instances Max XP Max XP Avail
Random Encounters Small Groups or Individual min 10 10 min 100
Critical Analysis Quests Individual 2 50 100
MonoGame Quests Individual 3 50 150
Game Design Document Team 1 50 50
Physical Game Prototype Team 1 50 50
MonoGame Team Project Team 1 250 250
Mini-Boss Battle (Midterm) Individual 1 150 150
Final Boss Battle (Final Exam) Individual 1 150 150
Total Course XP       1000
Letter Grade XP Required
A+ 1000
A 950
A- 900
B+ 875
B 850
B- 825
C+ 775
C 750
C- 700
D+ 675
D 650
D- 625

Assessment Notes

Mini-Boss Battle and Final Boss Battle:

  • There are two tests in the course - the Mini-Boss Battle (Midterm) and the Final Boss Battle (Final Exam).
  • The dates for these are set on the course calendar. Students that cannot make either of these dates must inform the instructor at least 72 hours in advance.
  • Students with SDAC accommodations should make those known to the instructor at least 72 hours in advance and should proceed with scheduling a time with SDAC to take their test.

Critical Analysis:

  • Students will write at least two 3-4 page papers during the semester analyzing different video games.
  • See the Critical Analysis section of the course website for more information.

Random Encounters:

  • Random encounters are short, in-class assessments to ascertain a student’s understanding of a single concept we have been discussing recently.
  • These could take the form of single-question quizzes, analyzing a game in class, or some other activity.
  • There will be a minimum of 10 of these throughout the semester. However, there will likely be more than 10 and students can earn bonus XP for completing more random encounters.
  • Missed random encounters cannot be made up.

Game Project in MonoGame

  • Students will pitch game ideas to the class at the beginning of the semester.
  • Students will then vote on the ideas, thus selecting the games they will be building on teams.
  • Team size will be three or four students.
  • Students must use the MonoGame frameworke to build their games.
  • There will be multiple in-class labs as tutorials for MonoGame.

Class Management

Attendance

  • In-person attendance is expected and generally required for this class, especially on lab activity days.
  • Attendance will be taken on all lab activity and random encounter days. There will be (on average) one lab day per week.

Late Policy

  • In general, late work is not accepted. If there is a late period for an assessment, this will be noted on the assessment itself and there will be a corresponding late window in Gradescope.
  • Exceptions to this rule must be approved by the instructor at least 24 hours in advance.

This Syllabus

This syllabus is to be considered a reference document that can and will be adjusted through the course of the semester to address changing needs. This syllabus can be changed at any time without notification. It is up to the student to monitor this page for any changes. Final authority on any decision in this course rests with the professor, not with this document.

Professionalism

In this course, there will be a focus on working well together and learning about the development process. A large portion of that process involves interpersonal skills and conflict management. Students and staff are all expected to treat each other with respect. This includes, but certainly is not limited to:

  • Proper use of class platforms (Discord, Piazza, YouTube comments, etc.)
  • Respectful behavior in class (including extraneous internet browsing, social media, phone usage, etc.)
  • Respectful language or actions to course staff or other students
  • Promptness for all deadlines and class meetings
  • Quality work
  • Working well with your partners
  • Following the honor code and other collaboration policies
  • Following any University health and safety regulations

Students can and will be penalized for unprofessional behavior.

Academic Integrity

Summary:

  • Know the honor code
  • Work with your team, but not any other team
  • Using code from other students (from any semester) is an honor violation
  • Using publically-available example code and libraries is fine, but you must cite your resources
  • More information on what is allowed will be included with each assignment if necessary
  • It never hurts to ask the staff what is allowed or not allowed!

The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University’s Honor principle that students will not lie, cheat, or steal, nor shall they tolerate those who do. We recognize that even one honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of honor will benefit every member of the community both while enrolled in the Engineering School and in the future.

Students are expected to be familiar with the university honor code, including the section on academic fraud http://honor.virginia.edu/academic-fraud. Assessments will describe allowed collaborations, and deviations from these will be considered Honor violations. If you have questions on what is allowable, ask! Unless otherwise noted, all assessments will be considered pledged that you have neither given nor received help. (Among other things, this means that you are not allowed to describe problems on an exam, assignment, or project to a student who has not taken it yet. You are not allowed to show exam papers to another student or view another student’s exam papers while working on an exam.) Sending, receiving, or otherwise copying or describing the contents of electronic files that are part of course assignments are not allowed collaborations (except for those explicitly allowed in assignment instructions).

Assignments or exams where honor infractions or prohibited collaborations occur will receive a zero grade for that entire assignment or exam. Such infractions will also be submitted to the Honor Committee if that is appropriate. Students who have had prohibited collaborations may not be allowed to work with partners on remaining homeworks.

Using code developed by previous students in the course or code written for your use by someone outside the course is not allowed and will likely be an honor violation. This does not apply to the use of publicly available frameworks and libraries, unless indicated in the assessment instructions.

In general, we expect that you will be using code, examples, and ideas from many different websites and resources for your projects. This is allowed within reason. Wholesale copying of an entire project or any major feature from any source (the web, another student, etc.) is definitely not allowed. Using code snippts that you find to round out a feature is allowed. If you ever have a question about what is or is not appropriate, ask first!

In ALL cases, you need to cite all sources at the top of the file where the code or algorithm was used AND you should note all sources in your documentation. Failure to properly attribute your sources will result in a 50% penalty for the project at a minimum.

How to Cite Code

Use the following format (or something functionally similar) as an example citing code you use. You may not have all of these fields available, but this should give you a good idea of things to look for. Order by title of the software package. Use the appropriate commenting format for the programming language of your source code. Below is a general example of a citation format. Does yours have to look exactly like this? No, nor does it have to have all the fields. It does have to have enough to give the proper credit and so we can find the resource if needed.

/***************************************************************************************
*  REFERENCES
*  Title: <title of program/source code>
*  Author: <author(s) names>
*  Date: <date>
*  Code version: <code version>
*  URL: <where it's located>
*  Software License: <license software is released under>
*
*  Title: ....
*
***************************************************************************************/

Miscellaneous Policies

Inclement Weather Policy

If there is the possibility of inclement weather that could affect class, it is your responsibility to stay informed. Information about how to sign up for email and/or text alerts from UVA Emergency Management, along with the current University status, can be found at https://uvaemergency.virginia.edu/.

SDAC and Other Special Circumstances

It is my goal to create a learning experience that is as accessible as possible. If you anticipate any issues related to the format, materials, or requirements of this course, please make an appointment to with your instructor outside of class so we can explore potential options. Students with disabilities may also wish to work with the Student Disability Access Center (SDAC) to discuss a range of options to removing barriers in this course, including official accommodations. We are fortunate to have an SDAC advisor, Courtney MacMasters, physically located in Engineering. You may email her at cmacmasters@virginia.edu to schedule an appointment. For general questions please visit the SDAC website: sdac.studenthealth.virginia.edu.

If you have already been approved for accommodations through SDAC, please send your instructor your accommodation letter as soon as possible. We happily and discretely provide the recommended accommodations for those students identified by the SDAC. For quizzes and other individual assessments, please remind us one week before an exam so we can make accommodations. For team related assessments, we cannot grant significant accommodations for an entire team due to just one person. However, we are more than happy to discuss with you the best way to integrate with your team with your accommodations in consideration. Please make an appointment with your instructor outside of office hours to have this discussion.

If you have other special circumstances (athletics, other university-related activities, etc.), please contact the instructor as soon as you know these may affect you in class.

Religious Accommodations

It is the University’s long-standing policy and practice to reasonably accommodate students so that they do not experience an adverse academic consequence when sincerely held religious beliefs or observances conflict with academic requirements.

Students who wish to request academic accommodation for a religious observance should submit their request to their instructor by email as far in advance as possible. Students who have questions or concerns about academic accommodations for religious observance or religious beliefs may contact the University’s Office for Equal Opportunity and Civil Rights (EOCR) at UVAEOCR@virginia.edu or 434-924-3200.

Accommodations do not relieve you of the responsibility for completion of any part of the coursework - including the team project - missed as the result of a religious observance.

Support for Career Development

Engaging in your career development is an important part of your student experience. For example, presenting at a research conference, attending an interview for a job or internship, or participating in an extern/shadowing experience are not only necessary steps on your path but are also invaluable lessons in and of themselves. We wish to encourage and support you in activities related to your career development. To that end, please notify your instructor by email as far in advance as possible to arrange for appropriate accommodations.

Student Support Team

You have many resources available to you when you experience academic or personal stresses. In addition to your professor, the School of Engineering and Applied Science has staff members located in Thornton Hall who you can contact to help manage academic or personal challenges. Please do not wait until the end of the semester to ask for help!

NOTE: These resources are available for BACS majors as well! You are still a part of our department!

Learning

Health and Wellbeing

You may schedule time with the CAPS counselors through Student Health. When scheduling, be sure to specify that you are an Engineering student or College student. You are also urged to use TimelyCare for either scheduled or on-demand 24/7 mental health care.

Community and Identity

The Center for Diversity in Engineering (CDE) is a student space dedicated to advocating for underrepresented groups in STEM. It exists to connect students with the academic, financial, health, and community resources they need to thrive both at UVA and in the world. The CDE includes an open study area, event space, and staff members on site. Through this space, we affirm and empower equitable participation toward intercultural fluency and provide the resources necessary for students to be successful during their academic journey and future careers.

Statement on Violence

The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website that describes reporting options and resources available.

The same resources and options for individuals who experience sexual misconduct are available for discrimination, harassment, and retaliation. UVA prohibits discrimination and harassment based on age, color, disability, family medical or genetic information, gender identity or expression, marital status, military status, national or ethnic origin, political affiliation, pregnancy (including childbirth and related conditions), race, religion, sex, sexual orientation, veteran status. UVA policy also prohibits retaliation for reporting such behavior.

If you witness or are aware of someone who has experienced prohibited conduct, you are encouraged to submit a report to Just Report It (justreportit.virginia.edu) or contact EOCR, the office of Equal Opportunity and Civil Rights.

If you would prefer to disclose such conduct to a confidential resource where what you share is not reported to the University, you can turn to Counseling & Psychological Services (“CAPS”) and Women’s Center Counseling Staff and Confidential Advocates (for students of all genders).

As your professor and as a person, know that I care about you and your well-being and stand ready to provide support and resources as I can. As a faculty member, I am a responsible employee, which means that I am required by University policy and by federal law to report certain kinds of conduct that you report to me to the University’s Title IX Coordinator. The Title IX Coordinator’s job is to ensure that the reporting student receives the resources and support that they need, while also determining whether further action is necessary to ensure survivor safety and the safety of the University community.