Ignacio X. Domínguez

I teach, write beautiful software, and conduct academic research.
ignacioxd@ncsu.edu
Raleigh, NC, USA
https://go.ncsu.edu/ignacioxd

Summary

I am an Assistant Teaching Professor and Assistant Director of the Senior Design Center for the Department of Computer Science at North Carolina State University.

Languages Spoken

Spanish
Native tongue
English
Fluent
Italian
Basic

Education

Ph.D. in Computer Science
2018
North Carolina State University
Raleigh, NC, USA
M.S. in Computer Science – Track in Data Science
2015
North Carolina State University
Raleigh, NC, USA
B.S. in Informatics Engineering
2010
Universidad Católica Andrés Bello
Caracas, Venezuela

Professional History

Assistant Teaching Professor
August 2019 – Present
Assistant Director of the Senior Design Center
May 2020 – Present
Department of Computer Science @ North Carolina State University
Raleigh, NC, USA
  • Teaching load of 4 courses per academic year.
  • Research in games, user interaction, and computer science education.
  • Courses taught:
    • CSC 492: Senior Design Project
    • CSC 342: Applied Web-based Client-Server Computing
    • CSC 226: Discrete Mathematics for Computer Scientists
    • CSC 281: Foundations of Interactive Game Design
    • CSC 216: Software Development Fundamentals
Teaching Research Student Mentorship Software Engineering
Technology Specialist / Instructor / Technical Advisor / Software Developer / Teaching Assistant
August 2011 – July 2019
Senior Design Center, Department of Computer Science @ North Carolina State University
Raleigh, NC, USA
The Senior Design Project (CSC 492) is the required capstone course in Computer Science at NC State.
  • Served in multiple capacities, including Instructor of Record.
  • Provided mentorship and guidance to Computer Science senior students across a wide range of industry-sponsored technical projects on the requirements, design, implementation and testing of their software solutions.
  • Delivered lectures on software testing, relational database design principles, and database querying (SQL).
  • Designed and developed the Senior Design Web System and Website, optimizing student assignment submissions and instructor feedback workflows, student peer evaluations, activity logs, GitHub integration, email notifications, bundling of submissions for archival, and overall course management and permissions across multiple sections and semesters.
  • Designed and developed a PowerPoint Slideshow Viewer desktop app for seamless multi-file presentations as a replacement for the discontinued Microsoft PowerPoint Viewer.
Project Management Student Mentorship GitHub Teaching C# PHP MySQL Gearman Linux JavaScript CSS REST API Slim Framework Apache HTTP Server
Researcher / Research Assistant
December 2012 – December 2018
CIIGAR Lab @ North Carolina State University
Raleigh, NC, USA
The Computational Intelligence and Interactive GAmes Research (CIIGAR) Lab is a research laboratory housed in the Computer Science Department at North Carolina State University. The Lab is also affiliated with NCSU's Digital Games Research Center.
  • Designed, implemented, and conducted human subject studies to understand player behavior in virtual environments, including hypotheses generation and testing.
  • Designed and ran suites of statistical analysis and machine learning models of experimental data.
  • Architected, implemented, and deployed experiment data collection and data visualization software.
  • Mentored and managed multiple Research Experience for Undergraduates (REU) students in summer-long individual and team-based research projects.
  • Created and maintained the CIIGAR Lab's Website, including the publications list Web app.
  • Published, and presented research work and results at top-tier academic conferences, workshops, and journals.
Statistical Data Analysis Data Science Machine Learning Experimental Design R SPSS LaTeX IRB Compliance Game Design PHP MySQL Eye Tracking ImpactJS JavaScript CSS Unity3D Slim Framework Apache HTTP Server Docker InfluxDB Python Gearman
Instructor for the UCAB CSC Summer Practicum 2014
July 2014
Department of Computer Science @ North Carolina State University
Raleigh, NC, USA
  • Intensive 2-week summer course for Venezuelan students.
  • Focused on Internet of Things (IoT) software development on embedded sensor systems using Microsoft's Gadgeteer platform.
  • Created and designed all course materials including syllabus, lectures and notes, assignments, a mid-course project, and a final project.
  • Delivered lectures, guided labs, and graded assignments.
