CS 348C Requirements

CS 348C - Modeling in Computer Graphics
Fall quarter, 1995
Coordinator: Apostolos Lerios

Students may take CS 348C for either 1 unit, in which case the only grading option available is CR/NC, or for 3 units, in which case the student may opt for either letter grading or CR/NC.


In-class presentation

Every student participates in a presentation to the rest of the class on a topic related to modeling of natural phenomena. Each presentation features two or three students who carefully prepare a talk meeting the following requirements: Although the speakers must have a good understanding of the material presented in the papers, they are not expected to have the in-depth knowledge that the authors of the papers possess. After all, CS 348C is a cooperative reading class, so the presentor often learns a lot during the talk from the audience's remarks. This is why every student taking the class for credit is expected to read the papers presented by students before the day of the presentation.

Topics are assigned to students on the basis of their preferences, as stated in their registration form. The coordinator processes these forms and assigns topics to students. Assignments of topics to particular dates in the course schedule are randomly made; swaps are allowed if all students concerned agree. These assignments are subject to change as students drop the class.

Collaboration:
Students are encouraged to discuss their presentations with everybody else in the class, including the coordinator; however, each topic should be presented only by the assigned students.
Deadlines:
Please consult the course schedule.
Evaluation criteria:
In order of importance: clarity of exposition, depth of understanding, quality of visual aids.

Short assignments

Students who are taking the class for 3 units are expected to complete the following assignments:
  1. Site notation, barycentric and homogenous coordinates, maps, and parametric polynomial curves.
  2. Polynomial specification, polar forms, parametric continuity, and B-spline curve drawing.
  3. SoftImage 3D training and critique, degree-raising and merging rational curves, subdividing rational patches.
Format of written assignments:
Typed work is preferred, but neatly hand-written work is fine, too. Sloppy, illegible work is not graded.
Collaboration:
Students may discuss the assignments with other students, but each person is expected to implement/design/solve/write up their assignments individually.
Deadlines:
Please consult the course schedule.
Late assignments:
Late work is not accepted without prior approval by the coordinator.
Platforms:
Programming assignments have to compile and execute on Silicon Graphics workstations. C and C++ are the only allowed languages.
Evaluation criteria:
In order of importance: correctness, efficiency, and elegance of user interface.

Programming project

Student taking the class for 3 units undertake a significant programming project during the quarter. While it is acceptable for a student to work alone on a project, teams of two students are encouraged. Students may freely use the class mailing list cs348c@aegean.stanford.edu in their search for project partners.

Acceptable projects include but are not limited to implementation (and/or improvement and/or customization) of an algorithm from a recent paper related to geometric modeling or modeling of natural phenomena and processes. Or, the students may synthesize techniques from several papers into a useful tool.

For the development of their projects, students are given access to the teaching laboratory in Sweet Hall and the computer graphics laboratory in CIS. The first lab is open to all Stanford students, but students of graphics classes, including CS 348C, have priority over everybody else: CS 348C students should feel free to ask students of non-graphics classes to relinquish their machines. The second lab has a Silicon Graphics Onyx RealityEngine/2 which students may use; however, paid researchers have priority over the students of the class concerning use of all the CIS laboratory equipment. Follow the on-line instructions to obtain accounts for use in the CIS laboratory, as well as information on gaining physical access to the laboratory after hours; students of this class should seek the authorization of Marc Levoy for after hours access to the CIS building. Finally, to obtain an account on the 32-processor DASH machine, contact Dave Nakahira in CIS 128.

Students are encouraged to use the class software in any or all steps of their project work. Here is a sample list of possible uses:

A word of caution though: students should carefully distinguish the output of their own code from that produced using class software. For example, students should make two renderings of their work, one with and one without composited elements, either filmed or hand-modeled. Also, the project requirement is only met if the students write a substantial amount of code; writing a mere shader or two for the provided ray tracer will not meet the project requirement.

Students may seek advice on their projects from other students, the coordinator, as well as outside sources, such as the staff of Pacific Data Images: contact Apurva Shah (R & D staff), Shawn Neely (R & D staff), Gilles Dezeustre (R & D staff), or Terence M. Emmons (Senior Animator).

The projects are completed in the following steps:

  1. Coordinator and team hold a one-on-one meeting during which the students present orally a preliminary form of their project proposal. All teams have to sign up for these meetings.
  2. A written project proposal is due approximately a week after this meeting.
  3. Coordinator and team hold a one-on-one meeting during which the students present orally a project progress report. All teams have to sign up for these meetings. Prior to this meeting, the team should have finalized the concrete goal of the project, as well as the software/algorithm analysis. Also, the implementation should be half completed, and the students should be able to present in full a definite timeline of all remaining work on the project.
  4. The students present their project to the rest of the class, in a format adhering to the suggested guidelines. The project presentations are also to the public.
  5. A project writeup, due approximately two days after the public presentation, documents all aspects of the project.
Past CS 348C projects have produced published papers in major conferences or symposia, such as Maneesh Agrawala and Andrew Beers' project on 3D painting and my own project on 3D morphing. Hopefully, this will also be the case this time the course is taught!
Collaboration:
Teams are encouraged to discuss their projects with other teams, but each team implements their project independently; in particular, student code may not be shared between teams.
Deadlines:
Please consult the course schedule.
Late proposals, presentations, or writeups:
Late work is not accepted without prior approval by the coordinator.
Platforms:
Any platform is acceptable.
Evaluation criteria:
In order of importance: correctness, originality, quality of presentation, efficiency, and elegance of user interface.

Last update: 18 December 1995 by Apostolos "Toli" Lerios
tolis@cs.stanford.edu