CS 148 fulfills the General Education Requirements (GER) as a Ways of Thinking/Ways of Doing (WAYS) course in the Creative Expression (WAY-CE) area.
To satisfy this category, students need to enroll under the Letter Grade grading option; the WAY-CE requirement is not met by the Credit/No Credit option.
In Fall 2020, CS148 still satisfies the WAYS requirement if taken CR/NC.
In Fall 2020, due to learning from home (LFH) issues, there will be no Class Engagement exercises this year unlike in previous years.
The course grade will be 50% Homework and 50% Final Project. No exams!
- Admittedly, it is entirely possible to learn any highly technical subject matter at home, without attending class or even going to college for that matter.
However, as a general education WAYS class, CS148 aims to increase those additional things learned (even often about the technology itself) through social interactions.
In fact, one should be interacting quite a bit with others when trying to create compelling imagery as there is an artistic component - this will be salient for the class final project/image.
- As such, we aim to increase one's "engagement" in this course by allowing the use of a partner, having in-person grading sessions, and by promoting class attendance and discussion.
In particular, there will be a number of in class exercises that are meant to encourage following along in lecture, thinking about the material in real time, and discussions with others both inside and outside of class.
To encourage these interactions, these "engagement" exercises will consist of 18% of the final grade.
- Optionally, if you have to miss some classes for whatever reason, we will aim to address your WAYS liberal arts "engagement" experience with an alternative writing assignment meant to promote both brainstorming and thinking about and/or summarizing the course material.
We refer to these as LONG FORM alternatives to the SHORT FORM engagement exercises carried out in class.
Generally speaking, a LONG FORM writing assignment should be about 500-1000 words in length (which is 1-2 reasonably typed pages).
- SCPD students will do the SHORT FORM assignments, or a similarly constructed alternative.
|09/14/2020||Welcome to the CS 148 Fall 2020 Website!|
This is the introductory prerequisite course in the computer graphics sequence which introduces students to the technical concepts behind creating synthetic computer generated images. The beginning of the course focuses on using Blender to create visual imagery, as well as an understanding of the underlying mathematical concepts including triangles, normals, interpolation, texture mapping, bump mapping, etc. Then we move on to a more fundamental understanding of light and color, as well as how it impacts computer displays and printers. From this we discuss more thoroughly how light interacts with the environment, and we construct engineering models such as the BRDF and discuss various simplifications into more basic lighting and shading models. Finally, we discuss ray tracing technology for creating virtual images, while drawing parallels between ray tracers and real world cameras in order to illustrate various concepts. Anti-aliasing and acceleration structures are also discussed. The final class project consists of building out a ray tracer to create a visually compelling image. Starter codes and code bits will be provided here and there to aid in development, but this class focuses on what you can do with the code as opposed to what the code itself looks like. Therefore grading is weighted towards in person "demos" of the code in action - creativity and the production of impressive visual imagery are highly encouraged. Prerequisites: CS 107, MATH 51.
This is the first course in the computer graphics sequence at Stanford. The second course is CS248 and requires this course, CS 148, as a prerequisite. Topics include: Scanline Rendering; Triangles; Rasterization; Transformations; Shading; Triangle Meshes; Subdivision; Marching Cubes; Textures; Light; Color; Cameras; Displays; Tone Mapping; BRDF; Lighting Equation; Global Illumination; Radiosity; Ray Tracing; Acceleration Structures; Sampling; Antialiasing; Reflection; Transmission; Depth of Field; Motion Blur; Monte Carlo; Bidirectional Ray Tracing; Light Maps.
- CS 107, MATH 51
- Must be fluent in Python
C/C++ and familiar with modern development tools such as Git, Visual Studio, XCode, or the GNU toolchain
- We will assume knowledge of the following mathematical topics
- Vectors, vector operations, and vector spaces
- Basic linear algebra such as solving a system of linear equations
- Elementary signal processing (Fourier transform and filtering)
- Tuesdays and Thursdays, 12:30pm to 2:00pm
- Link (log in with Stanford email): https://canvas.stanford.edu/courses/124275/external_tools/3367
- The class will be recorded for SCPD on Canvas, as usual.
- Ron Fedkiw
- Office Hours:
Most Tuesdays and Thursdays from 2:00pm to 3:00pm
For 2020, given Covid, and to better address emergencies, Ron's office hours are by appointment, and he will send zoom invites.
Some CS faculty meetings conflict with these times, and those hours will be moved to the end of the quarter to provide office hours focused on your final projects (probably weeks 8 and 9).
- * Ron's office hours are geared towards the lecture material and final projects; for homework help, we want students to get to know the CAs, as they'll be the ones grading.
- Course Assistants (CAs)
- Staff Email: firstname.lastname@example.org
- Kevin Li (head CA) -- email@example.com
- Jane Wu -- firstname.lastname@example.org
- Krishna Gorrepati -- email@example.com
- Madeleine Yip -- firstname.lastname@example.org
- Rose Li -- email@example.com
- Winnie Lin -- firstname.lastname@example.org
^Tech Support (No office hours or grading; focused on making the tech happen smoothly for learning from home).
- Yiheng Zhang -- email@example.com
- Yilin Zhu -- firstname.lastname@example.org
- Yongxu Jin -- email@example.com
- Zhenglin Geng -- firstname.lastname@example.org
CA Office Hours (subject to changes)
Piazza will be used for Q&A in CS 148. Please enroll yourself through Piazza.