Teaching Course Design Microsoft Gadgeteer IoT Git GitHub Markdown
Instructor for the UCAB CSC Summer Practicum 2012
July 2012
Department of Computer Science @ North Carolina State University
Raleigh, NC, USA
  • Intensive 2-week summer course for Venezuelan students.
  • Focused on Internet of Things (IoT) software development on embedded sensor systems using Sun Microsystems' Sun Small Programmable Object Technology (Sun SPOT).
  • Developed course content, delivered lectures, guided labs, and graded assignments.
Teaching Java Sun SPOTs IoT
Mobile App Engineer
Summer 2012
Virtual Computing Lab (VCL) @ North Carolina State University
Raleigh, NC, USA
  • Universal iOS native app design and development (iPhone & iPad) of the VCL go app
  • Invocation of 3rd party connection apps (SSH, RDP)
  • Extension of the VCL back-end to support VCL go configurations
iOS XMLRPC Objective-C Xcode PHP MySQL
Teaching Assistant for UCAB CSC Summer Practicum 2011
July 2011
Department of Computer Science @ North Carolina State University
Raleigh, NC, USA
  • Intensive 2-week summer course for Venezuelan students.
  • Focused on Internet of Things (IoT) software development on embedded sensor systems using Sun Microsystems' Sun Small Programmable Object Technology (Sun SPOT).
  • Delivered lectures, guided labs, and graded assignments.
Teaching Java Sun SPOTs IoT
Software Engineer / Intern Software Engineer / Work-Scholarship
October 2005 – January 2011
Dirección de Tecnología e Información @ Universidad Católica Andrés Bello
Caracas, Venezuela
  • Architected, developed, and maintained complex full-stack Web applications.
  • Architected and developed networked desktop applications.
  • Designed and maintained relational databases.
  • Managed projects and gathered requirements from clients.
  • Mentored and managed junior developers.
  • Led research and development efforts to explore new technologies and solutions to propose to the rest of the dev team.
MySQL Oracle Web Services Web Apps PHP C# JavaScript Socket Programming SOAP XML LMS CMS jQuery SQL PL/SQL C/C++ AJAX
Lab Instructor
October 2006 – February 2008
Universidad Católica Andrés Bello
Caracas, Venezuela
  1. Course "Ingeniería del Software" (Software Engineering) of the 5th semester of Informatics Engineering (Computer Science).
  2. Course "Algoritmos y Programación I" (Algorithms and Programming I) of the 2nd semester of Informatics Engineering (Computer Science).
Teaching Visual C++ Pascal Algorithms Software Engineering Software Testing

Student Supervision & Mentoring

Graduate Research and Independent Study

Maya Patel (co-mentored with Dr. Jason King)
Fall 2023
CSC 600: MS Independent Study
Pradeep Patil (co-mentored with Dr. Jason King)
Fall 2023
CSC 600: MS Independent Study
Colin Moore (co-mentored with Dr. Lina Battestilli)
Spring 2020
DELTA Grant: MS Independent Study

Undergraduate Honors Project

Jose Garcia
Fall 2022

Undergraduate Independent Study

Gianfranco Pintimalli
Spring 2024
CSC 299: Undergraduate research for first or second year students
Jacob DeCicco (co-mentored with Dr. Lina Battestilli)
Spring 2021
CSC 499: Undergraduate research for junior or higher students
Maanasa Thyagarajan (co-mentored with Dr. Lina Battestilli)
Fall 2019
CSC 499: Undergraduate research for junior or higher students

Other Undergraduate Mentoring

