Philip J. Guo
Orcid: 0000-0002-4579-5754Affiliations:
- University of California, San Diego, Department of Cognitive Science, CA, USA
- University of Rochester, Department of Computer Science, NY, USA
- MIT, Computer Science and Artificial Intelligence Lab, Cambridge, MA, USA
- edX, Cambridge, MA, USA
- Stanford University, Department of Computer Science, CA, USA
According to our database1,
Philip J. Guo
authored at least 96 papers
between 2006 and 2024.
Collaborative distances:
Collaborative distances:
Timeline
Legend:
Book In proceedings Article PhD thesis Dataset OtherLinks
Online presence:
-
on twitter.com
-
on pg.ucsd.edu
-
on orcid.org
-
on pgbovine.net
On csauthors.net:
Bibliography
2024
Perpetual Teaching Across Temporary Places: Conditions, Motivations, and Practices of Media Artists Teaching Computing Workshops.
Proceedings of the 2024 ACM Conference on International Computing Education Research, 2024
Proceedings of the CHI Conference on Human Factors in Computing Systems, 2024
2023
Six Opportunities for Scientists and Engineers to Learn Programming Using AI Tools Such as ChatGPT.
Comput. Sci. Eng., 2023
Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 2023
Uncovering the Hidden Curriculum of University Computing Majors via Undergraduate-Written Mentoring Guides: A Learner-Centered Design Workflow.
Proceedings of the 2023 ACM Conference on International Computing Education Research, 2023
From "Ban It Till We Understand It" to "Resistance is Futile": How University Programming Instructors Plan to Adapt as More Students Use AI Code Generation and Explanation Tools such as ChatGPT and GitHub Copilot.
Proceedings of the 2023 ACM Conference on International Computing Education Research, 2023
Teaching Data Science by Visualizing Data Table Transformations: Pandas Tutor for Python, Tidy Data Tutor for R, and SQL Tutor.
Proceedings of the 2nd International Workshop on Data Systems Education: Bridging education practice with education research, 2023
2022
"There's no way to keep up!": Diverse Motivations and Challenges Faced by Informal Learners of ML.
Proceedings of the 2022 IEEE Symposium on Visual Languages and Human-Centric Computing, 2022
Codehound: Helping Instructors Track Pedagogical Code Dependencies in Course Materials.
Proceedings of the 2022 ACM SIGPLAN International Symposium on SPLASH-E, 2022
How Computer Science and Statistics Instructors Approach Data Science Pedagogy Differently: Three Case Studies.
Proceedings of the SIGCSE 2022: The 53rd ACM Technical Symposium on Computer Science Education, 2022
Five Pedagogical Principles of a User-Centered Design Course that Prepares Computing Undergraduates for Industry Jobs.
Proceedings of the SIGCSE 2022: The 53rd ACM Technical Symposium on Computer Science Education, 2022
Scaling Up Access to the Hidden Curriculum: A Design Methodology for Creating Undergraduate Mentoring Guides.
Proceedings of the L@S'22: Ninth ACM Conference on Learning @ Scale, New York City, NY, USA, June 1, 2022
The Challenges of Evolving Technical Courses at Scale: Four Case Studies of Updating Large Data Science Courses.
Proceedings of the L@S'22: Ninth ACM Conference on Learning @ Scale, New York City, NY, USA, June 1, 2022
The Design Space of Livestreaming Equipment Setups: Tradeoffs, Challenges, and Opportunities.
Proceedings of the DIS '22: Designing Interactive Systems Conference, Virtual Event, Australia, June 13, 2022
2021
Orienting, Framing, Bridging, Magic, and Counseling: How Data Scientists Navigate the Outer Loop of Client Collaborations in Industry and Academia.
Proc. ACM Hum. Comput. Interact., 2021
Streamers Teaching Programming, Art, and Gaming: Cognitive Apprenticeship, Serendipitous Teachable Moments, and Tacit Expert Knowledge.
Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 2021
Ten Million Users and Ten Years Later: Python Tutor's Design Guidelines for Building Scalable and Sustainable Research Software in Academia.
Proceedings of the UIST '21: The 34th Annual ACM Symposium on User Interface Software and Technology, 2021
Inside the Mind of a CS Undergraduate TA: A Firsthand Account of Undergraduate Peer Tutoring in Computer Labs.
Proceedings of the SIGCSE '21: The 52nd ACM Technical Symposium on Computer Science Education, 2021
2020
The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry.
Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 2020
Papercode: Generating Paper-Based User Interfaces for Code Review, Annotation, and Teaching.
Proceedings of the UIST '20 Adjunct: The 33rd Annual ACM Symposium on User Interface Software and Technology, 2020
Towards a dynamic multiscale personal information space: beyond application and document centered views of information.
Proceedings of the Programming'20: 4th International Conference on the Art, 2020
Learnersourcing at Scale to Overcome Expert Blind Spots for Introductory Programming: A Three-Year Deployment Study on the Python Tutor Website.
Proceedings of the L@S'20: Seventh ACM Conference on Learning @ Scale, 2020
Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data Scientists.
Proceedings of the CHI '20: CHI Conference on Human Factors in Computing Systems, 2020
2019
End-User Programmers Repurposing End-User Programming Tools to Foster Diversity in Adult End-User Programming Education.
Proceedings of the 2019 IEEE Symposium on Visual Languages and Human-Centric Computing, 2019
Proceedings of the 2019 IEEE Symposium on Visual Languages and Human-Centric Computing, 2019
Mallard: Turn the Web into a Contextualized Prototyping Environment for Machine Learning.
Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology, 2019
Bespoke: Interactively Synthesizing Custom GUIs from Command-Line Applications By Demonstration.
Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology, 2019
Proceedings of the Sixth ACM Conference on Learning @ Scale, 2019
Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2019
Practitioners Teaching Data Science in Industry and Academia: Expectations, Workflows, and Challenges.
Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems, 2019
2018
Proceedings of the 2018 IEEE Symposium on Visual Languages and Human-Centric Computing, 2018
Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology, 2018
Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology, 2018
Students, systems, and interactions: synthesizing the first four years of learning@scale and charting the future.
Proceedings of the Fifth Annual ACM Conference on Learning at Scale, 2018
Codemotion: expanding the design space of learner interactions with computer programming tutorial videos.
Proceedings of the Fifth Annual ACM Conference on Learning at Scale, 2018
Mismatch of Expectations: How Modern Learning Resources Fail Conversational Programmers.
Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, 2018
Non-Native English Speakers Learning Computer Programming: Barriers, Desires, and Design Opportunities.
Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, 2018
2017
HappyFace: Identifying and predicting frustrating obstacles for learning programming at scale.
Proceedings of the 2017 IEEE Symposium on Visual Languages and Human-Centric Computing, 2017
DS.js: Turn Any Webpage into an Example-Centric Live Programming Environment for Learning Data Science.
Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, 2017
Torta: Generating Mixed-Media GUI and Command-Line App Tutorials Using Operating-System-Wide Activity Tracing.
Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, 2017
Omnicode: A Novice-Oriented Live Programming Environment with Always-On Run-Time Value Visualizations.
Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, 2017
Hack.edu: Examining How College Hackathons Are Perceived By Student Attendees and Non-Attendees.
Proceedings of the 2017 ACM Conference on International Computing Education Research, 2017
CodePilot: Scaffolding End-to-End Collaborative Software Development for Novice Programmers.
Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, 2017
Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities.
Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, 2017
2016
Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016
Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, 2016
Proceedings of the Perspectives on Data Science for Software Engineering, 2016
2015
OverCode: Visualizing Variation in Student Solutions to Programming Problems at Scale.
ACM Trans. Comput. Hum. Interact., 2015
Toward a domain-specific visual discussion forum for learning computer programming: An empirical study of a popular MOOC forum.
Proceedings of the 2015 IEEE Symposium on Visual Languages and Human-Centric Computing, 2015
Codechella: Multi-user program visualizations for real-time tutoring and collaborative learning.
Proceedings of the 2015 IEEE Symposium on Visual Languages and Human-Centric Computing, 2015
Proceedings of the 2015 IEEE Symposium on Visual Languages and Human-Centric Computing, 2015
Perceptions of non-CS majors in intro programming: The rise of the conversational programmer.
Proceedings of the 2015 IEEE Symposium on Visual Languages and Human-Centric Computing, 2015
Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, 2015
Snap n' shop: Visual search-based mobile shopping made a breeze by machine and crowd intelligence.
Proceedings of the 9th IEEE International Conference on Semantic Computing, 2015
How High School, College, and Online Students Differentially Engage with an Interactive Digital Textbook.
Proceedings of the 8th International Conference on Educational Data Mining, 2015
Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, 2015
2014
The difficulty of teaching programming languages, and the benefits of hands-on learning.
Commun. ACM, 2014
Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 2014
Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology, 2014
Proceedings of the First (2014) ACM Conference on Learning @ Scale, 2014
Proceedings of the First (2014) ACM Conference on Learning @ Scale, 2014
Proceedings of the First (2014) ACM Conference on Learning @ Scale, 2014
Proceedings of the First (2014) ACM Conference on Learning @ Scale, 2014
Proceedings of the CHI Conference on Human Factors in Computing Systems, 2014
Proceedings of the CHI Conference on Human Factors in Computing Systems, 2014
2013
Proceedings of the 44th ACM Technical Symposium on Computer Science Education, 2013
2012
HAMPI: A solver for word equations over strings, regular expressions, and context-free grammars.
ACM Trans. Softw. Eng. Methodol., 2012
Comput. Sci. Eng., 2012
Proceedings of the 4th Workshop on the Theory and Practice of Provenance, 2012
Proceedings of the 34th International Conference on Software Engineering, 2012
2011
CDE: Using System Call Interposition to Automatically Create Portable Software Packages.
Proceedings of the 2011 USENIX Annual Technical Conference, 2011
Proactive wrangling: mixed-initiative end-user programming of data transformation scripts.
Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, 2011
Proceedings of the Past, 2011
Proceedings of the 20th International Symposium on Software Testing and Analysis, 2011
Sloppy Python: using dynamic analysis to automatically add error tolerance to ad-hoc data processing scripts.
Proceedings of the International Workshop on Dynamic Analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2011), 2011
Proceedings of the 2011 ACM Conference on Computer Supported Cooperative Work, 2011
Proceedings of the Computer Aided Verification - 23rd International Conference, 2011
2010
Towards Practical Incremental Recomputation for Scientists: An Implementation for the Python Language.
Proceedings of the 2nd Workshop on the Theory and Practice of Provenance, 2010
Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows.
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, 2010
2009
IEEE Softw., 2009
Proceedings of the 2009 USENIX Annual Technical Conference, 2009
Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, 2009
Proceedings of the 31st International Conference on Software Engineering, 2009
Two studies of opportunistic programming: interleaving web foraging, learning, and writing code.
Proceedings of the 27th International Conference on Human Factors in Computing Systems, 2009
2008
Proceedings of the 4th international workshop on End-user software engineering, 2008
2007
Sci. Comput. Program., 2007
2006
Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, 2006
Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, 2006