CS490 Software Production Studio, Spring 2023

Section Information

Course Title
Software Production Studio
MWF, 9:00–10:50, in RB368
Paul Gestwicki, Ph.D.

This is a multidisciplinary course in which students from different academic programs come together to produce an original game in one semester. Our work this semester will center an a collaboration with Minnetrista. The collaboration is sponsored by the Office of Immersive Learning.

The course catalog provides the following short description of the course:

Work with a multidisciplinary team to create an original software product. Students will use an iterative, incremental, user-centered approach to design, develop, test, and deploy their work. This course is open to all majors but is offered by permission only to ensure each team has a practical balance of skills and interests; contact the department for the next planned offering and application instructions.


CS490 is a three credit-hour class, and you are expected to invest nine hours of effort per week into it. This expectation is not arbitrary: it comes from federal student loan legislation. In a sense, these laws define what you pay for, or what you commit to doing, with federally-backed student loans. Hence, they are a standard for all of higher education in the United States.

In most three credit-hour courses, you are expected to spend two hours outside of class for each contact hour in class. CS490 is intensely product- and studio-oriented, and so we flip this expectation: we will spend six hours per week working together in the studio, and you are expected to invest another three hours of attention outside of our scheduled meeting times. These additional hours will include production work as well as participation in online discussions.


As per the undergraduate catalog, Computer Science majors are expected to have a laptop capable of running contemporary software development tools and to bring that machine to class meetings. Others who have production-capable laptops should bring those as well. As the semester progresses, we will have time to discuss how best to use personal and university resources to meet our creative goals.


We will begin the semester with an overview of some fundamentals of game design and development. This will give us some shared concepts and vocabulary as we move forward. We will quickly transition into production, which will follow an agile approach. We will work in short iterations, ensuring that each iteration produces a potentially-shippable product. That is, we will move as quickly as possible from idea to testable implementation.

The course withdraw deadline is March 20. It is recommended that you talk to the instructor if you are considering withdrawing since sometimes this decision is made through incomplete understanding of one's progress toward the learning objectives.

As per university policy, we will hold a meeting during our scheduled final exam slot.


Your learning is commensurate to your participation. This isn't a course where you show up and listen; this is a team to which you have responsibilities and are accountable to your teammates. Early in the semester, we will collectively develop a policy for attendance, which we will be able to revisit during the semester.

We will begin our meetings on time, which means you should arrive a few minutes beforehand, to give you time to get situated and exchange greetings with your classmates. It is inconsiderate to miss or be tardy for a meeting. Consider bringing treats to a future meeting by way of apology; your classmates will not forget this kindness. As with attendance, we will collectively establish a policy around tardiness early in the semester.

Stow your phone in silent mode for the duration of meetings. If you anticipate receipt of a communiqué so critical as to merit interrupting a meeting, it is certainly better not to be in that meeting at all. Remember that online meetings are meetings, too.

Always have paper and a writing implement on hand during meetings so that you are ready to take notes or record questions. The most frequent lie that we tell ourselves is, “I will remember this.”

Listen actively. Assume the speaker knows something you do not. Listening this way means you are not simply waiting for your chance to speak. More often, you are asking probing questions in order to build a better understanding of the other person's experience.

Most of our face-to-face communication is non-verbal; a corollary is that it is easy to misread someone's intention in text. Keep in mind The Rule of Three Interpretations. If you read something that rankles you—whether it appears to be bull-headed, offensive, or just plain wrong—pause for a moment. Think of three different possible interpretations of the text. The odds are that the most charitable one is correct.

Safety in software development is a crucial issue. We will formalize our methodology to ensure safety, using techniques such as stop work authority cards.



Your instructor has a Ph.D. in Computer Science and Engineering, and so it is appropriate to refer to him as “Dr. Gestwicki” or “Dr. G.” Since he is a professor, you could alternatively call him “Professor Gestwicki.”

If you prefer to be called by a name that is different than the one on the class roster, simply email the professor to let him know.

Consulting with the Professor

I am glad to talk to you about your work and your plans. You are welcome to email me any time with questions. I will almost always respond to such emails with two working days. We can also meet outside of our regular meeting times, either in the studio or on Zoom.

