Game and Simulation Programming I

Game and Simulation Programming I


Credit Summer 2019
05/28/2019 - 07/30/2019

Course Information

Section 002
Distance Learning
Richard Baldwin

Office Hours

  • Sa
    See Note - --->
    See Note --->
    Due to some medical issues, office hours this semester will be limited to:
    1. Telephone at any time - leave message if no answer: (512) 223-4758
    2. Email at any time
    3. Video conference by appointment
    4. On-campus by appointment
    Don't hesitate to email or phone for an on-campus or video appointment.

Course Description / Rationale


  • See the Main Web Page for this course at for additional information, including a requirement for online orientation.
  • All students enrolled in this course are required to complete online orientation at the beginning of the course.  Go to the Main Web Page given above to complete online orientation.  Then log into Blackboard, access your course, and use the Blackboard "Send Email" feature within the first five days of the course to send an Email message to Prof. Baldwin confirming that you have completed online orientation. Make the subject of your message read "Online orientation complete." If you fail to do this, you may suffer administrative penalties, which may include the loss of eligibility for financial aid.
  • You should sign into and check your ACCmail account early in the semester and frequently within the semester to make certain that you don't miss important announcements and Email messages.

Logical steps for starting and completing this course

  1. Begin by reading this syllabus in its entirety paying particular attention to the section titled Course Requirements.
  2. Access the Assignments and Test01 sections for the course on Blackboard to get more specific information regarding the Assignments and the Test.
  3. Access Instructions for Downloading and Submitting Assignments to get specific instructions for downloading and submitting assignments.
  4. Access Instructions for Accessing and Taking Blackboard Tests to get specific instructions for accessing and taking Blackboard tests.
  5. Go to Follow the link to the Main page for your course, complete the online orientation, and confirm completion as described above.
  6. Follow the links to the learning resources provided at in order to complete the assignments, take the test, and successfully complete the course.

Course Description

WECM Description: Game and simulation programming. Includes advanced pointer manipulation techniques and pointer applications, points and vectors, sound, and graphics.

ACC Additional Description: Uses Microsoft C#/XNA Game Studio.

Course Rationale

  1. The first objective is for the student to understand and use object-oriented programming (OOP) as implemented by the C# programming language.
  2. The second objective is for the student to apply that OOP knowledge to Microsoft's XNA Game Studio to create graphical and sound effects and techniques that are useful in game programming.
  3. The third objective is for the student to demonstrate that knowledge by writing a basic 2D arcade-style game.

-End Course Description section-

Student Learning Outcomes/Learning Objectives

IMPORTANT: See the link to the Main Web Page for this course on the Course Description / Rationale page for additional information about this course, including a requirement for online orientation.

Course Objectives/ Learning Outcomes

WECM objectives: Incorporate sound and graphics in programs; develop programs that utilize 2D graphics; develop a basic 2D game; and write programs using advanced pointer techniques and applications.

ACC added objectives: Learn how to write Object-Oriented Programs using C# and how to apply that knowledge to the Microsoft XNA Game Studio.

In addition, the student will either be introduced to, or will use the following concepts, which are important workforce activities:

  • Design/Develop Program
  • Develop Structure
  • Implement Program
    • Write code
    • Perform unit testing
    • Integrate subsystems
    • Resolve defects and revise and adapt existing code
  • Test and Validate Program
    • Develop test procedures
    • Perform tests

Scans Competencies
The following list summarizes SCANS competencies addressed in this course.

1 – Concept
2 – Application
3 – Advanced

Competencies not covered by this course are not listed.

C1 Time:  Selects goal-relevant activities, ranks them, allocates time, and prepares and follows schedules.


C5 Acquires and evaluates information.


C6 Organizes and maintains information.


C7 Interprets and communicates information.


C8 Uses computers to process information.


C15 Understands Systems:  Knows how social, organizational, and technological systems work and operates effectively with them.


C16 Monitors and Corrects Performance:  Distinguishes trends, predicts impacts on system operations, diagnoses systems performance, and corrects malfunctions.


C18 Selects Technology:  Chooses procedures, tools, or equipment, including computers and related technologies.


C19 Applies Technology to Task:  Understands overall intent and proper procedures for setup and operation of equipment.


F1 Reading:  Locates, understands, and interprets written information in prose and in documents such as manuals, graphs, and schedules.


F3 Arithmetic:  Performs basic computations; uses basic numerical concepts such as whole numbers, etc.


F4 Mathematics:  Approaches practical problems by choosing appropriately from a variety of mathematical techniques.


F5 Listening:  Receives, attends to, interprets, and responds to verbal messages and other cues.


F9 Problem Solving:  Recognizes problems and devises and implements plan of action.


F10 Seeing Things in the Mind’s Eye:  Organizes and processes symbols, pictures, graphs, objects, and other information.


F12 Reasoning:  Discovers a rule or principle underlying the relationship between two or more objects and applies it when solving a problem.


