# Stanford CS148

## Course Introduction

- **University**: Stanford
- **Prerequisites**: Linear Algebra, Advanced Mathematics, Python
- **Programming Language**: Python
- **Course Difficulty**: 🌟🌟🌟
- **Estimated Study Time**: 40 hours

Official Description:

This introductory course in computer graphics begins with using Blender to generate images and understanding the underlying mathematical concepts, including triangles, normals, interpolation, texture mapping, bump mapping, and more. It then delves into light and color and how they affect computer displays and printing. The course also covers BRDF and some basic lighting and shading models. Towards the end, topics like ray tracing, anti-aliasing, and acceleration structures are introduced.

For more detailed information, you can visit the [course website](https://web.stanford.edu/class/cs148/index.html).

This course is somewhat less in-depth compared to GAMES101 and uses Python, making it more accessible for students who are not familiar with C++.

## Course Resources

- **Course Website**: [CS148](https://web.stanford.edu/class/cs148/index.html)
- **Course Videos**: None, the [lectures](https://web.stanford.edu/class/cs148/lectures.html) themselves are sufficient. GAMES101 videos can also be referenced.
- **Course Textbook**: Fundamentals of Computer Graphics
- **Course Assignments**: [8 Homework Assignments, 1 Final Project](https://web.stanford.edu/class/cs148/assignments.html)