Eddie Antonio Santos

Software developer and computer science educator

Education

PhD Computer Science

University College Dublin
September 2021–Expected: 2025

MSc Computing Science

University of Alberta
January 2016–November 2018

BSc Computing Science

University of Alberta
September 2010–December 2015

Technical Skills

Programming languages

  • Python
  • C
  • Rust
  • JavaScript
  • TypeScript
  • Erlang
  • Java
  • Ruby
  • PHP
  • Perl
  • POSIX shell script
  • Awk
  • C++
  • PL/SQL
  • R
  • Scheme
  • C#
  • Scala
  • Haskell
  • 6502 Assembly
  • MIPS assembly
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, Vagrant, HTML, CSS, LaTeX

Natural languages

English
fluent reading, speaking, writing
Spanish
fluent reading; semi-fluent speaking, writing
nêhiyawêwin (Plains Cree)
beginner reading, speaking, writing

Work Experience

Assistant Lecturer

October 2022–
Technological University Dublin
  • Create syllabi, lecture slides, assignments

  • Deliver lectures in person and online

Teaching Assistant

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

  • Create lab presentations and develop assignments for high-performance computing (COMP3036J).

  • Assist students with 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

My OCRID: orcid.org/0000-0001-5337-715X

Presentations and Lectures

Hobbies and Volunteering

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

Canada Learning Code lead instructor and mentor.

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

Mentor for DiscoverE Summer Camps.

Created syllabics.app — a Western Cree syllabics converter.

BuddyCoders Mentor for UCD Women@Compsci.

Open source maintainer and contributor.