About COMS E6998, Fall 2013
Changxi Zheng, cxz at cs.columbia.edu
office hours: by appointment
Time and place:
Thursday 4:10PM–6:00PM, 834 Seeley W. Mudd Building
- ACM Digital Library
- ACM SIGGRAPH paper collection
- SIAM Journals
- How to Read a Paper by S. Keshav
- How to Read a Technical Paper by Jason Eisner
This is a computer graphics seminar course intended for senior undergraduates, masters and Ph.D. students interested in discussing some of the most exciting recent work in computer graphics, scientific computing, and numerical simulation.
The basic structure of this class will be an interweave of lectures on advanced computational methods and discussion of recent papers. We will survey some important research papers on SIGGRAPH and scientific computing covering a range of topics including geometry processing, computer animation, and image/video/sound synthesis. To help students understand these technical papers, the instructor will introduce necessary mathematical and physical background as lectures. Students will then read related papers and during the class we will discuss, criticize, and dig deeper into the important aspects of these papers.The links of the discussed papers will be published on Columbia course wiki.
- We expect you know how to program in some advanced programming languages. C/C++ is highly recommended.
- Basic linear algebra: matrix computation, matrix factorization, linear solve
- Basic numerical integration methods, numerical solver for linear ODEs
- Basic physics
HomeworkEach week we will survey a number of papers. Students are encouraged to read these papers and are required to write a summary of one of the assigned papers. Students should hand in the summary at the beginning of next class.
Research paper summary should explicitly address the following questions:
- What does the paper do?
- What are the technical contributions of this paper?
- Why is this a good topic to work on?
- What are the disadvantages/limitations of the proposed method? Criticize it!
- Is there any related problem you consider as a good research topic?
Finally, Graded students (see below) will select a semester-long project. They will maintain a blog with progress on the project, and provide (electronically) all the materials for the final project submission, including a report, video, and source code. The topic of the project is the student's choice----anything in computer graphics is fair game. However, the amount of advice the instructor can personally provide will depend on the topic. The scope of the project should be equivalent to implementing a published SIGGRAPH paper, a goal that has been met many times before in our project courses. A project need not have novel research content, although of course this is an exciting thing to consider.
There will be no exams.
The seminar format course can be taken for a grade or Pass/Fail.
Pass/Fail is a good option for students who do not require additional grade credits, but would like to learn from the material presented and discussed in this course. To pass the class, the student must attend all of the regularly scheduled lectures and submit paper summaries. If a regularly scheduled lecture must be missed, this must be cleared with the instructor in advance, and alternative arrangements will be made to study the material from that week.
Graded is the ideal option for students who wish to obtain maximum reward from this class. Beside the class attendance and participation, Graded students should finish a semester-long project (see above). Grades will be determined as follows:
- 20% attendance and participation
- 40% research paper summaries
- 40% final project
- 8% ongoing steady progress indicated on blog
- 12% quality of of final report
- 20% quality of final project (video, code, and scope)
An assignment is an academic document, like a journal article. When you turn it in, you are claiming that everything in it is your original idea unless you cite a source for it. In short, you are expected to submit your own solution of all the coursework.
Discussion/CollaborationYou are welcome (encouraged, even) to discuss the homeworks and projects among yourselves in general terms. But when you start writing up the homeworks or implementing the projects, you need to be working alone. In particular, it is never permitted for you to see another student's homework writeup or other's program code, and certainly never tolerated to copy parts of one person's writeup, code, or results into another's, even if the general solution was worked out together.
You're also welcome to read any published sources—books, articles, public web sites—that help you learn. If you find an idea in one of these sources that becomes part of your solution (or even gives you the whole solution), that's fine, but it's imperative that you explicitly cite the source on your homework or state it in a comment of your code. Otherwise you would be falsely claiming to have invented the idea yourself.
In this course, we expect complete integrity from everyone. School life can be stressful, and your coursework and other factors can put you under a lot of pressure, but that is never a reason for dishonesty. If you feel stressful to complete the course work on your own, come to talk to the professor or the TAs, and we can help you figure out what to do. Think before you hand in!
Clear-cut cases of dishonesty will result in failing the course.
For more information see Columbia Engineering's Code of Academic Integrity.
Open-Door PolicyWe hope the course to run smoothly and enjoyably. Feel free to let us know if you find the course helpful and interesting. Especially, let us know sooner about the reverse. Drop by our office hours, leave us a note, or send us an email.
We hope you enjoy the class! Have fun!