Hi. I'm Keith McNamara, Jr.

pronounced: mack-nuh-mare-ruh
Learn about what I do

A bit about me...

I graduated in 2018 with a Bachelor's of Science in Computer Science from the Unversity of Maryland, Baltimore County. I am a current graduate student at the University of Florida, studying Human Centered Computing. My research interests include studying how to better understand and make more efficient human-computer interactions within the scope of automated systems and processes.


My resume.


My CV.


Things that interest me.

Here’s some stuff I've done.

Multi-Agent Planning and Learning Lab (MAPLE)

In many situations in life, humans must take the knowledge they gain in one environment in use it in another. One goal for artificially intelligent agents is to get them to do the same when learning the environments they are in. As a member of the MAPLE Lab at UMBC, I worked on generalizability with artificially intelligent agents. More specifically, my research involved knowledge transfer across different domains.

An Object-Oriented GridWorld

The classic GridWorld domain, a navigation-based domain that works as a grid. The agent can move in the north, south, east, and west directions. Along with another student, I helped to design an object-oriented approach to this domain in which every piece of the domain was an object. This would serve as a good training domain for incoming students to learn the basics domain design and agent learning.


Often, much is not known about a domain when in it, so the agent must learn as it exists. For example, someone in a dark room must find the lights and figure out what they are touching as they navigate. One of my projects involved trying to develop a partially observable domain with the same concept. This domain was called RockSample, based on a previously developed domain. It involved an agent that traversed a rock domain and must collect rocks with certain value. The qualities of the rocks were not known until the agent made contact with them.


Abstract Markov Decision Processes, or AMDPs, are Markov Decision Processes with layers of knowledge abstracted out. More simply, the agent does not consider certain information until it completes some prerequisite task. As an independent study project, I compared the learning rates of different A.I. learning methods, such as QLearning, MAXQ, and AMDP methods. I also tested increases in scale of the domain to determine how the learning rate was affected by the increases in scale.

Northrop Grumman

I worked in the Technology Services sector, in positions ranging from software documentaton, cybersecurity, and software engineering. The weekly software reports entailed my reviews of employee documentation regarding their software updates and progress. When I worked with software engineers, I was able to hand first-hand experience seeing the code development and documenting what processes were being developed. My most notable task during this internship was my work with the Microsoft Sharepoint feature within the company. I was able to provide insight and work/communicate closely with the developers working on the system. I would attend the group meetings with the developers and be a part of the conference calls which would facilitate the progress and updates of the project.

UMBC Division of Information Technology

At the University of Maryland, Baltimore County, I worked within the IT infrastructure space as well as being a part of setting up computer labs and administration computers. My position mostly entailed image installation and troubleshooting. As a result, I needed to be fluent with the Windows and Apple operating systems and computer booting techniques.

Contact Me.

Send me an email.