Eddie Antonio Santos

Computer science educator and software developer

Education

PhD Computer Science

University College Dublin
September 2021–Expected: June 2025

MSc Computing Science

University of Alberta
January 2016–November 2018

BSc Computing Science

University of Alberta
September 2010–December 2015

Work Experience

Assistant lecturer

October 2022–
Technological University Dublin
  • Create syllabi, lecture slides, assignments, and exams (Software Localisation).

  • Deliver lectures, in person and online (Advanced Database Technologies; Software Localisation).

  • Assist lecturer in laboratories (Advanced Database Technologies; Operating System Fundamentals; Software Quality Assurance and Testing).

Head Teaching Assistant

September 2024–
University College Dublin
  • Manage teams of teaching assistants, across multiple class sections

  • Deliver in-lab presentations in COMP10290 (Computation for Scientists) and COMP30640 (Operating System Fundamentals)

  • Tutor students in introductory Python programming, and Bash scripting

Teaching assistant

February 2022–June 2024
Beijing-Dublin International College (BDIC)
  • Supervise students on software engineering projects (COMP3030J, COMP3032J).

  • Create/deliver lectures and develop assignments for Parallel and Cluster Computing (COMP3036J).

  • Tutor students in introductory C programming (COMP1002J).

Application development specialist

June 2018–August 2021
National Research Council Canada (NRC-CNRC)
  • Work on the Indigenous Languages Technology Project.

  • Develop open source applications for Indigenous languages (e.g., Plains Cree, SENĆOŦEN, Michif, Tsuut’ina, Makah, Piaroa).

  • Collaborate with representatives from language communities and linguists.

  • Implement morphological computational modelling and predictive text for polysynthetic languages.

  • Supervise student interns.

Software developer

February 2018–May 2018
Dr. Antti Arppe
  • Write code that cleans and organizes field recording validation data.

  • Interpret requirements and deliver work in incremental sprints.

  • Create a web application in Flask/SQLAlchemy to assist in manual recordings validation.

Teaching assistant

January 2018–April 2018
Hazel Campbell
  • Lead CMPUT 296 (Front-end Web Development) labs.

  • Create novel, exploratory labs on web technologies.

  • Mark lab assignments.

  • Support and mentor students learning the material.

Course design assistant

September 2017–April 2018
Dr. Osmar Zaïane
  • Write, edit, and produce video tutorials for CMPUT 175 (CS2) teaching introductory Python and presenting fundamental computing science concepts.

  • Create quizzes to effectively test knowledge.

Teaching assistant

September 2016–December 2016
Dr. Abram Hindle
  • Lead CMPUT 301 (Software Engineering), CMPUT 404 (Web Development).

  • Lead demonstrations in software engineering and web development topics.

  • Improve quality of lab assignments.

  • Mark lab assignments.

  • Support and mentor students learning the material.

Research assistant

January 2016–August 2016
BioWare ULC
  • Research and develop state-of-the-art methods in crash report deduplication.

  • Perform experiments and empirical evaluations of technologies.

  • Write, test, and deploy production-quality implementations of novel algorithms.

Lead developer

May 2015–September 2015
Dr. Eleni Stroulia, Patrick von Hauff
  • Collaborate intensively with colleagues in medicine on a virtual patient simulation platform.

  • Research, evaluate, and integrate medical ontologies.

  • Write a web application using PHP, JavaScript, and React.

  • Experiment with databases such as Virtuoso, Neo4j and MongoDB.

  • Support and maintain a legacy PHP web application.

Computing Science tutor

2014–2017
Self-employed
  • Tutor students in introductory computing science, primarily using C and Python.

  • Proactively find resources that will help the student succeed.

  • Guide students to find the answer for themselves.

  • Promote active thinking rather than rote memorization.

Teaching assistant

2012–2014
University of Alberta
  • Lead SCI 100, Computing Science component.

  • Assist students learning Python as their first programming language (CS1).

  • Evaluate student coursework.

Lead developer

2013–2014
Dr. Joel Gehman and Dr. Matthew Grimes
  • Write a robust and versatile web crawling service using a variety of technologies including Scrapy, and PhantomJS duck-taped together using an Erlang load-balancer and Redis.

  • Expose the web crawling daemon as a service with a Node.JS web server.

  • Assist in development of the website front-end.

  • Configure and maintain custom daemon processes on Ubuntu 12.04 servers.

  • Patch a memory leak in an open source library (MongoDB Erlang Driver) used in a server program.

Web developer

2013
Dr. Denilson Barbosa
  • Create and maintain existing web demos for text processing tools using JavaScript, jQuery, and D3.

  • Develop a database abstraction library in Java for interoperation between our various text processing tools and an assortment of persistence tools (including MongoDB).

  • Develop a simple CoffeeScript Node.js app for bridging the web demos to the text processing tools.

Web developer

2012–2013
Dr. Greg Goss
  • Update a legacy PHP web application.

  • Create database migration tools to transition from a SQL database schema to a more maintainable (i.e., normalized) schema.

  • Employ the use of full-text indices for measurably faster text search queries.

  • Design simple, clean CSS for the website.

Web developer

2012
Dr. Davood Rafiei
  • Develop a PHP-backed web game for human computation.

  • Created an MySQL backed game server.

  • Linux system administration.

Publications

ORCID: 0000-0001-5337-715X, Google Scholarhttps://scholar.google.com/citations?user=yfNIOX0AAAAJ

  1. Eddie Antonio Santos, Brett A. Becker. 2024. Not the Silver Bullet: LLM-enhanced Programming Error Messages are Ineffective in Practice. In Proceedings of the 2024 Conference on United Kingdom & Ireland Computing Education Research, 7 pages.
    🏆 Best paper, UKICER '24
  2. Dennis J. Bouvier, Ellie Lovellette, Eddie Antonio Santos, Brett A. Becker, Venu G. Dasigi, Jack Forden, Olga Glebova, Swaroop Joshi, Stan Kurkovsky, Seán Russell. 2024. Teaching Programming Error Message Understanding. In Proceedings of the 2023 ACM Global Computing Education Conference, 30 pages.
  3. Paul Denny, James Prather, Brett A. Becker, James Finnie-Ansley, Arto Hellas, Juho Leinonen, Andrew Luxton-Reilly, Brent N. Reeves, Eddie Antonio Santos, Sami Sarsa. 2024. Computing Education in the Era of Generative AI. In Communications of the ACM, 12 pages.
  4. Eddie Antonio Santos, Prajish Prasad, Brett A. Becker. 2023. Always Provide Context: The Effects of Code Context on Programming Error Message Enhancement. In Proceedings of the ACM Conference on Global Computing Education Vol 1, 7 pages.
  5. Dennis J. Bouvier, Ellie Lovellette, Eddie Antonio Santos, Brett A. Becker, Venu G. Dasigi, Jack Forden, Olga Glebova, Swaroop Joshi, Stan Kurkovsky, Seán Russell, Tom Crick. 2023. Teaching Students To Use Programming Error Messages. In Proceedings of the ACM Conference on Global Computing Education Vol 2, 3 pages.
  6. James Prather, Brent N. Reeves, Paul Denny, Brett A. Becker, Juho Leinonen, Andrew Luxton-Reilly, Garrett Powell, James Finnie-Ansley, Eddie Antonio Santos. 2023. “It’s Weird That it Knows What I Want”: Usability and Interactions with Copilot for Novice Programmers. In ACM Transactions on Computer-Human Interaction.
  7. Eddie Antonio Santos, Ioannis Karvelas, Brett A. Becker. 2023. Applying Software Engineering Anti-patterns to Programming Error Messages. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education, 1 pages.
  8. Brett A. Becker, Paul Denny, James Finnie-Ansley, Andrew Luxton-Reilly, James Prather, Eddie Antonio Santos. 2023. Programming is hard—or at least it used to be: Educational opportunities and challenges of AI code generation. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education, 7 pages.
    🏆 Best paper, Position Papers and Curriculum Initiatives, SIGCSE TS '2023
  9. James Finnie-Ansley, Paul Denny, Andrew Luxton-Reilly, Eddie Antonio Santos, James Prather, Brett A. Becker. 2023. My AI Wants to Know if This Will Be on the Exam: Testing OpenAI’s Codex on CS2 Programming Exercises. In Proceedings of the 25th Australasian Computing Education Conference, 8 pages.
    🏆 Best paper, Australasian Computing Education Conference 2023
  10. Eddie Antonio Santos. 2022. What makes a programming error message good?. In Proceedings of the 2022 Conference on United Kingdom & Ireland Computing Education Research, 1 pages.
  11. Brett A. Becker, Paul Denny, Janet Siegmund, Andrea Stefik, Eddie Antonio Santos. 2022. The Human Factors Impact of Programming Error Messages (Dagstuhl Seminar 22052). In Dagstuhl Reports.
  12. Aiden Pine, Patrick Littell, Eric Joanis, David Huggins-Daines, Christopher Cox, Fineen Davis, Eddie Antonio Santos, Shankhalika Srikanth, Delasie Torkornoo, Sabrina Yu. 2022. Gi2Pi: Rule-based, index-preserving grapheme-to-phoneme transformations. In Proceedings of the Fifth Workshop on the Use of Computational Methods in the Study of Endangered Languages, 9 pages.
  13. Fineen Davis, Eddie Antonio Santos, Heather Souter. 2021. On the Computational Modelling of Michif Verbal Morphology. In Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Main Volume, 5 pages.
  14. Roland Kuhn, Fineen Davis, Alain Désilets, Eric Joanis, Anna Kazantseva, Rebecca Knowles, Patrick Littell, Delanie Lothian, Aidan Pine, Caroline Running Wolf, Eddie Antonio Santos, Darlene Stewart, Gilles Boulianne, Vishwa Gupta, Owennatékha Brian Maracle, Akwiratékha' Martin, Christopher Cox, Marie-Odile Junker, Olivia Sammons, Delasie Torkornoo, Nathan Thanyehténhas Brinklow, Sara Child, Benoît Farley, David Huggins-Daines, Daisy Rosenblum, Heather Souter. 2020. The Indigenous Languages Technology project at NRC Canada: An empowerment-oriented approach to developing language software. In Proceedings of the 28th International Conference on Computational Linguistics (COLING 2020).
  15. Eddie Antonio Santos, Atticus G. Harrigan. 2020. Design and evaluation of a smartphone keyboard for Plains Cree syllabics. In Proceedings of the 1st Joint Workshop on Spoken Language Technologies for Under-resourced languages (SLTU) and Collaboration and Computing for Under-Resourced Languages (CCURL), 9 pages.
  16. Eddie Antonio Santos. 2019. OCR evaluation for the 21st century. In 3rd Workshop on the Use of Computational Methods in the Study of Endangered Languages (ComputEL-3), 4 pages.
  17. Eddie Antonio Santos, Carson McLean, Christopher Solinas, Abram Hindle. 2018. How does Docker affect energy consumption? Evaluating workloads in and out of Docker containers. In The Journal of Systems and Software, 17 pages.
  18. Eddie Antonio Santos, Hazel Victoria Campbell, Dhvani Patel, Abram Hindle, J. Nelson Amaral. 2018. Syntax and Sensibility: Using language models to detect and correct syntax errors. In 25th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2018), 12 pages.
  19. Michael D. Feist, Eddie Antonio Santos, Ian Watts, Abram Hindle. 2016. Visualizing Project Evolution through Abstract Syntax Tree Analysis. In Proceedings of the 2016 IEEE Working Conference on Software Visualization, 10 pages.
  20. Isabell Hubert, Antti Arppe, Jordan Lachler, Eddie Antonio Santos. 2016. Training & Quality Assessment of an OCR Model for Northern Haida. In Language Resources and Evaluation Conference 2016, Portoroz, Slovenia, 8 pages.
  21. Eddie Antonio Santos, Abram Hindle. 2016. Judging a commit by its cover; correlating commit message entropy with build status on Travis-CI. In Proceedings of the 13th International Workshop on Mining Software Repositories, 4 pages.
    🏆 MSR 2016 Mining Challenge Winner
  22. Hazel Victoria Campbell, Eddie Antonio Santos, Abram Hindle. 2016. The unreasonable effectiveness of traditional information retrieval in crash report deduplication. In Proceedings of the 13th International Workshop on Mining Software Repositories, 10 pages.

Lecturing

For Technological University Dublin

  • Software Localisation, Spring 2023
  • Advanced Database Technologies, Autumn 2023

Supervision

Undergraduate students

  • Audrey Salmon (Summer 2024)
  • Katie Hammer (Summer 2024)
  • Brij Howard-Sarin (Summer 2023)
  • Byron Hart (Summer 2023)
  • Pranav Khare (Summer 2023)
  • Ashley Francis (Summer 2022)

Presentations and Lectures

Service and Volunteering

National Subject Matter Expert, ISO/IEC JTC 1/SC 2, Standards Council of Canada

Instructor, CS Sparks

BuddyCoders Mentor for UCD Women@Compsci.

Treasurer, UCD PhD Society.

Computer science tutor for Ada’s Team; leader of the Git Workshop.

Canada Learning Code lead instructor and mentor.

Mentor for DiscoverE Summer Camps.

Teach Python as part of Edmonton Public Library’s Community Expert program.

Open source maintainer and contributor.

Technical Skills

Programming languages

  • Python
  • C
  • Rust
  • JavaScript
  • TypeScript
  • Erlang
  • Java
  • Ruby
  • PHP
  • Perl
  • POSIX shell script
  • Awk
  • C++
  • R
  • PL/SQL
  • Scheme
  • C#
  • Scala
  • Haskell
  • assembly (AArch64
  • MIPS
  • x86
  • 6502)
Databases

SQL, Redis, MongoDB, SPARQL, ElasticSearch

Editors

Vim, IntelliJ, Visual Studio Code, Eclipse

OSs

macOS, Ubuntu/Debian Linux, OpenBSD, other Linux distributions

Version Control

Git, Mercurial

Miscellaneous

Docker, HTML, CSS, LaTeX

Natural languages

English
fluent reading, speaking, writing
Spanish
fluent reading; semi-fluent speaking, writing