Gianfranco Pintimalli
Fall 2023
Ramón Sánchez
Fall 2022

Faculty Mentorship

Dr. Alexander Card
Fall 2022
Mentored as a Senior Design Technical Advisor

Professional Development

Professional Development in Teaching

Quality Matters Rubric Update (Seventh Edition) Workshop
Summer 2023
Quality Matters
Raleigh, NC, USA
2022 Scholarship of Teaching and Learning Institute
2022-2023 Cohort
North Carolina State University
Raleigh, NC, USA
Applying the QM Rubric (Sixth Edition) Workshop
Fall 2022
Quality Matters
Raleigh, NC, USA
WolfSNAPS: Writing Effective Learning Objectives
Spring 2022
North Carolina State University
Raleigh, NC, USA
Back-to-Basics Part 3: Facilitating and Managing Engagement in Flexible Course Experiences
Spring 2022
North Carolina State University
Raleigh, NC, USA
Back-to-Basics Part 2: Assessing Learning in Flexible Course Experiences
Spring 2022
North Carolina State University
Raleigh, NC, USA
Back-to-Basics Part 1: Designing Flexible Course Experiences
Spring 2022
North Carolina State University
Raleigh, NC, USA
Humanizing Your Online Course through Trust, Presence, Awareness, and Empathy
Spring 2022
North Carolina State University
Raleigh, NC, USA
Creating and Editing Videos with Panopto
Spring 2022
North Carolina State University
Raleigh, NC, USA
Turn Students Project Groups into High-Performance Teams Workshop
Spring 2021
North Carolina State University
Raleigh, NC, USA
DiversityEdu: Personal Skills for a Diverse Campus
Fall 2020
North Carolina State University
Raleigh, NC, USA
Getting Your Course Online Quickly
Spring 2020
North Carolina State University
Raleigh, NC, USA
Teaching with Moodle
Spring 2020
North Carolina State University
Raleigh, NC, USA
Discrimination and Harassment Prevention and Response Training
Fall 2019
North Carolina State University
Raleigh, NC, USA
Preparing the Professoriate Fellowship
2014-2015 Cohort
North Carolina State University
Raleigh, NC, USA
Nationally recognized signature year-long program in NC State Graduate School's professional development initiative designed to provide an immersive mentoring, teaching, and future faculty preparation experience under the direction of a distinguished faculty mentor recognized for their teaching skills.
  • Participated in regular seminars.
  • Taught a section of the CSC Senior Design capstone course under the mentorship of Dr. Robert Fornaro and Ms. Margaret Heil.
  • Conducted a peer observation of teaching of a class in Chemical Engineering.
  • Developed a professional development project consisting of organizing and making course materials available online for students.
  • Developed a student team assessment activity consisting of individual team meetings to discuss and clarify instructor-provided feedback on project deliverables.
Certificate of Accomplishment in Teaching
Spring 2015
North Carolina State University
Raleigh, NC, USA
Complementary (yet standalone) program to Preparing the Professoriate focused on improving teaching skills via mentorship from faculty, teaching workshops, and teaching observations.
  • Completed two semesters of teaching under the mentorship of Dr. Robert Fornaro and Ms. Margaret Heil, and received explicit feedback on my performance.
  • Participated in regular teaching-focused workshop meetings and completed two reflection assignments on how these workshops enriched my teaching.
  • Developed a teaching portfolio.
  • Received feeback on my teaching performance and artifacts of teaching from both my faculty mentor and the program's instructors.
