CS3540 Game Programming


Dr. Brian Durney
Office: CS520C
Phone: 863-6390
Email: bdurney@uvu.edu
Office Hours: M W 11:30-1:00, Tu Th 1:00-2:00

Course Objectives

Upon successful completion of this course, students should be able to:

Course Philosophy

The premise for this course is that you learn by doing. In order to reach the objectives listed above you will need to practice doing those kinds of things: designing, implementing, testing and debugging game programs. You can practice those activities by doing the programming assignments and by writing other programs. The more practice you get, the more you will learn and the better you will understand the material. Keep in mind that you cannot learn programming by sitting in class any more than you could learn to ride a bike by watching someone else ride.

Text Books

There are no required or optional text books for this course. Instead you will be using web resources to learn to use the Unity game development tool.


If you have any disability which may impair your ability to successfully complete this course, please contact the Accessibility Services office, 863-8747, BU 146. Academic accommodations are granted for all students who have qualified documented disabilities. All services are coordinated with the Accessibility Services office.


Grades will be based on the following, subject to adjustment during the semester:

Project 70%
Assignments    20%
Quizzes, discussion questions, and participation 10%

Note that we will have group presentations during the scheduled final exam time for this course.

Grading scale:
90% to 92% A- 93% and above A    
80% to 82% B- 83% to 86% B 87% to 89% B+
70% to 72% C- 73% to 76% C 77% to 79% C+
60% to 62% D- 63% to 66% D 67% to 69% D+
   59% and below F   

NOTE: The percentages shown in Canvas are not the percentages I use to determine course grades. I post scores on Canvas so that students can check their individual scores, but the percentages on Canvas are not weighed correctly for calculating course grades. Canvas has limited options and doesn't allow me to set up grades the way I do in my spreadsheet.


Late Policy --There will be a 10% penalty per calendar day late (including weekends and holidays). Nothing turned in more than 5 days late will be accepted. For example, if 100 points are possible on an assignment, and a student turns in the assignment two days late, 20 points will be subtracted from the score the student would have received for turning in the work on time.

Do not copy someone else's code or files or allow someone else to copy yours. You are welcome, and encouraged, to discuss assignments with others, get help from other students, and so on, but not by showing your code, looking at someone else's code, or working on assignment code together. There are no group projects in this course.

If I find copied code or text, I will deduct a penalty from the scores of all students whose work contains the copied code, which could result in a score of zero for an assignment. That means that if you let another student read your code or text you might not get any credit on the assignment.

Cheating (including copied code) and suspected cheating will be reported to the Office of Student Conduct.

It's very important to follow the assignment specifications. If your program doesn't produce any relevant output when run as specified on the assignment page, you won't receive any credit for it.

Please check your files before turning them in. If you submit the wrong zip file, forget to include a file, or need to resubmit for some other reason, there will be a resubmission penalty of at least 10%. There is no penalty for resubmitting an assignment before the due date.


There are four milestones in the project. The first milestone will be done individually, and the rest of the milestones will be done in groups. For group milestones I will ask you to evaluate the other members of your group.

The late policy, copying policy, and resubmission penalty described above also apply to the project.

Course Schedule