Jeff Gray, Ph.D.
Professor
University of Alabama
Department of Computer Science
Box 870290
Tuscaloosa, AL 35487-0290
Office: 3447 SEC
(Science and Engineering Complex)
Email: gray@cs.ua.edu
Phone: 205-348-2847
Fax: 205-348-0219
Maps and photos:SEC
A teaching statement (albeit a little outdated) is available
here.
K-12 Outreach
List of Offered Courses
Undergraduate Honors Research
For a select group of undergraduate students, opportunities are available to engage in focused research projects. Over the years, my Honors undergraduate advisees have been placed at several NSF REUs, allowing them to get a taste of research experience. In every case, students have returned from their summer internships and continued to work on their research projects. This has resulted in numerous conference presentations and paper submissions by these undergraduates. Several female students have received additional fellowship support from the CRA Collaborative Research Experience for Women (CREW) program. Examples of past research projects include model-driven synthesis of robot control systems, and adaptive wireless applications.
A sample undergraduate research project is archived here.
CS 494/594: Special Topics in Competitive Programming Techniques
This course provides a unique opportunity for students to explore new problem solving techniques in a way that is not covered traditionally in the curriculum. This should help students to improve software development skills, with a secondary goal of helping our students to be more competitive at the ACM programming contest. This is a 1-hour course sequence that spans the Spring, Summer, and Fall semesters.
More details about the course are described here.
CS 620/720: Advanced Software Development
This is a graduate-level core course in our curriculum. The goal is to provide a broad survey of theoretical and applied topics in software engineering that are not covered in our undergraduate software engineering course. The course is offered every Spring semester.
More details about the course are described here.
CS 622/722: Adaptive, Evolvable, and Reflective Software Systems
This course surveys software development approaches for supporting evolutionary changes in software systems. Both static and dynamic techniques are studied, including: reflection/meta-programming, aspect-oriented software development, model-driven development, and adaptive/reflective middleware. This is my primary course for introducing my research interests to graduate students. The course is offered every Fall semester.
More details about the course are described here.
CS 626/726: Software Development Seminar
This seminar course surveys "hot" areas in software development. The goal is to expose students to new ideas that may not have made it yet into the core curriculum. Examples of topics from past seminars include web services, model-driven architecture, Eclipse plug-in development, invasive software composition, program transformation, and .Net CLI. The seminar is offered every Spring, Summer, and Fall.
More details about the course are described here.
Note to Prospective Students
Thank you for your interest in the CIS department at UAB, and in the topics of my research. There are many exciting opportunities in progress in our department and within the SOFTCOM laboratory, and we hope that you can take a moment to browse through our brochures or Web pages.
I frequently receive unsolicited emails (sometimes, several emails a day!) from students who are writing to me asking for financial support and to comment on their chances of admission. Here are some general guidelines and suggestions that I will follow as a reply to such requests:
My preference always will be to fund a Ph.D. student over a MS student. A doctoral student is here longer to help me with the research and my investment in training them to work on a grant has more long-term benefits. Most MS students are only able to devote 6-9 months of their time to research, as compared to a few years for a doctoral student. This is not to say that MS students will never be funded on one of my grants - it may be the case that opportunities arise. But, keep in mind my bias toward doctoral students.
Those students that will be selected for a research assistantship will always be those students who have taken one of my classes in the targeted research areas. If I have never met you or observed your skills, I am not going to financially support you without you first proving to me your desire and abilities. There are already many students that have gone through my classes that could be selected as a pool of candidates. The exception to this rule will be to those students who have evidence that they have already done work in the targeted research areas (e.g., show me a paper you wrote on the topic).
If you have visited my web page (or the web pages of other faculty members at UAB and other schools), found out my research areas, and then simply pasted those into a form letter, please understand that I find such a practice to be distasteful. I can easily tell when someone is taking a "gunshot" approach and writing to anyone just to find support, versus those students who truly have an interest in my research areas. In fact, our FAQ (see the bottom of tp://www.cis.uab.edu/graduate/faq.php) states that faculty consider such unsolicited emails to be SPAM.
This certainly does not mean that I am unwilling to work with you on research ideas, or to help you find a thesis topics; these statements refer only to those requests that are made to me for financial support.
Thank you for your interest, and best wishes in the admission process and future graduate studies.