معرفی
Charlie Garrod is an Associate Teaching Professor in the Software and Societal Systems Department within Carnegie Mellon University's School of Computer Science. His academic career focuses primarily on undergraduate computer science education and related areas such as teaching assistant and faculty mentorship.
- Institution: Carnegie Mellon University
- School: School of Computer Science
- Department: Software and Societal Systems Department
- Position: Associate Teaching Professor
Dr. Garrod received his B.S. in Computer Science from Harvey Mudd College in 2001 and completed both his M.S. and Ph.D. in Computer Science at Carnegie Mellon University in 2006 and 2008, respectively. His educational background laid the foundation for his expertise in distributed database systems and software engineering education.
His research interests center around computer data management systems, with particular emphasis on the performance, scalability, and power management of highly scalable distributed systems. As a teaching professor, his research program is intentionally focused on undergraduate and Master's student research projects rather than large-scale independent research. His work bridges theoretical computer science with practical applications in transportation information systems, mobile location services, and database scalability.
Dr. Garrod's publication history reveals a strong trajectory in distributed systems and database technologies, with recent work shifting toward educational topics such as mentoring teaching assistants. His publications span prestigious venues including ACM Transactions on Algorithms, VLDB, ICDE, and SIGCHI, with his work on the Tiramisu transportation system earning a CHI 2011 Honorable Mention. His research demonstrates consistent contributions to database caching, query optimization, and consistency management for web applications.
- CHI 2011 Honorable Mention for 'Field Trial of Tiramisu: Crowd-Sourcing Bus Arrival Times to Spur Co-Design'
As an educator, Dr. Garrod has mentored numerous students through formal courses and undergraduate research projects. He has developed and taught a wide range of courses including software design and engineering, algorithms and data structures, theoretical computer science, distributed systems, and databases. His teaching philosophy emphasizes practical application of theoretical concepts, with a focus on preparing students for real-world software engineering challenges. He has been actively involved in developing pedagogical approaches for computer science education, particularly in the mentorship of teaching assistants.
Dr. Garrod maintains an active teaching schedule, currently instructing courses such as 15-210 Parallel and Sequential Data Structures and Algorithms, 17-480/17-780 API Design, and 07-070 Teaching Techniques for Computer Science. His extensive teaching portfolio demonstrates deep commitment to computer science education across multiple institutions and course levels.


