Syllabus - Computer Science 324e - Elements of Graphics and Visualization
 The University of Texas at Austin ∑ Fall 2012

Objectives: Basics of 2 and 3 dimensional computer graphics systems, modeling and rendering, and selected graphics software APIs. Other topics may include interactive graphics, animation, graphical user interfaces, image processing, and the graphical presentation of information.

Prerequisites: CS307, CS313e, CS314, CS314H, EE422c, OR EE322c with a grade of at least C-.

Lecture: 52870, MWF 11 am - 12 noon, UTC 3.134

Instructor: Mike Scott, <> Painter Hall 5.68,
Office Hours: MW 3 - 4:30  pm Painter Microlab (5th floor lab), Fridays noon - 4 pm (PAI 5.68 and Microlab. Priority given to students in CS378) and by appointment. Email me for an appointment.

Teaching Assistant: Sarah Abraham, email: , Lab Hours: M 12 - 2 pm, T 1 - 3 pm, W 9 - 11 am, Th 11 am - 1 pm

Textbook (Required): Filthy Rich Clients - Developing Animated and Graphical Effects for Desktop Java Applications by Chet Hause and Romain Guy, ISBN 978-0-13-241393-0

Website: Course materials and announcements are available there.

CS Lab Account:

Computing Facilities:

Software: We will use Java and the Java3D API. Required software for homework is available on the computers in the CS department microlab. If you wish to work on your own computer the software is free. See the class web page for links to download Java and Java3D.

Class Discussion Tool: I have set up a discussion group for the class on Piazza.

Schedule: A schedule of lecture topics, reading assignments, and assignment distribution and due dates is available online, via the class web page,  The schedule lists topics and readings. The schedule is subject to change.

  Topic Posted Due Points
Assignments / Projects A0, Python to Java Wednesday, August 29 Thursday, September 13 25
A1,Intro / Review of Java, Substitution Cipher (Pair) Wednesday, September 5 Thursday, September 20 75
A2, Hello GUI and Graphics Wednesday, September 19 Thursday, October 4 25
A3, Simple Graphics - Heat Map (Pair) Wednesday, September 26 Monday, October 15 75
A4, Random Art (Pair) Wednesday, October 10 Thursday, October 25 100
A5, Image Processing and Manipulation (Pair) Wednesday, October 24 Thursday, November 8 100
A6, Simple Animation - Lilac Chaser Wednesday, November 7 Thursday, November 15 50
A7, Wator World (Pair) Wednesday, November 14 Thursday, November 29 100
A8, Simple Java 3D Scene Wednesday, November 28 Thursday, December 6 50
Midterm In class, Wednesday, October 17 100
Final Wednesday, December 12, 2 - 5 pm, Location TBD 300

Important Dates for Changing Academic Status and Dropping the Course: Refer to the Registrar's academic calendar for the deadlines for changes in academic status. Highlights are:

Students experiencing significant nonacademic problems (extended health problems or family emergencies) should contact the CNS Deanís Office (WCH 1.106, (512) 471-4536) or the Dean of Studentís Office ( for assistance.

See the College of Natural Science Guidelines and Procedures page for more information. (

Academic Dishonesty: Taken from the CS department Code of Conduct.

"The University and the Department are committed to preserving the reputation of your degree. It means a lot to you. In order to guarantee that every degree means what it says it means, we must enforce a strict policy that guarantees that the work that you turn in is your own and that the grades you receive measure your personal achievements in your classes:

Every piece of work that you turn in with your name on it must be yours and yours alone unless explicitly allowed by an instructor in a particular class. Specifically, unless otherwise authorized by an instructor:

You are responsible for complying with this policy in two ways:

  1. You must not turn in work that is not yours, except as expressly permitted by the instructor of each course.
  2. You must not enable someone else to turn in work that is not theirs. Do not share your work with anyone else. Make sure that you adequately protect all your files. Even after you have finished a class, do not share your work or published answers with the students who come after you. They need to do their work on their own. This means do not post your solution code to any public web site such as pastebin. Also, do not post your work to the web even after you have completed CS324E.

The penalty for academic dishonesty will be a course grade of F and a referral of the case to the Dean of Students. Further penalties, including suspension or expulsion from the university may be imposed by that office.

One final word: This policy is not intended to discourage students from learning from each other, nor is it unmindful of the fact that most significant work in computer science and in the computing industry is done by teams of people working together. But, because of our need to assign individual grades, we are forced to impose an otherwise artificial requirement for individual work. In some classes, it is possible to allow and even encourage collaboration in ways that do not interfere with the instructor's ability to assign grades. In these cases, your instructor will make clear to you exactly what kinds of collaboration are allowed for that class."

For CS324e the policy on collaboration is modified as follows:

If you are repeating the course you may reuse code you completed on your own You may not use code from a program you worked on as part of pair or code that was from a program involved in an academic dishonesty case.. On programs your worked with a partner on or were part of an academic dishonesty case, you must start from scratch.

You are encouraged to study for tests together, to discuss methods for solving the assignments, to help each other in using the software, and to discuss methods for debugging code. Essentially if you talk about an assignment with any one else you are okay, but the moment you start looking at someone else's source code or showing someone else your source code you have crossed the line into cheating. You should not ask anyone to give you a copy of their code or, conversely, give your code to another student who asks you for it. Similarly, you should not discuss your algorithmic strategies to such an extent that you and your collaborators end up turning in exactly the same code. Discuss high level approaches together, but do the coding on your own.

Understand the difference between cheating and collaboration. Collaboration is allowed, cheating will lead to failure in the course.

Examples of cheating are many and include accessing another student's account, looking at someone else's solution code, copying or downloading someone else's solution code, referring to solutions from previous semesters, and / or allowing others to copy of access your solution code. This means you shall not look on the internet for code to solve your problems.

Examples of allowable collaboration include discussions and debate of general concepts and solution strategies and help with syntax errors.

The code you can reuse in this course are:

  1. You may use any code you develop with the instructor, TAs, or proctors.
  2. You may use code (with attribution) from the class slides and the class coding examples.

You shall not make use of code you find from other sources including the world wide web. Materials from the web should only be used for educational purposes. Thus, you can read about linked lists and look at examples of linked list code, but you must not copy any code from the web or be looking at any of this code from the web when writing anything you turn in. If you discuss an assignment with another student or look at examples from the web you should employ the World of Warcraft Rule:

World of Warcraft Rule: After a discussion with another student or looking at example code you should do something that has nothing to do with computer science or programming for al least half an hour. Playing World of Warcraft or other similar activity. (Watching a sitcom, reading a book.)

You are also allowed to post short segments of code (2 lines or less) of code that are giving you syntax errors to the class listserv in order to get help on fixing the syntax error.

If you have any doubts about what is allowed ask the instructor.

Plagiarism detection software will be used on assignments to find students who have copied code from one another. 

For more information on Scholastic Dishonesty see the University Policy on Scholastic Dishonesty

Religious Holidays: By UT Austin policy, you must notify me of your pending absence at least fourteen days prior to the date of observance of a religious holy day. If you must miss a class, an examination, a work assignment, or a project in order to observe a religious holy day, you will be given an opportunity to complete the missed work within a reasonable time after the absence.

Students with Disabilities: students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 471-6259,


To the CS 324e home page