Abstract
Machine learning and artificial intelligence are some of the most recent software technologies to find a foothold in problem solving applications across a wide range of occupational fields, most of which are outside of software development. Can the advancements they provide also be applied in the domain where they were created? In an attempt to jumpstart the process of answering this question, an AI agent that can assist the user in solving a programming problem with simple use cases was proposed. To simulate this, the software implements some searching, sorting, and path finding algorithms in Java. Through the graphical interface, the user can request an array or a graph to be made and then fill it with their desired data. Using the OpenNLP Java framework, a chatbot was developed with the capability to parse text input for key details and ask for any information that is missing. Once the user has created their data structure, an appropriate algorithm is suggested based on its properties, or the user can specify which of the available operations to perform. With all necessary details collected, the agent performs the task and gives a reply showing the results, as well as generating code that implements the algorithm used. The outcome was a success in that an artificial intelligence was developed with capabilities that could support a computer scientist with real world programming applications. To expand on this research, one could adapt this model to include more complicated programming problems and allow the user to define specific variable names and functions for the agent to use in the implementation phase. This would provide the ultimate AI companion to programmers which uses learned insight to suggest the best solution to a problem.