Navigating Computer Graphics at UC Berkeley (2021)
A guide for picking coursework, joining clubs, and finding research!
UC Berkeley is overflowing with unicorns. In my four years here, I’ve met countless students who juggle and excel in vastly interdisciplinary interests including my own passion of combining technology with the arts. Of those interested in the art-tech intersection, students I’ve met primarily pursue two paths: design (product design, HCI, UI/UX, etc.) and computer graphics. As I progressed in my technical degree, I found myself leaning further and further into the wonderful intersection of math, physics, art, film, and technological innovation that is computer graphics.
Unfortunately, the path to a career in Computer Graphics through UC Berkeley is murky at best. While many students arrive with a strong curiosity towards and inclination for the field, the lack of a clear curriculum and the relatively low visibility of the graphics community at Berkeley lead to many peeling away from the field in favor of more well-explored tracks. I believe UC Berkeley can do more to act as a guide to such students and continue to foster their interests in Computer Graphics.
The good news is, the pieces of the puzzle do exist. Berkeley has no shortage of resources for the student who knows where to look. I’ve compiled a guide based on my experiences and knowledge of UC Berkeley, as it exists in 2021, to help the technically-minded student find the right pieces of the puzzle and construct their path towards a career in Computer Graphics. Topics covered include coursework, clubs, and research!
Coursework
A short disclaimer — the information I’ve listed here has a bias towards undergraduate, upper division, and regularly offered courses. Additionally, the importance of certain topics will inevitably rise and fall given trends in innovation. These courses are what I deem to be important given my experience and research in the field as of 2021.
Core Technical Courses
[CS 184/284A] Foundations of Computer Graphics: This course is the technical course on graphics at Berkeley. It’s a wonderful breadth course which covers the fundamentals of a wide variety of topics which fall under the umbrella of computer graphics. It’s known as a high workload course with six projects and little guidance in getting up to speed with C++ programming. I highly recommend taking it with Dr. Ren Ng, who is a fantastic lecturer.
[CS 284B] Advanced Computer Graphics Algorithms and Techniques: This course is rarely offered, but is slated to be offered in Spring 2022! It serves to delve deeper into the concepts touched upon in CS 184/284A.
Useful Technical Courses
[EE 120] Signals and Systems: 2D signals (images), discrete sampling, and signal reconstruction are core topics in graphics. This course helps students get a theoretical handle on the fundamentals of signals. It’s a low to moderate workload course with lots of math involved!
[CS C267] Applications of Parallel Computers: Rendering and simulation are extremely time intensive tasks fundamental to graphics. Through this course, students learn the algorithms behind and applications of parallel computing so they can solve complex problems with efficient software.
Related Technical Courses
[CS 194–26/294–26] Intro to Computer Vision and Computational Photography: Another breadth course which covers a variety of cool topics. Vision is often seen as the inverse problem to computer graphics, so there are some interesting relations one can draw when studying both. The five-ish projects in this course can be a bit time intensive but the bonus is that you get visually stunning, artistic results! Dr. Efros, who typically teaches this course, is my favorite professor at Berkeley.
[CS 294–137] Theory and Applications of Virtual Reality and Immersive Computing: This course is unique in that it delves into the ideas in human biology, human computer interaction, hardware, and software that enable immersive computing systems. Topics jump every 1–3 lectures and they can seem a tad disconnected due to the wide range of fields covered by this course. It’s a moderate workload class with around 4 homeworks and a research-like final project.
[CS 189/289] Introduction to Machine Learning: Machine Learning is driving much of the recent innovation in graphics research, particularly in rendering and denoising. This course goes into great depth on the theory and math behind machine learning. It’s known to be a high workload class with intense, highly mathematical problem sets. Students who are mainly interested in the applications of ML may find this course far too theoretical for their taste. However, the offering with Dr. Shewchuck is generally known to incorporate more applied content than offerings with other professors.
Non-Technical Courses
[CNM 190] Advanced Digital Animation: This is a one-year course offered every other year for students who have previously taken the UCBUGG Decal (see below). The next offering is scheduled for Fall 2021-Spring 2022. It gives students an entire year to create a complex short from start to finish and delve to each step of the production pipeline in-depth.
Upper Division Art Courses: If you feel comfortable enough taking upper division art courses, I’d check out ART 172: Computer Graphics Studio and ART 178: Game Design Methods.
Decals
UCBUGG: UCBUGG is an intensive semester-long introduction to the production process behind 3D modeling and animation. Students learn how to use key technologies like Autodesk Maya, Pixar’s Renderman, and Adobe After Effects and work through the entire 3D animation pipeline to create a one-minute short. The decal team offers both beginner and advanced levels of the course to cater to varying levels of experience.
Art for Animation: Art for Animation is the 2D sister decal of UCBUGG. It touches upon the pre-production pipeline which typically deals with developing a storyboard, character design, and concept art. The final project of the course is an animatic— a low fidelity “mock up” of a film used to convey the story.
Video Game Design and Development: Students in this course learn fundamentals of game development by creating their own game over the course of the semester. Additionally, this course provides insight into the gaming industry to help interested students prepare themselves for roles in game development.
Virtual Reality: The Virtual Reality (VR) decal walks students through the technology and design skills needed to develop a VR game using Unity and C# programming. Students end the semester by designing and developing their own VR game which is presented in Berkeley’s Design Innovation showcase.
Clubs
Berkeley’s student organizations are vibrant and thriving communities which enrich the learning environment on campus and provide a space for students to connect based on shared interests. Here are some of the organizations on campus which are dedicated to various shades of Computer Graphics.
3D Modeling and Animation at Berkeley: This organization is a central community for students interested in exploring careers in 3D Animation. 3DMA runs the UCBUGG decal every semester and also hosts relevant events with industry professionals and guest lecturers.
Extended Reality at Berkeley: XR@B is dedicated to research, education, and development involving Extended Reality, an umbrella term which encompasses Virtual Reality, Augmented Reality, and Mixed Reality. Teams in XR@B work with labs on campus to conduct XR research, host the Virtual Reality Decal every semester, or work on their own XR passion projects.
Game Design and Development at Berkeley: This club is a community for those passionate about or interested in exploring game development. GDD has teams which work together to develop new games, hosts industry speakers to provide insight into the gaming industry, and runs the Video Game Design and Development Decal.
Research
I always tell my undergraduate friends to try out research, at least once, during their time at Berkeley. It’s a great way to test out if grad school is a path you’d be interested in pursuing and it certainly doesn’t hurt that Berkeley is a research university which has historically been at the forefront of technological innovation.
Ways to Get Involved
This school provides a number of avenues for undergraduates to dip their toes into research. I’ve focused primarily on the programs and platforms which cater to EE/CS students since that’s where I’d expect to see opportunities in Computer Graphics research.
The first and most direct approach is URAP (Undergraduate Research Apprenticeship Program). This is a semester-long program in which students apply to projects and professors select students which best suit the projects’ needs. It’s my understanding that this program is quite competitive with the number of applicants far exceeding the number of spots available. Additionally, the projects available are limited to those listed on the URAP application. However, it’s a useful opportunity for people who are looking to test out research within a limited time period since this program has a semesterly cadence.
Next, for those looking into research within the EECS department specifically, there’s a relatively new program called DARE (Diversifying Access to Research in Engineering). Through this program, students apply to work with specific professors and professors choose students who suit their lab’s needs. If there is a match, students get to work with the professors for however long they choose. This program is specifically targeted to students who will improve diversity in EECS research but to my knowledge, there are no restrictions for who can apply.
For students interested in working on a defined project or utilizing specific skillsets, I recommend checking out Beehive. Beehive is a platform in which labs list projects which need additional students with certain skills. It’s a great space to find projects with a less formalized structure and survey the opportunities available at any given time. One downside is that it’s not a frequently used platform by labs so the number of project listings is typically low.
Lastly, if you have a specific professor, lab, or project in mind, the most frequently used and least formalized method to get involved with research is reaching out directly. I would thoroughly look through the lab and professor’s website since sometimes you can find instructions on how they would like you to contact them. Some professors and labs who come to mind for Computer Graphics and related fields include: James O’Brien, Carlo H. Séquin, Jonathan Shewchuck, Ren Ng, Brian A. Barsky, Alexei (Alyosha) Efros, and the FHL Vive Center for Enhanced Reality.
Cold emailing can seem daunting, especially with professors who often receive so many cold emails from students that they often choose to ignore them. Some methods to overcome this barrier include constructing a very specific and clear email by referencing your interest in their recent work and providing specific insight into what skills you can bring to their lab. Since professors often have to deal with a deluge of emails from students, I would also suggest reaching out to graduate students. They’re typically a tad more approachable and willing to make time in their schedule to meet with interested students.
My final bit of advice is, try not to get discouraged. Getting a shot at research in Berkeley is a difficult task since the ratio of qualified students to opportunities is somewhat low. Additionally, professors often require that students take a number of related upper division classes before joining their lab which shuts out numerous interested undergraduates. However, I believe there is always ample learning that comes with rejection which will allow you to better prepare yourself for future opportunities.
Final Thoughts
While Berkeley doesn’t have specified tracks for undergraduates interested in Computer Graphics, this lack of structure allows for students to have the freedom to construct their own course curriculum and delve deeper into the field via decals, clubs, and research. Berkeley does offer a one-year EECS MEng degree with a Visual Computing and Computer Graphics track for those interested in pursuing a master’s with added structure. However, the opportunities available to students in the track are, for the most part, widely available to students outside the program. I believe that with this bit of guidance, a sprinkle of passion, and a self-starter mentality, students at UC Berkeley can customize their learning to be wildly successful in a Computer Graphics career.