Lecture: T/Th 11-12:30am, BUR 130
Prerequisite: CS 310, 310H, 429, or 429H; 336 or 336H; Math 408D, 408M, or 427L; and 340L or 341
Required text: Interactive Computer Graphics, 6th edition, by Edward Angel
Required: i>clicker available at the CO-OP and online
Course website: cs.utexas.edu/~edwardsj/teaching/2013spring/cs354/
UTCS Account: UTCS account creation
Instructor: John Edwards
Desk location: ACES 2.100 (north end)
Office Hours: WF 12-1pm, GDC 3.302 and by appointment
TA: Vineet Keshari
Office Hours: TTh 4-5, GDC 3.302
|2||Jan 17||2.1, 2.4 - 2.4.2, 2.4.7||Graphics programming I|
|3||Jan 22||2.5 - 2.7||Graphics programming II|
|4||Jan 24||3.1 - 3.2||Geometry & transformations I|
|5||Jan 29||3.3 - 3.4, 3.7||Geometry & transformations II|
|6||Jan 31||3.8 - 3.10||Geometry & transformations III||Project 1 (due Feb 1, 5pm)|
|7||Feb 5||3.11, 3.13 - 3.14||Geometry & transformations IV|
|8||Feb 7||4.3 - 4.4||Viewing I||hw1 (due in class)|
|9||Feb 12||4.5 - 4.8||Viewing II|
|10||Feb 14||8.1 - 8.5||Hierarchical models||Project 2 (due Feb 15, 5pm)|
|11||Feb 19||5.1 - 5.3||Lighting and shading I|
|12||Feb 21||EXAM 1||hw2 (due in class)|
|13||Feb 26||5.4 - 5.7||Lighting and shading II|
|14||Feb 28||Lighting and shading III||Project 3 (due Mar 1, 5pm)|
|15||Mar 5||7.1 - 7.5||Mapping I|
|16||Mar 7||7.6||Mapping II|
|Mar 11-16||SPRING BREAK|
|17||Mar 19||7.7 - 7.10||Mapping III|
|18||Mar 21||7.11 - 7.12||Mapping IV||hw3 (due in class)|
|19||Mar 26||6.1 - 6.6||Vertices and fragments I|
|20||Mar 28||6.8 - 6.11||Vertices and fragments II||Project 4 (due March 29, 5pm) data|
|21||Apr 2||EXAM 2|
|24||Apr 11||11.1 - 11.4||Advanced rendering I|
|25||Apr 16||11.5 - 11.7||Advanced rendering II|
|26||Apr 18||10.1 - 10.3||Curve representation I||Project 5 (due April 19, 5pm)|
|27||Apr 23||10.4 - 10.7||Curve representation II|
|28||Apr 25||10.8 - 10.9, 10.11 - 10.12||Curve representation III|
|29||Apr 30||Review||hw4 (due in class)|
|30||May 2||EXAM 3||Project 6 (due May 4, 5pm) extras|
The student is expected to have programming experience in a C-based language (e.g. C, C++, Java, C#) including a solid understanding of data structures. All programming projects will be done in C++. The student is also expected to have a basic understanding of trigonometry and linear algebra.
Quizzes - We will have daily quizzes at the beginning of class (really). There will be a total of about 21 quizzes. The bottom 3 quiz scores will be dropped. The quizzes will be on the daily reading assignment. This doesn't mean that you must have a perfect understanding of everything you read. It just means that you need to have a grasp of what is being talked about, why it is important, etc. Quizzes cannot be made up.
Quizzes are given using the i>clicker, which allows you to electronically respond to the quiz questions. The clickers will also be used for in-class participation. You will need to get an i>clicker from the CO-OP or elsewhere by the second class day. You're welcome to buy a used i>clicker or even borrow one from a friend. You will register your clicker remote in class on the second class day. You are responsible for bringing your clicker remote to class every day.
Projects - There will be 6 programming projects usually spaced 2-3 weeks apart. All projects are due on Fridays at 5:00 pm. No late projects will be accepted. This means that if you turn a project in at 5:01 pm on Friday it will receive a zero. Projects will be posted at least two weeks before they are due.
Projects are to be done in groups of 2 or 3 people. You may work with the same person for no more than 3 projects.
Projects are graded using the CS UNIX machines. I strongly advise that students do their projects on CS UNIX machines. If you choose to develop on another computer you should test your final program on a CS UNIX machine before submitting. Programming projects will be turned in with the UNIX-based turnin. The web-based turnin will not work. Sign up for a CS UNIX account if you don't have one already. Do this early because it often takes a couple of days to process and you won't be able to turn in any assignments until this account is active. Public labs are available.
They will be graded as follows:
Homework - 4 written homework assignments will be given throughout the semester. They can be typed or written by hand and will be turned in in class. No late homework will be accepted.
Exams - Three exams will be given and will cover material in the reading assignments, lecture, projects and written homework. The exams are closed book, but you are allowed one 8 1/2 x 11 sheet of notes.
Piazza - All communication will be done on the class Piazza webpage. Please post questions here so everyone can benefit from the answers.
Blackboard - Scores will be maintained on Blackboard.
Projects are expected to be original work. You may consult the Internet, but you may not copy code from the Internet or any other source except for the course textbook. We use software to detect copied code. If you wish to use any APIs other than the standard template library (STL) then you must receive prior approval from the instructor. You may work together on the homework, but keep in mind that exam questions will often be similar to homework questions, so if you do work with someone else, make sure that you understand the material. See the department's code of conduct.