You can also find me on the Ball State University Game Design and Development Discord; you will find an invitation to join that group on Canvas.


All email communication to the instructor should be from a BSU-affiliated address. This policy ensures that senders can be correctly identified and protects your privacy. Email sent from other domains may not be answered.

You are expected to process your email at least daily.

The instructor may access email through services not affiliated with the University. Please note that such messages necessarily pass through the campus firewall in an unencrypted format, and they may be stored on servers not owned or managed by Ball State University. It is therefore advisable to restrict confidential information to appointments.

Please do not use Canvas' Inbox system to contact me; use email instead. I recognize that some faculty have the opposite recommendation, and I apologize for the confusion this may cause. Canvas' proprietary email substitute is simply not fit for purpose.


Although my office telephone number is listed on my Web site, it is not a reliable way to reach me. Email or online meetings are strongly preferred. I will respond to every student email I receive; I may not respond to telephone messages.



My philosophy of grading is informed by triage grading. This system observes that any artifact can be graded out of three points by classifying it as one of the following:

These correspond to the classical interpretations of letter grades as “excellent,” “average,” and “poor,” respectively, and B grades come from a mix of essentially correct and partially correct work. Work that is incomplete or incoherent fails to even be considered essentially incorrect and is given no points, which is an F.


There is no guarantee of success in creative work, and the objective quality of a game is difficult or impossible to measure. For this reason, you should expect your grade in the class to be determined by your process, contribution, and participation. Expect the relative weight of each week's work to be equal.

We will start the semester with structured work that is guided by the instructor. As we move into production, we will collectively develop a policy for assigning grades, and we will be able to revisit this policy during the semester. Interested students can read a sample methodology for distributed teams that I have developed during the pandemic. We are not (yet?) distributed, so our policies will differ slightly, but the essential structure and goals are the same.

Canvas Caveat

Note that Canvas lacks the robustness to implement my grading system. Neither use nor trust any summative grades reported by Canvas. Only use the system described on this page. A corollary to this is that if you want to “know how you are doing in the course,” you already have all the information you need.


Academic Integrity

Students and faculty are bound by the Student Academic Ethics Policy of the Code of Student Rights and Responsibilities. This means, among other things, that putting your name onto work and submitting it indicates that this is your original work. Any exceptions are to be clearly identified, such as through citation or in the README file that accompanies project work.

Intellectual Property

It behooves you to be familiar with fundamentals of copyright law and the university’s intellectual property policies for student-created work.

Agreement to Publicly Distribute Student Work

This course requires students to complete assignments that will be distributed publicly on the Internet and/or to external clients or partners. By taking this course, you consent to share your work as described in the syllabus. At the discretion of the instructor, high-quality work may also be included in the Ball State University Libraries' public digital student research collection for long-term access and preservation; however, you keep copyright to your work and will be named as the creator or co-creator. In some cases, it may be possible to remove your name from assignments that are made available publicly; please discuss this with the instructor.

The Writing Center

Want extra feedback on your papers? The Writing Center is a community of Ball State students and faculty who value writing. Come and collaborate with one of our trained peer tutors on any project for any major. The Writing Center is a comfortable, supportive environment for writers from all communities and backgrounds. It is located in Robert Bell 295. To make an appointment, go to https://ballstate.mywconline.com.

Notice for Students with Disabilities

If you need course adaptations or accommodations because of a disability, please contact the instructor as soon as possible. Ball State’s Disability Services office coordinates services for student with disabilities; documentation of a disability needs to be on file in that office before any accommodations can be provided. Disability Services can be contacted via the information on their Web site.

Statement on Diversity

The university governance system passed a resolution mandating that the following (or a mild variation) be included on all course plans:

Ball State University aspires to be a university that attracts and retains a diverse faculty, staff, and student body. We are committed to ensuring that all members of the community are welcome, through valuing the various experiences and worldviews represented at Ball State and among those we serve. We promote a culture of respect and civil discourse as expressed in our Beneficence Pledge and through university resources found at https://cms.bsu.edu/campuslife/multicultural-center.

Mandates should never be taken uncritically. You are encouraged to consider the following: