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.




Customize your search:

E.g., 2016-12-12
E.g., 2016-12-12
E.g., 2016-12-12
Dec 12th 2016

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 key pieces of data in a complex data structure. In this course, you’ll learn about data structures, like graphs, that are fundamental for working with structured real world data.

Average: 6.3 (12 votes)
Dec 12th 2016

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables.

Average: 6.3 (4 votes)
Dec 12th 2016

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Average: 6 (9 votes)
Dec 12th 2016

You’ve hit a major milestone as a computer scientist and are becoming a capable programmer. You now know how to solve problems, write algorithms, and analyze solutions; and you have a wealth of tools (like data structures) at your disposal. You may now be ready for an internship or (possibly) an entry-level software engineering job. But can you land the internship/job? It depends in part on how well you can solve new technical problems and communicate during interviews. How can you get better at this? Practice!

Average: 7.2 (5 votes)