Teaching and Research Philosophy

Adam J. Conover

Soon after obtaining my B.S. in computer science, I became employed as a software developer for a producer of educational software and mathematics text books. As I gained experience in world of commercial software development and my programming skills matured, my desire to further my formal education increased. Eventually, I decided that the pursuit of a master’s degree in computer science was the next logical career step. Initially, my intent was to return to commercial software development once I had completed my degree. During my master’s degree studies, I became increasingly intrigued by the notion of turning my interest and experience in education into a career in academia. As I neared the completion of my M.Sc., I was offered a fully funded graduate assistant position in Towson University’s doctoral program in Applied Information Technology. I enthusiastically accepted this opportunity, as it served to further my own education as well as provide me with experience teaching in a formal classroom setting.

Over the course of my doctoral studies, I had the good fortune of being able to teach a six credit introductory programming course (in Java) to AIT master’s degree students. Six consecutive semesters of introductory programming instruction gave me numerous insights into the multitude of learning processes employed by students. Throughout this experience, I continuously adapted my teaching methods in attempt to accommodate disparate learning styles. Additionally, I have found that my primary motivation for research ties directly into my desire to teach. Within an institution of higher learning, I feel very strongly that research should be an educational process for both the student and the instructor. Research, to me, should be an endeavour that advances one’s discipline while—at the same time—trains students to become active participants in their own fields of study.

My primary teaching interests lie in the area of advanced programming techniques and software development. I have found that many of the computer science graduates who enter the workforce as computer programmers lack strong software development skills. Students may have an understanding of individual concepts from programming, algorithms and data structures, etc., yet lack a comprehension of how these skills bond together to form “real-world” talents. One of my primary goals as an educator is to develop/instruct a comprehensive and coherent multi-semester software development sequence. First, the fundamentals of computer science and computer programming would be taught. Second, algorithms and data structures would be integrate with a solid theoretical foundation but an emphasis on their application. Finally, applied topics such as database utilization, web application server technologies, advanced GUI design and implementation, multi-threading, XML processing, regular expression programming, unit testing, code versioning control, etc. The goal of such a comprehensive sequence would be to reduce the oft perceived mutual exclusivity of the applied and theoretical disciplines. To compliment such a sequence, I feel strongly that students should be exposed to a “programming language survey” course where similar problems are implemented in multiple languages, demonstrating how the structure of different languages can shape thought processes and provide unique perspectives on solutions. As a public outreach program, I am also interested in developing and instructing a training course for high-school students preparing for the AP Computer Science examination.

To summarize, I believe that computer science and software engineering skills are complimentary and are most meaningful when applied to problems which excite and motivate students. In addition to software engineering and computer programming education, there are numerous additional research areas that I wish to pursue. Other research interests include agent simulation, emergent intelligence, and programing languages. I found have that possessing a broad set of multi-disciplinary interests is vital to producing significant contributions in any academic discipline. For example, some of my research into agent interaction has shown that multi-agent systems have the potential to aid in social network analysis and data network optimization. It is my sincere desire to continue contributing to the disciplines of Computer Science and Applied Information Technology by working closely with students — since the contributions we make as educators can only be measured by how they impact others.

Prepared to Teach: