CPSC 424 Computer Graphics Fall 2025

CPSC 424 Policies

On this page:


Course Communication

Assignments, handouts, and materials from class will be posted on the course web page, specifically the schedule page. You will need to check this page regularly to make sure you stay up-to-date.

Some material may be posted on Canvas. There will always be a reference to the existence of this material on the schedule page so that you don't need to also check Canvas for updates.

Email will be used for individual communications and for time-sensitive announcements, so you should also regularly check your HWS email account.


Classroom Conduct

Learning is much more effective if you are engaged in the material. You should come to class prepared for the day's activities, and should be on task during class — please do not surf the web, text, play games, do assignments for other courses, etc during class or lab time. Also please do not wear headphones or earbuds during lab — it makes it difficult to interact with you, and you may miss important announcements to the class about assignments.

Handwriting notes, whether on paper or a tablet, rather than typing has many advantages for retention, including making you think about the material to determine what to write down instead of simply trying to capture everything verbatim. Keep in mind that everything that appears on the screen in class — slides, examples, and code written in class — will be posted on the schedule page after class so that you do not need to try to copy it all down. If you do use a laptop or other device to take notes, you are encouraged to turn off notifications and close other applications to reduce the temptation of those distractions.

Arriving late, leaving early, and coming and going during class is distracting to me and your fellow classmates. Please endeavor to arrive on time, and to take care of any necessary business before or after class so you can be present for the whole class period. If you know in advance that you will need to miss part or all of a class, please let me know.


Assignments and Evaluation

Reading: The textbook is a good reference, but because we are skipping several early chapters on OpenGL 1.1 and starting with WebGL, reading the textbook for your first introduction to new material will be a little more challenging. It's not a bad idea, however, to look through any assigned reading for the main ideas before coming to class.

Labs: Hands-on practice is essential for learning and mastery, and labs provide an opportunity to apply the material for yourself. You are expected to attend all scheduled labs. You will generally not be able to complete all of the lab exercises during the lab period and should expect to spend time outside of class finishing them.

Projects: There will be a midterm project partway through the course and a final project due at the end. While there may be an occasional class or lab period devoted to working on projects, particularly later in the course, the bulk of both projects are to be completed outside of class.

Exams: There will be four in-class exams, three during the semester and one during part of the final exam timeslot. The rest of the final exam timeslot will be used for final project presentations; attendance is expected (just like regular class periods). Dates and times are posted on the schedule page.

Grades: Final grades will be computed as follows:

  • Labs: 35% (approx. 3% each)
  • Projects: 25% (midterm project 10%, final project 15%)
  • Exams: 40% (10% each)

Engagement and Participation: Learning isn't a passive activity where you sit back and watch someone else do things — you need to work with the material by thinking about it, trying to apply it, asking questions about it, and so forth, and a lack of engagement often translates into poorer performance on assignments and exams. Being fully engaged in the course means being prepared for class by reviewing the previous material and doing any assigned reading, being on task during class and lab, making meaningful contributions to class by asking or answering questions, and coming to office hours.

Extra credit: There may be opportunities to earn extra credit on some assignments by going going above and beyond the requirements of the assignment and/or tackling some harder tasks. You are encouraged to take advantage of these opportunities to challenge yourself! No additional extra credit assignments or special extra credit opportunities will be given — the time to worry about your grade is during the term, not at the end.


Attendance, Making Up Work, and Rescheduling Exams

You are expected to be on time for all class meetings and lab sessions, and to be present and engaged in the class/lab for the full period. ("Engaged" means paying attention and participating when appropriate, not just being physically present but doing something else.)

However, while attending and participating in class and lab should be a high priority, it is understood that there are occasionally circumstances when you may be unable to attend class/lab. It is especially important that you not expose others to illness if you are sick.

  • If you have an unavoidable conflict with the date of an exam, you must notify me as soon as possible and make arrangements beforehand. Note that only your dean can reschedule the final exam. A missed exam can only be made up after the fact in the case of a last-minute emergency that prevents you from attending class. You must notify me of the situation as soon as possible, and may not discuss any aspect of the exam with anyone else.

  • If you miss class or lab, you are responsible for making up missed content — make sure that you check the schedule page for new assignments and materials from class, and come to office hours if you have any questions or need help with any aspect of the material. This should be done promptly to avoid falling behind — the course material is cumulative, and we move steadily through it.

