Course Notes

Updated on Dec 18 2016

see also C++ Resources

 Quick Links
Compiling Summary Table
Quick Reference
Math for VSFX

Due Dates

copyright  Deborah R. Fowler

VSFX 375: Resources

Deborah R. Fowler

Resources for VSFX 375 Advanced Programming for Visual Effects

Posted 2013
Updated on Dec 18  2016

click here for C++ Information

click here for Coding Standards
click here for Good Programming Practices

click here for Submission Guidelines and Rules

click here for Expectations

Assignments are available online only.

Due Dates

Deadlines (by class number) Grading
Ex 1
out 1
due 4 (Introduction)
Ex 2
out 4
due 6 (Functions)
Ex 3
out 6
due 9 (Introductory OOP)
Ex 4
out 11
due 13 (Introductory OpenGL)
Ex 5
out 13
due 16 (OOP/OpenGL)
out 16
due 20


A general grading guideline rubric is here

Please note: Exercises are in increasing levels of challenge - be sure to start early.

Class Notes

Class 1     

Review of key programming concepts and Introduction to C++ programming.

Pre-quarter Assignment: Read chapters 1-3 of the required text.

In class exercise: write a simple program to print "Hello World" and compile using the command line.


Exercise 1 assigned.

Class 2   

Continuing Introduction of C++ programming. Variables, Flow Control, arrays, loops.

In class exercise: Practice using the for and while loops.


Continue to work on Exercise 1.

Class 3

Review of Flow Control in C++, arrays, Introduction to Vectors.

In class exercise. The exercise that was created last class with arrays will be changed to use vectors.


Finish Exercise 1 and read chapters 4 and 5

Class 4   

Functions: Examples and Practice.

In class exercise: Practice with writing simple functions using pass by value.


Exercise 1 (C++ Intro) DUE. Exercise 2 assigned. Read over Exercise 2 and come to next class with questions.

Class 5  

OOP - Object Oriented Programming: Concepts. Constructors, Destructors.

In Class:

The in class exercise that was used with arrays and vectors will be re-written using classes.


Finish Exercise 2 and Read Chapter 7.

Class 6

OOP - Access Levels, Data Access, Member Functions.

In class exercise - continued from last class.


Exercise 2 (Flow Control/Functions) DUE. Exercise 3 assigned.

Class 7

OOP - Inheritance: Concept and Examples.

In class exercise - practice with inheritance in OOP.


Exercise 3 OOP will be to re-write the task of Exercise 1 using object oriented programming methodology.

Class 8

Pointers and References: Brief Introduction.

In class exercise - practice with pointers.


Read Chapter 8.

Class 9

Midterm Review.

In class: A quiz will be given to ensure the concepts covered thus far are well established so that we can build on these during the next phase of programming.


Exercise 3 (C++ OOP)  DUE.

Class 10  

Examples and Practice - Studio Time.

Review of the quiz and any concepts that there may be questions regarding their implementation.

Homework: read over the website section on OpenGL.

Class 11   

OpenGL - Introduction.

Exercise 4 (Introduction to OpenGL) assigned.

In class exercise: several simple opengl examples will be utilized hands on to ensure a basic understanding of the process including graphics in code.

Homework: Read over Exercise 4.

Class 12  

In class exercise: several simple opengl examples will be utilized hands on to ensure a basic understanding of the process including graphics in code.

Homework: Continue to work on Exercise 4.

Class 13

OpenGL - More Details.

Exercise 4 (Intro OpenGL) DUE.

In class exercise: experiment with OpenGL.

Homework: Implement Exercise 5, at least until the part where the tanks are moving, perhaps not shooting.

Class 14  

OpenGL - More Details.

In class exercise: beyond tank movement will be examined.


Implement the remainder of Exercise 5.

Class 15

Discussion of WebGL.


Think about what type of project you might be interested in implementing.

Class 16

Exercise 5 DUE. Project assigned.

In class: presentations of Exercise 5 results.


Devise an outline for your plan of action for your project.
Class 17

OOP - Polymorphism: Concept and Examples.

In class:

project plans will be reviewed and critiqued
polymorphism examples will be examined

Homework: develop project.

Class 18

In class: Final Project Review.

Class 19

Homework: Finalize project. This project will require and in-class live presentation. In the submission there must be a recording of the project in play completed.

Class 20

Project DUE. Presentations of the projects will take place, including a live and pre-recorded demonstration.