Syllabus and Class Information
Computer Science 336
Fall 2023

Meeting times

TR 9:30 - 10:45 in Hoover 1227


Steve Kautz
Office: Atanasoff 101
ISU email: smkautz
Office Hours: M 2:30 - 3:30
T 12:00 - 1:00
R 12:00 - 1:00
(Please send email if you need to see me at some other time.)

Teaching Assistants

Jiale Feng
ISU email: colour
Office Hours: T 3-4 pm in Pearson 0145

Mohammed Rafi
ISU email: mohd7
Office Hours: R 3-4 pm in Pearson 0145


You should have already taken Com S 327 or embedded systems, that is, you are expected to have done some detailed programming at a level beyond 227/228 and hopefully be familiar with C and C++. The other requirement is that you should have taken, or be concurrently enrolled in, a linear algebra course or Calculus III. Although we'll cover most of the math we need in class, we will do so fairly quickly. The math prerequisite is there to help ensure that you have enough prior experience that you won't get bogged down with it.

If you are missing a prereq, be sure to talk to me. There's a form we have to send to the advising office so you don't get dropped.


This is an introduction to computer graphics emphasizing real-time 3D rendering using OpenGL with programmable shaders. Specific topics include:


After completing Com S 336, the student should be able to:

Textbook and Software

Although there is no "required" textbook, there is plenty of stuff you'll need to read.

See this document on course resources for more details on recommended books, software, tools, and references.

Piazza and Canvas

We'll use Canvas for announcements, homework posting and submission, and grades. We will be using Piazza for discussions. Log into Canvas and click the "Piazza" link in the navigation bar at left to get started.

Turning off Piazza email notifications

By default, Piazza sends out periodic emails. It is easy to turn these off. After you sign up for Piazza,
  1. Find your name in the upper-right corner of the Piazza screen
  2. Click the drop-down menu and select "Account/email settings"
  3. Under "Class and email settings", find Com S 336
  4. Click on the link "Edit email notifications" in the small, blue font
  5. Edit as you see fit, e.g. "No Email"
Note that even if you select "No Email", you will still get course announcements that we believe to be either urgent or important. We will keep this to a minimum.

Homework and Projects

We'll have regular, individual homework assignments. Some of these may be written math-type problems but most will involve programming. In addition, there will probably be one project that is somewhat more extensive (e.g. a few weeks) in which you will investigate an advanced graphics technique and use it to create something original. Part of the project may include presenting a short tutorial and demonstration to the class sometime near the end of the term.

Programming assignments will primarily use JavaScript combined with GLSL, the OpenGL Shading Language, which is based on C. We will be using WebGL, which provides JavaScript bindings for the OpenGL functions and allows rendering to take place within an html canvas element. See the resources page for more details.

Late policy

10% off per day (including weekend days and holidays) up to a maximum of 4 days late; no credit after 4 days.

Exams and Grading

THIS IS TENTATIVE: Letter grades will be based on an overall weighted average with approximately the following weights: The class will follow Iowa State University's policy on academic dishonesty. All suspected cases of academic dishonesty will be reported to the Dean of Students Office. See

Unless specifically instructed otherwise, every assignment and project is to be the product of your own intellectual effort and is to be done on your own. Anyone found guilty of academic dishonesty will receive an automatic F in this course.

Accessibility Statement

Iowa State University is committed to assuring that all educational activities are free from discrimination and harassment based on disability status. Students requesting accommodations for a documented disability are required to work directly with staff in Student Accessibility Services (SAS) to establish eligibility and learn about related processes before accommodations will be identified. After eligibility is established, SAS staff will create and issue a Notification Letter for each course listing approved reasonable accommodations. This document will be made available to the student and instructor either electronically or in hard-copy every semester. Students and instructors are encouraged to review contents of the Notification Letters as early in the semester as possible to identify a specific, timely plan to deliver/receive the indicated accommodations. Reasonable accommodations are not retroactive in nature and are not intended to be an unfair advantage. Additional information or assistance is available online at, by contacting SAS staff by email at, or by calling 515-294-7220. Student Accessibility Services is a unit in the Dean of Students Office located at 1076 Student Services Building.

Free Expression Statement

Iowa State University supports and upholds the First Amendment protection of freedom of speech and the principle of academic freedom in order to foster a learning environment where open inquiry and the vigorous debate of a diversity of ideas are encouraged. Students will not be penalized for the content or viewpoints of their speech as long as student expression in a class context is germane to the subject matter of the class and conveyed in an appropriate manner.

Dead Week, aka "Prep Week"

This class follows the Iowa State University Prep Week policy as noted in section 10.6.4 of the Faculty Handbook. There will be work due during Prep Week.

Harassment and Discrimination

Iowa State University strives to maintain our campus as a place of work and study for faculty, staff, and students that is free of all forms of prohibited discrimination and harassment based upon race, ethnicity, sex (including sexual assault), pregnancy, color, religion, national origin, physical or mental disability, age, marital status, sexual orientation, gender identity, genetic information, or status as a U.S. veteran. Any student who has concerns about such behavior should contact his/her instructor, Student Assistance at 515-294-1020 or email, or the Office of Equal Opportunity and Compliance at 515-294-7612.

Religious Accommodation

If an academic or work requirement conflicts with your religious practices and/or observances, you may request reasonable accommodations. Your request must be in writing, and your instructor or supervisor will review the request. You or your instructor may also seek assistance from the Dean of Students Office or the Office of Equal Opportunity and Compliance.

Contact Information

If you are experiencing, or have experienced, a problem with any of the above issues, email