Any absence, no matter the reason, puts a greater burden on you to catch up on missed content and means that you miss out on the discussions, activities, and opportunities for participation and practice that take place in class and lab. Students who regularly miss class/lab often struggle to catch up and consequently end up doing poorly in the course.

  • Missing more than six classes or more than two labs will result in a 1/3 letter grade deduction on the final grade (e.g. an A- drops to a B+ or a C drops to a C-).

  • Missing more than three classes or more than one lab may result in up to a 1/3 letter grade deduction on the final grade unless you are proactive about communication regarding your absences (including notifying me of an upcoming absence as soon as you know about it), diligent about making up missed content, and more engaged in other aspects of the course (participating in class, asking questions, coming to office hours, etc).

Repeated late arrivals or early departures may be counted as an absence.


Late Work and Extensions

There is a steady workload throughout the course, and foundational topics introduced earlier are used and built on later in the course. Both of these mean that it is important to stay on track — it is difficult to catch up if you get behind, and every effort should be made to hand in assignments on time. The deadlines are where they are for a reason!

However, as with attendance, it is understood that there may occasionally be extenuating circumstances which make meeting a particular deadline difficult.

Late handins: Labs and projects may be handed in for credit up to four weeks after the due date, inclusive of college recesses and extensions (or the final end-of-semester deadline, whichever comes first). A deduction of 10% per day up to a maximum of 50% will be applied. Deductions are based on calendar days, so a lab due in lab on Tuesday is considered one day late if turned in any time before midnight Wednesday, two days late between 12:01am and midnight Thursday, etc. College recesses aren't counted, so, for example, a lab due on Tuesday the week before fall break is three days late if turned in on that Friday and four days late if turned in on the Wednesday following the break.

Extensions: Three "free extension" tokens are available — one token grants a 3-day extension on a lab or a 1-day extension on a project, two tokens grant a 3-day extension on a project. You do not need to provide a reason to use a token, just email me before the deadline to let me know that you want to use a token. Late penalties begin to accrue after the extension period ends, so a lab due on Tuesday and handed in on Sunday is considered to be two days late. There is a limit of one use of tokens (for a 1-day or 3-day extension) per assignment.

Extension tokens and late handins are meant to allow for the occasional need for a little extra time on a particular assignment. If you are struggling with the material, seek help promptly at office hours so that you don't fall behind and routinely need an extension.

Major disruptions: If a situation arises that has (or has the potential to have) a significant and/or long-term impact on your academics, see me as soon as possible to discuss managing your coursework and a timeline for getting back on track.

No work will be accepted after the end of the Registrar-scheduled final exam time slot except in the case of an incomplete. Extension tokens may not be used to extend this deadline and assignments due after Nov 20 will have a shortened late handin window.


Academic Integrity and Collaboration

The HWS Principle of Academic Integrity governs all of the work completed in this course. Students should read the full policy in the HWS Catalogue: https://www.hws.edu/catalogue/academic-policies.aspx

For this course:

What you turn in for a grade must be your workyour ideas and your effort.

For exams, the meaning of this should be clear — you may use specifically authorized resources only, and may not discuss with or seek help from other people.

For individual assignments, you may not work collaboratively with others to construct a solution. Discussing concepts or approaches and getting help from others is generally OK (unless prohibited by specific instructions for the assignment). For group assignments, you are expected to collaborate fully within the group but may not work collaboratively with other groups.

When the assignment calls for creating a result to meet certain specifications, the following excerpt from a post by Alex Gourevitch, a professor at Brown University, provides perspective for understanding what is acceptable and what is not:

The point of writing assignments in college is not the product but the process. The process involves having to face a question, work out what you think, roll it over in your mind, make false starts, try again, and, after all that, develop your own thinking. If you take the process at all seriously then you should come out a little different at the end than at the beginning. And if it is a process you have to engage in repeatedly, over the course of college, then you graduate more than a little different than when you entered.

It is true that the writing process happens to issue in a product: the essay. And yes, you only go through the process because you have to produce the essay, and you feel pressure to produce a decent essay because you know that is what will be graded. But it's still not the product that is the point. It is the development of those capacities for understanding questions, considering possible answers, working with and through language for yourself. Those are abilities of general value in life, not just in a specialized academic setting. ... Which again, is why the particular product is not really the point, at least not in college.

ChatGPT is a problem not just because it means something produces the essay for the student, but because it also suggests that something can do the thinking for you too, and that the whole point of the exercise was the product.