Introduction to Teaching
January 2014
North Carolina State University
Raleigh, NC, USA
Classroom Management Workshop 3: Managing Disruptive Student Behavior
October 2013
North Carolina State University
Raleigh, NC, USA
Classroom Management Workshop 2: Creating a Healthy Learning Environment
October 2013
North Carolina State University
Raleigh, NC, USA
Classroom Management Workshop 1: Establishing Credibility and Authority
October 2013
North Carolina State University
Raleigh, NC, USA
Student Engagement Workshop 3: Motivating Students
September 2013
North Carolina State University
Raleigh, NC, USA
Student Engagement Workshop 2: Active Learning
September 2013
North Carolina State University
Raleigh, NC, USA
Student Engagement Workshop 1: Learning Styles
September 2013
North Carolina State University
Raleigh, NC, USA
Survival Skills for Teaching Assistants
January 2011
North Carolina State University
Raleigh, NC, USA

Other Professional Development

Mobile Web Specialist Nanodegree
June 2018
Udacity
Online
Oracle Database 10g: Administration Workshop II
October 2008
Oracle University
Caracas, Venezuela
Oracle Database 10g: Administration Workshop I
October 2008
Oracle University
Caracas, Venezuela
Wireless Sensors with Java Technologies
2008
North Carolina State University
Raleigh, NC, USA
Web Component Development with Servlet and JSP Technologies (SL-314)
2008
Sun Microsystems
Caracas, Venezuela

Honors and Awards

Honors and Awards in Teaching

Carla Savage Awesome Teaching Professor
2023
Department of Computer Science, NC State University
Raleigh, NC, USA
2014 Outstanding Teaching Assistant
April 2014
Department of Computer Science, NC State University
Raleigh, NC, USA
2012 Outstanding Teaching Assistant
April 2013
Department of Computer Science, NC State University
Raleigh, NC, USA
University Outstanding Graduate Teaching Assistant Award
March 2013
University Graduate Student Association, NC State University
Raleigh, NC, USA
2011 Outstanding Teaching Assistant
April 2012
Department of Computer Science, NC State University
Raleigh, NC, USA

Other Honors and Awards

Best Paper Honorable Mention
March 2023
2023 Conference on Faculty Excellence
Raleigh, NC, USA
Grow with Google Scholarship Challenge
February 2018
Google + Udacity
Online
Best Paper Honorable Mention
May 2016
34th Annual ACM Conference on Human Factors in Computing Systems (CHI 2016)
San Jose, CA, USA
1st Place in the 9th Local ACM Programming Marathon
2007
Universidad Católica Andrés Bello
Caracas, Venezuela

Service

Service to the University

CSC Senior Design Center
2020 – Present
Assistant Director
Dean's Ad-Hoc CSC Leadership Review Committee
Fall 2022
Member
Teaching Professor Search Committee
Fall 2022 – Present
Member
ThriveDX+NCSU Software Development Bootcamp course curriculum and instructor vetting
Fall 2021 – Present
Teaching Professor Search Committee
Fall 2021 – Spring 2022
Member
Accreditation Assessment Committee for Spring 2020 CSC 492
Fall 2021
Member
Accreditation Assessment Committee for Spring 2020 CSC 226
Spring 2021
Member
Task Force on Promoting Diversity and Inclusivity Discussions and Community
Spring 2020 – Spring 2022
Member
Task Force on Staff and Faculty Training and Retention
Spring 2020
Member
Strategic Planning Committee of the Computer Science Department
2019 – Present
Member

Service to the Profession

Ungrading Perspectives: Experiences and Insights from NCSU Faculty
2024
Panelist
Council for Undergraduate Research (CUR) Award at SIGCSE '22
2022
Judge
ACM Technical Symposium on Computer Science Education (SIGCSE)
2022
Reviewer
Council for Undergraduate Research (CUR) Award at SIGCSE '21
2021
Judge
ACM Technical Symposium on Computer Science Education (SIGCSE)
2021
Reviewer
ACM SIGCHI Annual Symposium on Computer-Human Interaction in Play (CHI PLAY)
2017
Reviewer
Foundations of Interactive Game Design (CSC 281)
Spring 2017
Guest Lecturer
Foundation of Digital Games (FDG)
2015
Subreviewer
Behavior Research Methods
Journal Article, 2015
Subreviewer
Association for the Advancement of Artificial Intelligence (AAAI)
2015
Subreviewer
Workshop on Experimental AI In Games (EXAG) at AIIDE
2014
Panelist
Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE)
2014
Subreviewer
International Conference on Interactive Digital Storytelling (ICIDS)
2014
Subreviewer
Association for the Advancement of Artificial Intelligence (AAAI)
Spring 2014
Subreviewer
Foundation of Digital Games (FDG)
2013
Subreviewer
Association for the Advancement of Artificial Intelligence (AAAI)
2013
Subreviewer
International Conference on Interactive Digital Storytelling (ICIDS)
2013
Subreviewer

