CS224 Missive
CS224 is a graduate course in computer graphics. Many students take it as the second half of a two-course sequence started by CS123. CS123 and CS32/CS36 are prerequisites (for undergraduates; for graduate students, the prerequisites are equivalent courses at their undergraduate institutions). The course will move quickly and cover many topics, and will have a strong emphasis on student initiative. The class will focus on a significant final project.
The primary goal of the course is to expose students to a wide range of subjects in computer graphics, taking a sophisticated approach to each one. A secondary goal is to give students in-depth experience with some area through the final project. We also aim to exercise students' software-design skill, and teach them new tools (software, numerical methods), but to have the majority of the time spent in the course be related to learning computer graphics, and not to doing work that's only incidental.
The Staff
Once again The Professor John “Spike” Hughes is back steering the pirate ship better known as CS224. Three TAs are on deck for holding TA hours and paper sections.
- The Smart One: Head TA Lyn Fong (lfong)
- The Cute One: Grad TA Trevor O'Brien (trevor)
- The Tough One: UTA Travis Webb (jtwebb)
Expectations and Assignments
As mentioned, CS224 is a graduate-level course, and we have high expectations of the students. Students are expected to be mature and professional about their work habits and should expect to spend 15-20 hours per week on the course. The course will rely on strong software engineering skills and some mathematical maturity, especially in linear algebra. The programs test more complex concepts than those in CS123, and usually require significant thought before any code is written. In several cases, the time spent understanding the problem and devising a solution will constitute a majority of the time devoted to the assignment.
CS224 will require the completion of ?? written homeworks, ?? warm up assignments (less than 1 week each) and 3 short (1--2 weeks each) assignments and one large (5 week) project, typically a two- or three-member team effort.
Your final grade will break down as follows:
Assignment | % of Final |
---|---|
Homeworks | ?? |
Section Participation | ?? |
Rendering Warmup | ?? |
Photon Mapping | ?? |
?? | ?? |
?? | ?? |
Final Project | ?? |
The final project is perhaps the best-known and most rewarding assignment in CS224. It is important that students keep the final project in mind throughout the entire semester. Groups that form and research ideas for topics early will have more time to realize their goals than a group that devises their topic on the night before the project proposal is due.
Sections
In section you will discuss and occasionally present a recent graphics research paper to several of your fellow students and one TA. Sections are designed to expose you to a variety of final project ideas as well as give you the experience necessary to read graphics research papers with sophistication. Each person will be assigned to a section in the first week of class; attendance is required. You may not shift sections.
- For each week of section there will be up to three graphics research papers discussed in sections. Each week we will randomly select people who will each present one paper during the following week. Presenters for the first week will be announced in class.
- As a presenter you will prepare a short (about 5 minute) presentation. You should also be prepared to take questions from fellow students after your presentation. You should attempt to thoroughly understand the paper you are presenting. Your presentation should outline the purpose and techniques used in the paper, list any problems that you feel the paper does not adequately address, and evaluate whether the paper presents its ideas clearly.
- Whether you are presenting a paper or not you must fill out a paper evaluation form. The form and instructions are available on the website.
- If you are presenting that week, you are only responsible for reading your paper. Everyone else must read all three papers and get a general understanding of each. Read each paper once, think about what parts seem a little unclear, then read the paper again.
- The TA may ask questions as well, but in general the TA will be learning along with you, and won't know the papers much better than you do. The presenter is supposed to be the authority on the paper.
Lectures
Lectures are Tuesdays and Thursdays, from 1--2:20(J Hour) in room 368 of the CIT. Sometime shortly after Spring Break, normal classes will end. In mid-April, there will be an intermediate demo where you will show the status of your final project to the rest of the class.
The Final Project Demo Day will be ?? Attendance is mandatory. If you believe that you cannot attend, contact one of the TAs immediately.
Collaboration Policy
All the work you hand in must be your own, except for the Final Project, which is supposed to be a team effort (and for which you're welcome to use libraries you find on the web, etc., as long as you give appropriate credit to their authors). There is to be no collaboration of any kind on the programs. Talking about how to solve the given problems is considered collaboration as well and is not allowed (see the Newsgroup section below for exceptions). Use the TAs for questions about the material, the assignments, the packages, etc.
Late Policies
All coding assignments are to be handed in on the due date by 11:59 PM. All written homeworks are due at the beginning of class.
Programming Assignments: Handing in late will cost 10% for every 24 hours. The penalties come in units of 10%, so that if a program is 10 minutes late, it loses 10%. This means that a B project becomes a C project. There is one exception: final projects may not be handed in late. You will not receive credit for late homeworks.
Late Days: Everyone is allowed two late days. (This does not mean 48 “late hours”). If you wish to use a late day on an assignment, put it in the README that you hand in with the assignment and your due date will be extended by 24 hours. They will not be tallied automatically, but you may use them as you see fit. You cannot retroactively use a late day nor can you use it for your final project. You can not use late days for written homeworks.
Final Project: You cannot submit the final project later than the indicated date. If you do so, we will grade it NC without looking at it! You also must attend all final project demos on May 1.
Community Spirit Credit
In keeping with the goal of avoiding needless work, we will have a policy in which community service of particular kinds is rewarded. If, for example, you start working on an assignment and you find a bug in the support code (we hope this won't happen, of course!), you can tell the TAs. Not only will they fix the bug, but they'll reward you with some number of points for community service. If you find a bug and fix it, you get more points.
There are other kinds of community service as well: in some projects, you'll work with various sorts of data. If you created a viewer for datasets to help with debugging, and posted news about it (or gave your viewer to a TA to put in the course bin directory, /course/cs224/bin), you'd get points as well. If you have an improved Makefile for some project, that's a contribution as well.
Of course, it's not counted as community spirit if you post the solutions for an assignment to the course google group. In general you should present community spirit contributions to a TA before posting to the newsgroup.
The Newsgroup
We are going to use a google group to answer the majority of your questions. If you have a question whose answer that does not give away the key points of the assignment, please post it to the to the group. If in doubt, mail or ask a TA. The TAs reserve the right to anonymously post questions that they receive and answer them on the google group.
Example of an OK Newsgroup Question: “In my ray tracing I keep getting little black dots in my image. I've tried small test cases and know that my reflection model works. Any ideas?”
Answer: “Check your epsilon values.” (Note that the answer did not say exactly what was wrong)
- Bad Newsgroup Question: “I can't get specular highlighting to work. What's wrong?” (Or worse yet, “What's specular highlighting”).
- Really Bad Newsgroup Question: “Here's my rendering algorithm: ...Does anyone think that I could work progressive refinement in for extra credit?”
Class Information
Almost all course information will be available on the Web (http://www.cs.brown.edu/courses/cs224.) If there is information relevant to the class that does not yet appear on the webpage, feel free to talk to a TA, and they will consider placing it there.
You are responsible for knowing all the information in all articles posted on the google group -- read it frequently! (You're also responsible for all in-class announcements and material. “I missed that class” is not an excuse.)