Prof. Gourevitch addresses writing assignments, but the same ideas apply to writing WebGL programs or creating Blender scenes: the point of these assignments is the process of creating the end result — having to face a task, work out how to accomplish it, understand the underlying concepts and the necessary skills, make mistakes, fix bugs, and, after all that, develop how to solve future problems. Your ideas and your effort means not shortcutting that process.

  • Copying part or all of someone else's solution is expressly prohibited and it is never acceptable to be in possession of someone else's program or solution before you have handed in your own. This includes both computer files and paper copies, and also solutions produced by generative AI (such as ChatGPT and Codex), "homework help" or "study aid" sites (such as Chegg and Course Hero), and sites where you post a homework problem or question and solicit answers from others. Decompiling or reverse-engineering someone else's code (including provided code) is also prohibited.

  • Furthermore, using someone else's solution to the same or a substantively similar problem "as an example" for your own solution is prohibited, even if you make changes.

Beyond the hopefully crystal clear don't copy someone else's files, things can get murky — in technical fields, a great deal of learning how to do something comes from following and adapting examples, collaboration is a norm in areas like software development, and AI tools are rapidly gaining ground in professional settings. Furthermore, with WebGL there is a lot of boilerplate that is the same or virtually the same in every program — it's unrealistic not to copy this from one program to the next as a starting point, and for a lot of the technical points it's not so much an example of how to do something but exactly how to do it. In this course:

  • WebGL programs involve a lot of similar boilerplate and a lot of API calls with many steps to accomplish tasks. Copying chunks of code from examples provided in class or in the textbook and from your own previous assignments in the course is generally allowed.

  • The course materials (slides and examples from class, the textbook) and office hours should be your first resource for understanding the material and completing assignments. Using and adapting examples from these materials is fine.

  • If you go further afield (e.g. the Internet), look for explanations of concepts or examples of specific technical points rather than solutions for the specific tasks you need to accomplish.

  • It is always your responsibility to be diligent about making sure you fully understand any sources used and any help received. This means you can apply the knowledge in a new situation, not just that you think "oh yeah, that makes sense" when you read through an example or someone explains something to you.

A first offense may result in a warning, depending on the nature of the infraction. A second offense (and more severe first offenses) will result in a penalty up to and including a 0 on the assignment or portion of the assignment. Additional offenses are grounds for failure in the course. In all cases, the situation may also be referred to the Committee on Standards.

Ignorance of the policy and desperation ("It was the night before it was due and there wasn't anyone else to ask!") are specifically not excuses for violating academic integrity policies. If you are having trouble with the course material, come to the instructor! It is never advantageous to "borrow" someone else's solution, and the time spent trying to disguise this "borrowing" is far better spent getting help.


Use of AI

Certain uses of AI are allowed. AI usage is not required.

For WebGL programs and coding tasks:

  • You may use the inline coding suggestions, explain, fix, and review and comment features of GitHub Copilot as available through the GitHub Copilot extension in VSCode and powered by GitHub Copilot Free. Similar functionality provided by other AI models is also acceptable. In all cases, include a comment in your program indicating what features you used and how often you used them e.g. "I used Copilot inline coding suggestions extensively and fix to track down a couple of bugs."

  • You may not generate code from English prompts.

If you use AI tools, you must be diligent about maintaining agency with your coding and your understanding of the code and the underlying concepts. Copilot shouldn't become Autopilot! Treat it as an unreliable peer — don't blindly accept whatever is suggested or stated — and beware of developing a dependence on it. Use the snooze feature to turn off code completions temporarily (or disable them for longer periods), avoid using explain or fix until after you've tried to figure things out for yourself without using AI tools, etc.

For writing tasks (writeups, final project paper):

  • You may use AI for revision and editing i.e. to review a draft and make suggestions about organization and clarity to improve your writing, and to check spelling, punctuation, and grammar. If you use AI in any way in your writing, you must include a short statement indicating what AI model(s) you used, what you used AI for, and how extensively you used it.

  • You may not use AI to generate ideas or content, or to write a first draft.

AI may not be used in other ways for completing assignments (labs and project).

For exploring and reviewing concepts outside the context of completing a specific assignment, AI use is neither forbidden nor encouraged. Keep in mind that AI can appear just as authoritative when providing true information as when it makes things up — always employ critical thinking and fact-check any content with reliable sources.

Appropriate AI usage is a rapidly developing topic. I welcome conversations about how you are using AI and whether you find it useful as well as why you might not be using AI and why.


Being Successful