Service to the Community

Immersion for Spanish Language Acquisition (ISLA)
Fall 2023
ISLA provides Spanish language programs and cultural immersion opportunities in the Triangle area. During Fall 2023, ISLA hosted a STEM fair targeting Hispanic K-12 students in the area. In preparation for this event, I volunteered to translate technical materials into Spanish. For the event, I created a poster in Spanish to represent NC State Computer Science and provide a robot block-based programming activity using Sphero robots and SAS CodeSnaps.
NC Collaborative for Children, Youth and Families
Summer 2023
The North Carolina State Collaborative for Children, Youth, and Families is a non-profit organization that brings together multiple state entities to create a "comprehensive network of community-based services and supports organized to meet the needs of families who are involved with multiple child service agencies, such as child welfare, mental health, schools, juvenile justice and health care". As part of this mission, they provide training to support personnel through a series of online courses. During summer 2023, I volunteered for the NC Collaborative to migrate all online courses from their legacy North Carolina Collaborative Training Institute by setting up a new portal for them running the latest version of Moodle. This gave them control and ownership over the content in order to maintain the courses and keep the material current. As part of this effort, I provided basic training to NC Collaborative management on the administrative use of Moodle.

Publications

Other Notable Projects

Teaching and Classroom Support

Apache+Shibboleth SP Docker Image
Two Apache (httpd) 2.4 Docker images configured to serve as NCSU Shibboleth SPs. apacheshib: This image provides an Apache 2.4 server configured as an NCSU Shibboleth SP. You will want to use this image to protect content that you serve directly with this server. apacheshib-proxy: This image extends apacheshib to act as a reverse proxy for other Docker containers. These images are available to all NC State users via a private Docker registry hosted by CSC IT. It is used extensively by Senior Design students who are working on projects with campus stakeholders.
Docker Apache Shibboleth Reverse Proxy
Moodle Download Labeler
Python tool to process Moodle quiz submissions by adding the student's name and Unity ID to the top right corner of every submission. It accepts submissions as PDFs, images (GIF, JPEG, PNG), or plain text. This is useful, for example, when uploading Moodle submissions to be graded in Gradescope.
Python Pillow PyPDF
Game Design Document Tool
Web application developed to support the redesign of CSC 281 under a DELTA grant. The tool provides dynamic features for students to generate one or more game design documents. Documents can be shared with others with support for real-time collaboration.
JavaScript React MaterialUI Node.js Web Sockets REST API MySQL CSS
Senior Design Center App & Website
Development and support of website and Web app for the SDC at NC State allowing students to submit and view assignment documents, peer evaluations, hourly effort logs, and submit IT resource requests. For the teaching staff and administrators, this app provides automated provisionign of Git repositories and tiered permissions of student teams on GitHub Enterprise, optimized workflow of feedback coordination and delivery across multiple instructors, background generation of submission bundles for archival, and general management of semesters, sections, student teams, instructors, and project sponsors.
Docker JavaScript JSON AngularJS React Web App REST API PHP Slim Framework MySQL Gearman Automation CSS Cron Jobs
P&P Slideshow Viewer
Allows presentation of multiple PowerPoint files as a single presentation without actually concatenating the files. The order is defined in a JSON configuration file. All animations, transitions and properties of the original files are preserved. The app can start the presentation at any point in the sequence.
C# .NET JSON MS Office API
GitHub Provisioning Automation
Command-line application that allows automation of GitHub tasks, such as repository creation, team and permission assignments, and member access control within a GitHub organization.
PHP JSON REST API GitHub API Git GitHub Enterprise

