Leo Porter

Dr. Porter is an Assistant Teaching Professor in the Computer Science and Engineering Department at the University of California, San Diego. Professor Porter earned his undergraduate degree in computer science from the University of San Diego (2000), and his Masters and Ph.D in computer science from UC San Diego (2006 and 2011, respectively). He was an Assistant Professor at Skidmore College for three years, prior to joining the faculty at UC San Diego in 2014. Advised by Professor Dean Tullsen, his Ph.D. is in Computer Architecture (high-level processor design) where he focused on improving single-thread performance in the Multi-Core era. Although still active in computer architecture, he is now primarily focused on computer science education research where his emphasis is on identifying core course concepts which are essential to student success, developing pedagogies which facilitate student engagement with those concepts, and creating assessment instruments to evaluate the effectiveness of those pedagogical practices. His research, funded by several National Science Foundation grants, has earned the Best Student Paper award at the International Conference on High Performance Computer Architecture (HPCA) in 2011, the Best Paper Award at the Special Interest Group on Computer Science Education (SIGCSE) Technical Symposium in 2013, and the Chair’s Award at the International Computing Education Research Conference (ICER) in 2014. He also earned the Skidmore College President’s Award for his co-development of interdisciplinary classes designed to improve scientific literacy. Most importantly, Professor Porter loves teaching and working with students; he has taught a wide array of courses including Introductory Programming in Java, Data Structures, Computer Organization, Computer Architecture, Operating Systems, and Teaching Methods in Computer Science.

Sort options

Advanced Data Structures in Java (Coursera)

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners? To solve such problems, we first represent the [...]

Python for Data Science (edX)

Learn to use powerful, open-source, Python tools, including Pandas, Git and Matplotlib, to manipulate, analyze, and visualize complex datasets. In the information age, data is all around us. Within this data are answers to compelling questions across many societal domains (politics, business, science, etc.). But if you had access [...]