The Department of Computer Science currently offers the Master of Science and
Doctor of Philosophy degrees. Its goal is to provide an intensive course of
study in the areas of faculty research interests and in so doing support the
research efforts of the department.
The program aims to provide its graduates with an excellent understanding of
computer science that will provide a solid foundation upon which to perform many
advanced jobs in the field as well as a sound foundation for Ph.D. work for
those students interested in further study.
Graduates of the Ph.D. program acquire the breadth and depth necessary to build
a career in computer science research and/or teaching in both academia and
industry. The degree differs from the M.S. in computer science in that students
are required to carry out in-depth, independent, publishable research that is an
original contribution to the field.
An undergraduate degree or extensive background in undergraduate computer
science is required for admission into both the M.S. program and Ph.D. programs.
Highly qualified and motivated candidates whose background is deficient can be
admitted on conditional or provisional status and given an opportunity to make
up deficiencies before being admitted to the regular program.
Applications to the program should be made as early as possible before the
opening of the semester for which the admission is sought. Prospective students
should consult the admissions section of this catalog for a complete list of the
requirements of the Graduate School. An applicant must present evidence of
ability and academic preparation which makes success in graduate work likely.
This would include an application form in duplicate, three letters of
recommendation, two copies of official transcripts and official GRE scores,
including the achievement test in computer science.
The requirements for admission are
- A Bachelor’s degree.
- A “B” average or better in undergraduate computer science courses.
- Submission of all GRE scores required by the Graduate School.
- Completion of the computer science and mathematics courses listed below.
People who have not completed the following courses or their equivalents can
only be considered for conditional admission. Such people are not eligible for
financial aid.
- COS 220 Introduction to Computer Science I
- COS 221 Introduction to Computer Science II
- COS 230 Computer Architecture and Assembly Language
- COS 250 Discrete Structures
- One year of calculus or a semester of calculus and a semester of linear algebra.
- One semester of statistics.
People who have not completed the following courses or their equivalents can
only be considered for provisional admission.
- COS 301 Programming Languages
- COS 431 Operating Systems
- COS 350 Data Structures
No credit toward the M.S. or Ph.D. degrees will be given for any of the above
courses.
All of the above courses or their equivalents must be completed with a B average
before the student can assume regular status in the program. As a general rule,
in order to be considered for an assistantship we would expect students to score
in the following ranges:
TOEFL: 600+
GRE Verbal: 500+
GRE Quantitative: 750+
Analytical: 700+
We consider only those individuals who have forwarded an application to the
Graduate School along with the required fee.
The M.S. degree is offered in both thesis and non-thesis options, with thesis
and project topics available in the areas of current faculty research. Through
their thesis work and assistantship responsibilities, graduate students play an
integral part in both the research and instructional goals of the department.
In order to graduate with the M.S. degree, a student must do the following:
- Pass COS 520 Software Engineering, COS 550 Theoretical Computer Science, and
COS 554 Algorithms with a grade of B or better in each.
- Earn at least 1 credit every year in the Research Seminar. A maximum of 3
credits can be earned for the Research Seminar which cannot be substituted for
any other requirement.
- Earn at least 30 credits in approved courses.
- Either write a Master’s Thesis for 6 graduate credits and earn at least 12
credits in COS courses numbered 500 or above.
OR complete a Master’s project for 3 graduate credits and earn at least 15
credits in COS courses numbered 500 or above.
- Give a public presentation of the Master’s Thesis or Project.
In each of the degree plans above, up to six hours of approved computer oriented
courses in other departments may be substituted for six hours of 400 level
computer science courses. The above requirements are in addition to the
requirements of the Graduate School. A handbook which lists all details about
all requirements and which describes academic policy is available from the
Computer Science Department. The above is just a summary of the chief
requirements, while the handbook is the official statement of policies.
The content of the Ph.D. program is designed to prepare the student to conduct
research in Computer Science and to take positions in academia and industry.
Students are required to carry out in-depth, independent, publishable research
that is an original contribution in the field. They will be involved in research
as soon as they enter the program.
In order to graduate with the Ph.D. degree, a student must do the following:
- Earn at least 60 semester hours in an approved Ph.D. program of graduate
work.
- Earn at least 36 hours of course credit including at least 27 hours at or
above the 500 level.
- Pass a 21 credit breadth requirement, including COS 520 Software Engineering,
COS 550 Theoretical Computer Science, COS 554 Algorithms, COS 531 Operating
Systems, COS 540 Computer Networks, COS 570 Topics in Artificial Intelligence,
and COS 515 Topics in Scientific Computation: Simulation and Modeling.
- Earn at least 18 hours of thesis credit.
- Earn 6 credits of Ph.D. Research Seminar during the first two semesters in
the program.
- Complete a comprehensive exam in the second year of the program, taken in the
form of a mini-thesis over a prescribed three week period.
- Complete both a written and oral Ph.D. dissertation proposal and final
defense.
Up to 9 credits outside of the department may be substituted with the approval
of the student’s advisory committee. The above requirements are in addition to
the requirements of the Graduate School. A handbook which lists all details
about all requirements and which describes academic policy is available from the
Computer Science Department. The above is just a summary of the chief
requirements, while the handbook is the official statement of policies.
Financial assistance is currently available in the form of nine month teaching
and research assistantships. Additional funding, related to research grants, as
well as summer support is also available.
Computing support facilities are substantial. The department runs a network
having SUN, and Silicon Graphics workstations, along with miscellaneous PC’s and
other hardware. Students also have access to the Computing Center’s dual
processor IBM 3090 with a vector processor, and to various supercomputer centers
over high speed links.
The Computer Science Department participates in joint projects with the
University’s Quaternary Institute, and with the National Center for Geographic
Information and Analysis.
The Computer Science Department also participates in joint projects with the
Jackson Laboratory in Bar Harbor, Maine. The Jackson Laboratory is a world-class
research institute in genetics, and increasingly is integrating computer science
and genetics.
Additional information is available from the individual faculty members who can
be reached through the E-mail addresses listed below. Alternatively, the
department can be reached through ordinary mail, telephone (207) 581-3941 or FAX
(207) 581-4977.
George Markowsky, Ph.D. (Harvard, 1973), Professor and Chair. Theoretical
computer science, discrete structures, lattice theory, algorithms, devices for
the handicapped, PC applications, applications of computer science in biology. (
markov@maine.edu)
Max J. Egenhofer, Ph.D. (Maine, 1989) Associate Professor of Survey Engineering.
Associate Director of the National Center for Geographic Information and
Analysis. Cooperating Associate Professor of Computer Science. Information
systems, geographic databases, spatial reasoning, human-computer interaction,
digital libraries, computational geometry.
(max@mecan1.maine.edu)
James L. Fastook, Ph.D. (Maine, 1975), Associate Professor. Glacial modelling,
finite elements, non-linear differential equations, vector and parallel
processing, supercomputers. (fastook@maine.edu)
James A. Kadin, Ph.D., (Cornell University, 1988). Research interests:
Software/database development to support genome and biological research,
computational complexity theory, theoretical computer science, software
engineering and quality assurance, programming language design and
implementation. (jak@jax.org)
Laurence J. Latour, Ph.D. (Stevens Institute of Technology, 1985), Associate
Professor and Graduate Coordinator. Database systems, software engineering,
programming languages and environments, software reusability, software
specification techniques, concurrency reliability. ( (larry@gandalf.umcs.maine.edu)
Seymour Papert, Ph.D. (Cambridge University, England, 1988; Ph.D. University of
Witwaters Rand, South Africa, 1988), Distinguished Visiting Professor of
Computer Science. Child learning and thinking, K – 12 computing, artificial
intelligence. (papert@media.mit.edu)
Elise H. Turner, Ph.D. (Georgia Institute of Technology, 1989), Assistant
Professor. Artificial intelligence, natural language processing, interaction of
problem solving and communication, cooperative distributed problem solving. (eht@cdps.umcs.maine.edu)
Roy M. Turner, Ph.D. (Georgia Institute of Technology, 1989), Assistant
Professor. Artificial intelligence (problem solving, planning, context-sensitive
reasoning), cooperative distributed problem solving, control of autonomous
underwater vehicles, biological modeling, applications of AI to biology. (rmt@umcs.maine.edu)
Thomas Wagner, Ph.D. (University of Massachusetts at Amherst, 2000), Assistant
Professor, Member of MaineSail (Software agents and AI Laboratory), Director of
The University of Maine Agent Institute. Research interests: intelligent
software agents, agent control technologies, information-centric domain
technologies for agents, control for agents situated in multi-agent
environments, agent applications, general AI and information
retrieval/processing. (wagner@umcs.maine.edu)
Thomas Wheeler, Ph.D. (Stevens Institute of Technology, 1988), Assistant
Professor. Programming methodology, software engineering, software design,
operating system design, distributed system design, formal aspects of systems. (twheeler@gandalf.umes.maine.edu)