F13 Responsibility:  Exerts a high level of effort and perseveres towards goal attainment.


-End Student Learning Outcomes / Learning Objectives section-


IMPORTANT: See the link to the Main Web Page for this course on the Course Description / Rationale page for additional information about this course, including a requirement for online orientation.

C#/XNA textbook

Title: Learning XNA 4.0
By: Aaron Reed
Publisher: O'Reilly Media

  • Print
  • Ebook
  • Safari Books Online

ISBN: 9781449394622

C#/XNA Game Studio online resources

In addition, you may need to consult various online resources for the XNA Game Studio.


It should not be necessary for you to purchase any software in order to complete this course successfully.  All of the software that you need should either be available in the ACC lab at NRG, or is freely available for downloading via the web. (Also see Xna0100-Getting Started.)

-End Readings section-

Course Requirements

IMPORTANT: See the link to the Main Web Page for this course on the Course Description / Rationale page for additional information about this course, including a requirement for online orientation.

Assignment and Test Schedules

During the Fall and Spring semesters, this course is offered during the 16-week session. In the summer, the course is offered in the 9-week session. The information in this section is intended to apply to both sessions.

You must complete nine take-home programming assignments. (See Assignments in the left-side menu in Blackboard). Also see Instructions for Downloading and Submitting Assignments.

You must also complete one online Blackboard test (See Test01 in the left-side menu in Blackboard.) This test is further described in the document titled Instructions for Accessing and Taking Blackboard Tests.

You may submit each assignment up to two times before the submission deadline explained below. Your highest score among the two scores for each assignment will be used to compute your final grade.

You may take the test up to two times before the submission deadline. Your highest score among the two scores for the test will be used to compute your final grade.

Given that there are nine programming assignments and one test, you must submit ten separate items during the semester. The submission deadlines for the items vary depending on the session in which you are enrolled. You can find the submission deadline for each item by opening your course in Blackboard, selecting Tools from the left-side menu, and selecting My Grades. You can also find the submission deadline for each item by opening your Blackboard calendar. It will not be possible for you to submit an item after 11:59 PM on the date shown.

Note that submission deadlines may fall on holidays or on other days that the campus is closed. If so, you need to anticipate that circumstance and make appropriate arrangements in advance to avoid missing a deadline.

For general planning purposes, the deadline for the first assignment (Asg01) in the 16-week session is approximately four weeks following the first day of class. The deadlines for the remaining 9 items occur approximately every nine days thereafter. The deadline for the test follows the deadline for Asg09.

The startup time and the time interval between deadlines is correspondingly shorter for the 9-week session.

You are permitted and encouraged to submit your assignments and to take your tests early.

Academic Testing Centers

This course may require you to complete the online Blackboard test in an ACC Academic Testing Center. It is the student's responsibility to make all necessary arrangements with the testing center to complete the test, including accessibility, hours of operation, etc. It is also the student's responsibility to comply with the Testing Center Guidelines(In the event that you find the above link broken, you can search for and access testing center requirements from the main ACC web site.)

Classroom testing

Students enrolled in a classroom section must complete the online Blackboard test during a regularly scheduled class or lab period AND must request to take the test during the first ten minutes of the class or lab period.

Grade Policy:  Your grade will be based both on concepts and practical application.

Grading Scale: Letter grades will be assigned as follows:
90% - 100% A
80% - 89%  B
70% - 79%  C
60% - 69%  D
 0% - 59%  F

Final grade computation

Each of the nine assignments and the test listed earlier will be weighted equally when computing your final grade. Depending on the final scores of all the students taking the course, it is possible that a curve may be applied to the final grades before they are submitted for recording.

Test details

The online Blackboard test covers chapters 1 through 5 in the textbook and all of the XNA programming modules listed listed under Contents at XNA Game Studio.

-End Course Requirements Section-

Course / Class Policies

IMPORTANT: See the link to the Main Web Page for this course on the Course Description / Rationale page for additional information about this course, including a requirement for online orientation.

Although it is technically possible for a student to transfer from one section to another section of the same course, this process has caused many problems in the past, and is not allowed unless the reasons for the transfer are compelling.  Students desiring to transfer between CIS/CSC courses must first obtain permission from an Assistant Dean for CIS/CSC who will initiate the paperwork.  (Note, however, that I will allow you to informally transfer between my in-class section and my distance-learning section of the same course at any time during the semester in those semesters where both are available.)

Here is the official information that I have received regarding Incomplete grades:

A student may receive a temporary grade of "I" (Incomplete) at the end of the semester only if ALL the following conditions are satisfied:

  1. The student is unable to complete the course during the semester due to circumstances beyond their control.
  2. The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
  3. The request for the grade must be made in person at the instructor’s office and necessary documents completed.
  4. To remove an “I”, the student must complete the course by two weeks before the end of the following semester.  Failure to do so will result in the grade automatically reverting to an “F”.

To give you an idea of the gravity of the situation, I don't recall ever having given a student a temporary grade of "I" during my entire teaching career at ACC.