There is a steady schedule of assignments and many aspects of the course material are cumulative — don't fall behind! Review each day's material soon after class, start on assignments early (it is better to spend some time each day than to set aside a large block of time the night before the assignment is due), ask questions, and take advantage of office hours if you are stuck on something or want to discuss ideas. Letting a point of confusion slide can quickly snowball and then it is very difficult to catch up.

Note taking on paper is encouraged as it avoids the distraction of electronic devices and the act of handwriting helps with retention of information. If you do use a laptop or other device to take notes, you are encouraged to turn off notifications and close other applications to reduce the temptation of those distractions. Either way, anything that appears on the projector screen — slides or code — will be posted on the schedule page soon after class, so you don't need to copy down all of that material in your notes. I recommend that you (only) make note of key ideas and examples during class and then rewrite your notes, filling in other details and relevant information, soon after class. This allows you to pay more attention during class, increases your engagement with the material, and helps you identify what you need to ask questions about.

There are many resources to help you be successful in the course:

  • The primary resources for this course are the textbook, course website, materials provided in class, and office hours. Start with these! (If you can't make the scheduled drop-in office hours, email me to arrange another time.)

  • For more general help, such as with writing, study skills, or time management, you are encouraged to check out the Center for Teaching and Learning (CTL). See the CTL Syllabus Statement below.

  • Your dean is an important and valuable resource. See the HWS Deans' Syllabus Statement below.

  • For accommodations, see the Office of Disability Services Syllabus Statement below.

  • For help or support with mental health or other issues, contact the Counseling Center, or reach out to me, your dean, or anyone else you feel comfortable talking to.

Finally, if there is something related to the course format or materials that would help you be more successful in the course, please come discuss it with me.

CTL Syllabus Statement

At Hobart and William Smith Colleges, we encourage you to learn collaboratively and to seek the resources that will enable you to succeed. The Center for Teaching and Learning (CTL) is one of those resources: CTL programs and staff help you engage with your learning, accomplish the tasks before you, enhance your thinking and skills, and empower you to do your best. Resources at CTL are many: Teaching Fellows provide content support in 13 departments, Study Mentors help you manage your time and responsibilities, Writing Fellows help you think well on paper, and professional staff help you assess academic needs.

I encourage you to explore these and other CTL resources designed to encourage your very best work. You can talk with me about these resources, visit the CTL office on the 2nd floor of the library to discuss options with the staff, or visit the CTL website.

Study Mentors: The CTL resource especially valuable to students either just starting college OR adjusting to the major's demands is the Study Mentor program. Study Mentors engage directly with each student: they help you find the time you need for both your academic and co-curricular activities, and can help you find strategies to enhance your reading and study time. Study Mentors may be especially important for those of you who are involved in many activities, work on or off campus, are studying for Teaching Certification, graduate school exams, or prepping for fellowships, or any demanding schedule.

To meet with a Study Mentor, make an appointment via StudyHub on the CTL website. You can also contact Ingrid Keenan, x3832, keenan@hws.edu, or drop in at the CTL office on the 2nd floor of the library.

HWS Deans' Syllabus Statement

At Hobart and William Smith, the deans are one of the academic resources that will enable you to succeed in your learning and degree goals. The Office of the HWS Deans (located on the first floor of Smith Hall) is open Monday-Friday 8:30am to 5:00pm and is a central space where students can meet with a dean to: 1) talk about academic plans; 2) be connected to resources and assistance for academic success; 3) learn about honor societies, mentorship, and deeper academic involvement; 4) receive help communicating with faculty and other staff on campus; and 5) discuss challenges that impact academics. We encourage you to learn about your dean (individual dean assignments are listed in PeopleSoft) by visiting our website (Office of the Deans) and our Resources page to help you have the best possible learning experiences on campus. Students can schedule individual meetings with a dean by calling (315) 781-3467 or emailing HWSdeans@hws.edu.

Office of Disability Services Syllabus Statement

If you are a student with a disability for which you may need accommodations and are new to our office, you should self-identify by logging into the Accommodate Portal, Initial Accommodation Request Form, and completing the Accommodation Request Form. Disability-related accommodations and services will be provided when the registration and documentation process is complete.

Returning students may request accommodations by logging into the Accommodate Portal and submitting a Semester Request. Should you need to meet to add or discuss accommodations, please schedule an appointment with the Associate Director of CTL for Disability Services.

Please direct questions about this process or Disability Services at HWS to ctl@hws.edu or x3351.