Games

The Mimesis Effect RPG
Web-based JavaScript role-playing game built for research. The Crown of Power is missing, and the player must help recover it so that the throne's heir can be crowned king.
JavaScript JSON ImpactJS Web App PHP Data Collection
Ragin' Mages
Open source multiplayer MOBA (massively online battle arena) game written in JavaScript (ES6+) with the Phaser game engine. Supports offline gameplay in single-player mode. The server is written in Node.js, and Socket.io is used in multiplayer mode.
JavaScript Game Phaser ES6+ Web App Node.js WebSockets (Socket.io) Gulp Babel

Data Collection and Analysis

Confusion Matrix Online Calculator
Web application to evaluate the performance of classification models via computation of accuracy, precision, recall and F1 scores for user-provided actual and classified count data across an arbitrary number of classes (2 ≤ n ≤ 20).
JavaScript React Sass CSS Grid Jest Webpack
JavaScript Interface for Visualization of User Interaction (JIVUI)
Open source, modular, Web-based, and customizable user data visualization tool that shows an animation of the trace of a user interaction with a graphical interface, or of predictions made by cognitive models of user interaction. Any combination of gaze, mouse, and keyboard data can be reproduced within a user-provided interface.
JavaScript CSS JSON jQuery jQuery UI Web App
pupil-remote-php
A simple, open source, PHP remote control client for the Pupil eye tracker software.
PHP Eye Tracking ZeroMQ Automation
WolfScout
Web app that automates integration of wildlife GPS collars, weather stations, drought conditions, and severe weather reports, and animal demographic information. WolfScout stores a variety of classified landscape maps including natural and manmade features. Additionally, WolfScout's spatial database management system allows users to calculate distances between animals' location and landscape characteristics, which are linked to the best approximation of environmental conditions at the animal's location during the interaction. Through a secure website, data are exported in formats compatible with multiple software programs including R and ArcGIS.
PHP Python ArcGIS JavaScript CSS ESRI Shapefiles GPS PostgreSQL Django

Web Apps

CIIGAR Website
Full-stack development of the website for the CIIGAR Lab at NCSU, including AngularJS app for dynamic loading of publications for the whole lab and automatic filtering for individual lab members' pages.
JavaScript PHP AngularJS Bootstrap 3 Slim Framework JSON CSS
Strategic Motion Video
Adaptive and personalized online training system using dynamic video content to support real-time answers to learner-initiated questions and a natural interaction between a learner and the virtual instructor.
JavaScript JSON AngularJS Web App PHP Slim Framework HTML Video D3.js Natural Language Processing MySQL
BioGestión
Single Page Platform consisting of multiple embedded applications for workflow automation of tasks across all administrative units of Universidad Católica Andrés Bello.
JavaScript AJAX XML CSS PHP MySQL HTML
Avessoc
Healthcare subsidy management and reporting system for the approval of medical exams and procedures for underprivileged patients. Includes management of the cash flow of multiple sources of funding for the subsidies.
JavaScript AJAX CSS PHP MySQL HTML

Desktop Apps

UCAB Lab
Computer lab management system supporting multiple labs, remote locking/unlocking of workstations from a centralized computer per lab, multiple lab operators with sign in/out tracking, automated printing queue tracking and billing per workstation session and with different cost structures per printer type, time and frequency limits and exceptions, and usage reporting for management.
C# .NET Socket Programming C/C++ Windows API
UCABNotifier
Individualized desktop notifications for Universidad Católica Andrés Bello's email and LMS activity.
PHP C# MySQL XML .NET Windows API