Freedom of  Expression Policy: 
It is expected that faculty and students will respect the views of others when expressed in classroom discussions.

Academic Integrity:
A student is expected to complete his or her own projects and tests.  Students are responsible for observing the policy on academic integrity described in the Current ACC Student Handbook.

“Acts prohibited by the college for which discipline may be administered include scholastic dishonesty, including but not limited to cheating on an exam or quiz, plagiarizing, and unauthorized collaboration with another in preparing outside work.  Academic work submitted by students shall be the result of their own thought, research or self-expression.  Academic work is defined as, but not limited to tests, quizzes, whether taken electronically or on paper; projects, either individual or group; classroom presentations, and homework”. 

The penalty accessed for violations will be in accordance with the current ACC Student Handbook policy. See  for more information.

Attendance Policy:
The college policy states that students are expected to attend classes and will be held responsible for all material covered in class. Regular attendance helps ensure satisfactory progress towards completion of the course.

(Students enrolled in Open Campus classes are not expected to attend class.  Prof. Baldwin does not call the roll and does not maintain an official record of attendance.)

Withdrawal Policy:

It is the student's responsibility to complete a Withdrawal Form in the Admissions Office if the student wishes to withdraw from this course. The last date to withdraw is provided in the ACC Academic calendar for the semester in which the student is enrolled.

It is not the responsibility of the instructor to withdraw students from the course even though the instructor has the prerogative to do so under various circumstances. For example, the instructor may elect to withdraw students from the course if he notices at some point that any one or more of the following is true:

  • The student has failed to successfully complete and submit three or more assignments or tests in a row. (Successful completion is defined as a grade of at least 70-percent on the assignment or test.)
  • There is insufficient work remaining for the student to earn a final grade of at least 70-percent in the course.
  • The student has given the instructor reason to believe that the student is not actively engaged in the course.

A grade of "W" will be automatically assigned if the student initiates a withdrawal through the Admissions and Records office, in accordance with the requirements of that office or if the student is withdrawn from the course by the instructor.  If the student fails to complete the work and also fails to properly withdraw (and is not withdrawn by the instructor), a grade of A, B, C, D, or F will be assigned in accordance with the work that was completed.

State law regarding withdrawals:
My interpretation -- no more than six course withdrawals allowed throughout your undergraduate education, regardless of how many colleges you attend.  Apparently, students who entered college before Fall 2007 are not affected.  Ask a counselor for the official ACC interpretation.

Students with Disabilities Policy:
“Each ACC campus offers support services for students with documented physical or psychological disabilities. Students with disabilities must request reasonable accommodations through the Office for Students with Disabilities on the campus where they expect to take the majority of their classes. Students are encouraged to make this request three weeks before the start of the semester. (Refer to the Current ACC Student Handbook)”

Testing Center Policy (Open Campus Sections Only):
Visit the ACC web site at Select Search, and then search for the keywords testing center.

Concealed Handgun Policy
The Austin Community College District concealed handgun policy ensures compliance with Section 411.2031 of the Texas Government Code (also known as the Campus Carry Law), while maintaining ACC’s commitment to provide a safe environment for its students, faculty, staff, and visitors.

Beginning August 1, 2017, individuals who are licensed to carry (LTC) may do so on campus premises except in locations and at activities prohibited by state or federal law, or the college’s concealed handgun policy.

It is the responsibility of license holders to conceal their handguns at all times. Persons who see a handgun on campus are asked to contact the ACC Police Department by dialing 222 from a campus phone or 512-223-7999.

Refer to the concealed handgun policy online at

-End Course / Class Policies section-

Course Subjects

IMPORTANT: See the link to the Main Web Page for this course on the Course Description / Rationale page for additional information about this course, including a requirement for online orientation.

Topics for the course

This course will cover the following five chapters in the textbook:

1. Getting Started
2. Fun with Sprites
3. User Input and Collision Detection
4. Applying Some Object-Oriented Design
5. Sound Effects and Audio (excluding XACT)

In addition, the course will cover all of the XNA programming modules listed under Contents at XNA Game Studio.

Although the material from the five chapters of the textbook listed above will be covered in the course, the first chapter of the textbook assumes that you already have "a basic knowledge of the .NET Framework and C#."

While some of you may already have that knowledge, such knowledge is not a prerequisite for this course. Therefore, the early portions of this course are designed to help you attain that basic knowledge of C# and object-oriented programming (OOP) before applying that knowledge to the use of the XNA Game studio.

An understanding of OOP using C# is a necessary prerequisite for understanding the XNA Game Studio.

That is the reason that we will only cover the first five chapters in the textbook.

Website tutorial topics

Topics will be covered in the order that they appear under Contents at XNA Game Studio.

Classroom discussions

Students are expected to study the material before class and to bring their questions to class for discussion. The classroom discussion schedule will be determined by the number and types of questions brought to the classroom by students.

-End Course Subjects section-

Creative Commons License This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.