Christopher Gregg
Associate Professor (Teaching) of Computer Science
Web page: https://web.stanford.edu/~cgregg
Bio
Chris Gregg received his Ph.D. in Computer Engineering from the University of Virginia in 2012, has a Master's of Education from Harvard University (2002), and a BS in Electrical Engineering from Johns Hopkins University (1994). Prior to becoming a lecturer at Stanford, Chris was a lecturer in the computer science department at Tufts University, and prior to that he taught high school physics in Massachusetts and California for seven years. Chris was on active duty in the Navy for seven years, and remains as a Commander in the Navy Reserves in the Information Warfare / Cryptology community.
Chris's research interests include computer architecture (specifically, general purpose computing on GPUs) and the pedagogy of computer science teaching and instruction.
Boards, Advisory Committees, Professional Organizations
-
Member, Association of Computing Machinery (2009 - Present)
-
Member, Institute of Electrical and Electronics Engineers (1990 - Present)
Professional Education
-
Ph.D., University of Virginia, Computer Engineering (2012)
-
M.Ed., Harvard University, Education (Physics) (2002)
-
B.S., Johns Hopkins University, Electrical Engineering (1994)
2024-25 Courses
- Additional Topics in Teaching Computer Science
CS 198B (Aut, Win, Spr) - Computer Systems from the Ground Up
CS 107E (Win) - Programming Abstractions
CS 106B (Aut) - Programming Methodology
CS 106A (Spr) - Teaching Computer Science
CS 198 (Aut, Win, Spr) -
Independent Studies (8)
- Curricular Practical Training
CS 390A (Aut, Win, Spr, Sum) - Curricular Practical Training
CS 390B (Aut, Win, Spr, Sum) - Curricular Practical Training
CS 390C (Aut, Win, Spr, Sum) - Independent Project
CS 399 (Aut, Win, Spr, Sum) - Independent Work
CS 199 (Aut, Win, Spr, Sum) - Programming Service Project
CS 192 (Aut, Win, Spr, Sum) - Senior Project
CS 191 (Aut, Win, Spr, Sum) - Writing Intensive Senior Research Project
CS 191W (Aut, Win, Spr)
- Curricular Practical Training
-
Prior Year Courses
2023-24 Courses
- Additional Topics in Teaching Computer Science
CS 198B (Aut, Win, Spr) - Computer Organization and Systems
CS 107 (Win) - Computer Systems from the Ground Up
CS 107E (Spr) - Computers, Ethics, and Public Policy
CS 181 (Spr) - Computers, Ethics, and Public Policy (WIM)
CS 181W (Spr) - Seminar on Teaching Introductory Computer Science
CS 298 (Aut) - Teaching Computer Science
CS 198 (Aut, Win, Spr)
2022-23 Courses
- Computer Organization and Systems
CS 107 (Win) - Computer Systems from the Ground Up
CS 107E (Aut) - Problem-solving Lab for CS107
CS 107A (Win) - Programming Abstractions
CS 106B (Spr)
2021-22 Courses
- Computer Organization and Systems
CS 107 (Win) - Computer Systems from the Ground Up
CS 107E (Aut) - Great Ideas in Computer Science
CS 208E (Aut) - Problem-solving Lab for CS106B
CS 100B (Spr) - Problem-solving Lab for CS107
CS 107A (Win) - Programming Abstractions
CS 106B (Spr) - Programming Methodology
CS 106A (Sum) - Seminar on Teaching Introductory Computer Science
CS 298, EDUC 298 (Spr)
- Additional Topics in Teaching Computer Science
Stanford Advisees
-
Doctoral Dissertation Reader (AC)
Daniela Ganelin -
Master's Program Advisor
Gabrielle Belanger, Armando Borda, Hannah Dunn, Raghav Ganesh, Maya Harvey, Isabella Jordan, Ran Li, Cecile Loge ep. Baccari, Emily Macias, Yuliia Murakami, Keely Podosin, Emily Redmond, Sadé Ried, Chloe Trujillo, Renee White
All Publications
-
Datacenter-Scale Analysis and Optimization of GPU Machine Learning Workloads
IEEE MICRO
2021; 41 (5): 101-112
View details for DOI 10.1109/MM.2021.3097287
View details for Web of Science ID 000696077800023
-
How Do We Provide Effective Student Advising and Mentoring During Record Growth?
ASSOC COMPUTING MACHINERY. 2018: 1069
View details for DOI 10.1145/3159450.3162175
View details for Web of Science ID 000481890100263
-
How Do You Teach Debugging?: Resources and Strategies for Better Student Debugging
Special Interest Group on Computer Science Education (SIGCSE)
2016
View details for DOI 10.1145/2839509.2850473
-
Working with Undergraduate Teaching Assistants: Best Practices and Lessons Learned
Special Interest Group on Computer Science Education (SIGCSE)
2015
View details for DOI 10.1145/2676723.2691864
- Fine-Grained Resource Sharing for Concurrent GPGPU Kernels 4th USENIX Workshop on Hot Topics in Parallelism (HOTPAR) 2012