Prompt: The [Statement of Purpose] should describe your motivation for pursuing graduate work in computer science. Include any areas of research interest and/or the name(s) of faculty members whose research is of interest to you. Also describe any research or teaching experience you have. Greetings, I've been working as a Software Engineer for 10 years, while earning my Bachelors degree and then afterward. I've been at my current position for the last four years, overseeing the work of a team of software developers. In this role, I both lead and teach software engineering methodologies for building complex tools for our publically traded company. By earning a Masters Degree in Computer Science, I will not only better myself, but will also increase my choices for further career advancement. Specifically a Masters in Computer Science will enable me to take more research and teaching oriented positions. # Why CSU CS Online? The [CSU Online Masters Degree in Computer Science] fits perfectly with where I am in my life and what I want to do next. The online program will allow me to continue working full time, working on coursework in the evenings and weekeds. It's also perfect that my many years of professional experience are taken into account when considering me as a candidate. To test the waters of online masters-level education, I took several courses through the UIUC Online Masters CS program. One in functional programming, and two in Data Mining. These served as an excellent preview, allowing me to get a realistic feel for what is involved in graduate level online coursework. I enjoyed these classes, and the projects. In my current position, I oversee the work of a team of developers. This includes teaching them about the internal tools, as well as introducing them to new software engineering methodology. # Open Source Community Contributions I am very active in community-based software development projects, especially surrounding the Perl programming language. I previously led the Phoenix Perl Mongers, and now lead the DC Perl Mongers, where we are currently planning to run a regional workshop. I've published a variety of modules to CPAN (a repository of Perl libraries), including a continuations-based web application library. I've given many talks and tutorials at developer conferences, both introducing new techniques and tools as well as teaching basics. I've also contributed to the OCaml programming community, including publishing the OCaml Genetic Programming Framework (OGPF), an open source toolkit for performing GP (and GA) experiments structured using OCaml's polymorphic modules (functors). # Academic acheivements / interests My primary research interest is computer-aided software engineering techniques, especially related to source code generation, transformation, and analysis. While this encompasses many things, from compiler design to copy-paste detection, one specific technology that I've explored is Genetic Programming. I'm especially interested in exploring how genotype representation impacts the evolveability of a system. So, for example, I've studied genotype/phenotype mappings, redundancy in representations, and followed recent research involving Grammar and Cartesian representations. Through the Genetic Programming mailing list, I met and then worked with Roland Olsson of Østfold College (Norway). We published a paper, "Self-Improvement for the ADATE Automatic Programming System" in the GECCO 2002 conference. I attended the conference and gave a poster presentation of the work. At CSU, Dr. Darrell Whitley is the most visible person who I'd like to learn from, along with others in the GENITOR research group. # Wrap up My current goal is to get a Masters in Computer Science, to further my education and better both my academic and professional careers. References: John Gyllenhaal 925-424-5485 gyllen@llnl.gov Head of math dept @ NAU Eric Dean Spring 2011: CS457, CS470, CS517, CS530, CS560, CS575 CS457: Computer Networks and the Internet CS470: Computer Architecture CS517: Software Specification and Design CS530: Fault-Tolerant Computing CS560: Foundations of Fine-Grain Parallelism CS575: Parallel Processing Summer 2011: CS420, CS430, CS551 CS420: Introduction to the Analysis of Algorithms CS430: Database Systems CS551: Principles of Operating Systems Fall 2011: CS414, CS440, CS451, CS475, CS514, CS545, CS556 CS414: Object Oriented Design CS440: Intro to AI CS451: Operating Systems CS475: Parallel Programming CS514: Software Product and Process Evaluation CS545: Machine Learning CS556: Computer Security