Donna J. Harris

View my Creative Portfolio

I am a well-rounded, quality-driven, aspiring codehead with a recently completed Master of Computer Science degree and a decade of experience in software testing, quality assurance, and business analysis. Passionate about infusing quality into every aspect of both product and process. Even more passionate about understanding user problems before rushing to implement solutions.

Coding Portfolio

Android Application Programming Course (MCS Coursework)

Collaborative Final Project

Dine Around: An Android Restaurant Tracker App

using Java, JUnit, Room, XML, Android Studio

Our team of five built an Android app for tracking favourite restaurants, coffee shops, and bars which we named Dine Around.

My key contributions included:

  • Designing and implementing the "Places" list layouts, and adding the supporting business logic
  • Incorporating app Help into the design
  • Adding multi-language support, and adjusting the layout as needed
  • Designing the app icon (starting from Ballicons icons)

Because the group's repository is private, please see this selection of my work from the project.

Also, see the testing section relating to this project.

Enterprise Computing Course (MCS Coursework)

Collaborative Final Project

Inventory Management Analytics Dashboard (IMAD):
A high-level, no-input inventory dashboard

using Java (JEE), Maven, MySQL, JBoss, Wildfly, RESTful web services, SAPUI5, VS Code

Our team of two built the Inventory Management Analytics Dashboard (IMAD).

The dashboard presents a high-level, no-input view of inventory, transforming raw transactional data into analytical information and presents its analysis in a modern, SAPUI5-driven user interface. The dashboard consumes the analytical data using RESTful web services.

The application is well-layered, following the separation of concerns design pattern. The persistence layer (imad-ejb, jpa), business logic (imad-ejb, business), web services (imad-rs), and web interface (imad-web) are all packageable as imad-app wrapper.

My key contributions included:

  • Ownership of the last four dashboard cards, including analysis, design, and full-stack implementation
  • Written and layout contributions to the Project Report
  • Creating the Demo Video

Machine Learning Course (MCS Coursework)

Independent Final Project

"Using Historical Data to Predict Batting Success"

using Python, Numpy, Pandas, SciKit, Jupyter Notebook, Google Colab

An independently researched and implemented machine learning project, taking historical Major League Baseball data from a Kaggle dataset (as determined by the project requirements) and running some experiments in an attempt to predict future batting success.

My greatest learning came from:

  • Working with a large dataset
  • Using basic machine learning concepts in practice

iOS Application Programming Course (MCS Coursework)

Collaborative Final Project

Due Not Forget: An iOS Personal Reminder App

using Swift, XCTest, SQLite, XCode

Due Not Forget is a prototype for an iOS personal reminder application, focused on giving the user the flexibility to remember different kinds of things in one place based on date, category, and location.

My greatest learning came from:

  • Using well-separated layers and taking an MVC approach
  • Implementing standard CRUD operations for the core functionality
  • Implementing map functionality for indicating items due nearby
Links: GitHub | Project Demo Video* | Proposal Document

*Note: The project demo video had a strict two minute time limit.

Also, see the testing section relating to this project.

Parallel Programming Course (MCS Coursework)

Collaborative Final Project

HPC Password Cracker:
High performance computing experiments for cracking passwords

using C, VS Code

Our team of three built the HPC Password Cracker.

The project implements both serial and parallel brute force and dictionary attacks. Parallel attack experiments use the following technologies: MPI, OpenMP, and CUDA (brute force only). Password values provided at the command line are expected to be hashed values using sha256sum encryption.

My key contributions included:

  • Refactoring and reorganizing code
  • Shaping and implementing the command line UI and UX
  • Adding help functionality
  • Code documentation and cleanup
  • Compiling and writing the Project Report

Testing Portfolio

BNA Compare Web Application

Professional Experience Case Study

Leveraging automation for analysis and testing

using C# .NET, NUnit, XML, Visual Studio, Ruby, Watir, Selenium Grid, virtual machines, RubyMine

While working as a Business Systems Analyst/QA Analyst at Innosphere SDG Ltd., I took the initiative to leverage my technical skills to automate various aspects analysis and testing over the course of multiple years and multiple projects, starting with BNA Compare.

Please read the case study I have prepared for a detailed reflection on the multi-year journey that all began with a humble Ruby automated login test.

My greatest learning came from:

  • Experiencing UI test automation
  • Creating integration tests in the codebase
  • Using automation for analysis of an XML dataset
  • Using automation to create XML test data
  • Building on past successes and knowledge in projects that followed

Android Application Programming Course (MCS Coursework)

Collaborative Final Project

Dine Around: An Android Restaurant Tracker App

using Java, JUnit, Room, XML, Android Studio

Our group of five built an Android app for tracking favourite restaurants, coffee shops, and bars which we named Dine Around.

My key contributions included:

  • Creating unit and integration tests for some of the helper functions/business logic
  • Manual feature and regression testing throughout
  • Issue tracking

Because the group's repository is private, please see this selection of my work from the project.

Also, see the coding section relating to this project.

C# .NET Test Automation Demos

College Teaching Sample

In-class demonstration code for college students learning code-level testing

using C# .NET, NUnit, Moq, Visual Studio

I learned and created examples of unit testing, integration testing, and mocking for students as part of past instructional opportunities.

My greatest learning came from:

  • Layering the infrasture such that I could effectively work with NUnit and Moq to create tests
  • Breaking down the code to include comments with explanations, tips, and sugggestions for areas to create more tests as student practice

iOS Application Programming Course (MCS Coursework)

Independent Final Project

Due Not Forget: An iOS Personal Reminder App

using Swift, XCTest, SQLite, XCode

Due Not Forget is a prototype for an iOS personal reminder application, focused on giving the user the flexibility to remember different kinds of things in one place based on date, category, and location.

My greatest learning came from:

  • Leveraging the well-isolated project structure to test some business logic components directly using XCTest

Also, see the coding section relating to this project.

Work Experience

For a comprehensive work history, please visit LinkedIn.

Part-Time Professor & Course Developer

Conestoga College

School of Applied Computer Science & Information Technology

Kitchener-Waterloo,
Ontario, Canada

Dec 2018 - Apr 2019 &
Aug 2019 - Aug 2021

  • Created and taught the Software Quality and Usability (PROG2400) Level 4 course as part of the IT Innovation and Design program (ITID). The course emphasizes software quality and testing throughout all phases of development.
  • After delivering the course three times, intentionally and successfully transitioned Software Quality and Usability to a new instructor, who furthered the vision.
  • Taught other courses as requested:
  • Designed and evaluated student assessments to measure progress, providing constructive feedback to improve future performance.
  • Maintained open communication channels with students by providing regular updates, guidance, and support throughout their learning process.
  • Carried out administrative duties such as online course setup, scheduling, and data entry to ensure seamless operations.

Professional Development Opportunities

Business Systems Analyst & QA Analyst

Innosphere SDG Ltd.

Guelph, Ontario, Canada

May 2010 - Apr 2017

  • Partnered with remote stakeholders to understand and define product requirements, creating, maintaining, and verifying user stories.
  • Bridged gaps between technical and non-technical colleagues on multiple Agile, cross-functional teams.
  • Utilized analytical and technical skills to provide innovative analysis and testing support for more than 12 highly data-driven web applications.
  • Frequently learned new business domains, datasets, and client products, including system configuration, data update procedures, and general maintenance.
  • Influential in sprint grooming, planning, and scheduling project work.
  • Skilled at following code, understanding system infrastructure, and working closely with developers.

Professional Development Opportunities

Software QA Tester

Innosphere SDG Ltd.

Guelph, Ontario, Canada

Sep 2007 - May 2010

  • Manually tested products, independently and in collaboration with team members.
  • Created and maintained test and instructional documentation, presented product demonstrations, and mentored new team members.
  • Provided on-site testing and troubleshooting support for client's critical migration project.

Professional Development Opportunities

Education

Master of Computer Science (MCS)

Wilfrid Laurier University

Waterloo, Ontario, Canada

Major: Computing

Graduated June 2023

Advanced Parallel Programming
Linux: C, MPI, OMP, CUDA
Jupyter Notebook: Python, Spark
iOS Application Programming
MacOS: Swift, SQLite
Android Application Programming
Java, Gradle, Room
Technology Entrepreneurship
Practical Algorithm Design
Python
Machine Learning
Jupyter Notebook: Python, including NumPy, Pandas
Enterprise Computing
Windows: Java, JEE, Maven, JBoss, MySQL, OSGi, SAPUI5
Applied Cryptography

Bachelor of Science Honours (B.Sc. Hons.)

University of Guelph

Guelph, Ontario, Canada

Major: Computing &
Information Science

Graduated with Distinction
June 2004

  • Skills developed and practiced include: Java (J2SE: including applets, Swing, RMI, JDBC, servlets), HTML/CSS, PHP, SQL, C
  • Coursework included: software and web development (primarily in Linux), distributed and enterprise systems, databases
  • Worked as a Supported Learning Group leader for first year programming courses (six semesters)
  • Worked as an Undergraduate Teaching Assistant for computer science courses (three semesters)

What Others Have Said...

Donna is one of the most intentionally collaborative people I've ever worked with. She's never too busy to talk through requirements or walk through the steps to troubleshoot a problem or software bug. When we were colleagues on a project I could always count on her methodical and thorough evaluation of the issue and implementation of requirements.

Kristin Smithberger | Manager, Publishing Operations Group (Bloomberg BNA)

Donna and I worked together on a series of technical projects where she was the [business analyst] and I was the subject matter expert. She was instrumental in helping us transition over 110,000 data points from Excel into our proprietary software to help make our annual updating process more efficient.

Besides being a technical wizard who made IT magic happen, Donna was a great collaborator, teacher, and problem solver. With Donna's help, I was able to help the editorial team translate error messages from the database quickly to make sure that any issues were addressed as soon as possible - often within minutes of their discovery.

Donna's innovative solutions saved my team weeks of manual labor! Not only was she a joy to work with on a professional level, she was also incredibly kind and thoughtful. She went out of her way to stop by and say hello whenever her team travelled to our office and always brought us some fun Canadian candy or snacks to try. I would highly recommend Donna for any position and can only hope to work with her again some day.

Lauren Colandreo | State Tax Law Editor (Bloomberg BNA)

As a Project Manager at a major U.S. legal publishing company, I was assigned to a suite of products developed and maintained with an IT contractor. Donna Harris was one of my principal contacts over a multi-year period.

Donna was responsible for analysis and testing on several complex web-based products. She was both thorough and thoughtful in her work. She took the initiative to learn the complexities of U.S. Federal and state laws and regulations and the workflows critical to their update cycles, often displaying an understanding beyond her American clients. Donna worked diligently to ensure the "use cases" and test scenarios were valid and provided meaningful results.

As with many IT projects, software updates were scheduled for weekends, overnight or early morning hours. Donna made herself available for the updates and post-update testing, always delivering comprehensive results and alerting team members to possible issues.

Donna took it upon herself to ease communication and language barriers that occasionally complicated the work of a distributed team. Donna was always the consummate professional - focusing on the work at hand without compromising product or personal integrity.

Julia S. Lennen | Project Manager, Retired (Bloomberg BNA/Bloomberg Industry Group)