I teach, write beautiful software, and conduct academic research.
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.
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
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
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
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
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
Teaching
Java
Sun SPOTs
IoT
Mobile App Engineer
Summer 2012
Virtual Computing Lab (VCL) @ North Carolina State University
Raleigh, NC, USA
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
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
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
Teaching
Visual C++
Pascal
Algorithms
Software Engineering
Software Testing
Teaching
CSC 492: Senior Design Project
North Carolina State University
Fall 2014 – Spring 2016 & Fall 2019 – present
The Senior Design Project (CSC 492) is the required capstone course in Computer Science at NC State.
CSC 342: Applied Web-based Client-Server Computing
North Carolina State University
Fall 2022 – present
CSC 226: Discrete Mathematics for Computer Scientists
North Carolina State University
Fall 2019, Spring 2020, Fall 2021
CSC 281: Foundations of Interactive Game Design
North Carolina State University
Spring 2020, 2021, 2022
CSC 216: Software Development Fundamentals
North Carolina State University
Fall 2020
UCAB+NCSU CSC Summer Practicum
North Carolina State University
Summer 2012, Summer 2014
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
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
Faculty Mentorship
Dr. Alexander Card
Fall 2022
Mentored as a Senior Design Technical Advisor
Professional Development
Professional Development in Teaching
Wolfpack Engineering Unleashed Incubator
Summer 2024
North Carolina State University
Raleigh, NC, USA
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.
Leading With Care: Recognizing and Responding to Emotional Distress in Others (QPR Training)
Fall 2014
North Carolina State University
Raleigh, NC, USA
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
Computer Science Professional Faculty RUL Task Force
Spring 2024 – Present
Member
Teaching Faculty Lunch Coordinator
Fall 2023 – Present
CSC Senior Design External Review Task Force
Fall 2023 – Spring 2024
CSC Senior Design Communications Advisor Search Committee
2023
Member
Course Coordinator for CSC 342
2022 – Present
Dean's Ad-Hoc CSC Leadership Review Committee
Fall 2022 – Spring 2023
Member
Teaching Professor Search Committee
Fall 2022 – Spring 2023
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.
Other Notable Projects
Teaching and Classroom Support
CSC 342 Class Portal
The CSC 342 Class Portal helps automate provisioning of GitHub repositories and virtual machines
for individual students and student teams. For students, it gives them the ability to join the class Discord
server with automatic role assignment, and provides personalized instructions and tailored commands that
students can directly execute on their assigned virtual machines. The administrative interface allows the
teaching staff to manage rosters, teams, and team assignments, facilitating efficiently helping students by
easily opening repositories and hosts for specific students.
Docker
Shibboleth
JavaScript
React
MaterialUI
Node.js
Discord API
REST API
MySQL
CSS
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
Node.js
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