Mar 28, 2024  
2005-2006 Graduate Catalog 
    
2005-2006 Graduate Catalog [ARCHIVED CATALOG]


Computer Science



Return to {$returnto_text} Return to: Graduate Programs and Certificates

The Department of Computer Science offers the Doctor of Philosophy (Ph.D.) and the Master of Science (M.S.) degrees in computer science. The Ph.D. is granted to highly-qualified students who have completed a rigorous course of study and research training resulting in the preparation and defense of a dissertation describing original computer science research. The Ph.D. is the highest academic degree. It confers the right to be addressed as “doctor” and opens the door to rewarding and fulfilling careers in academia and industry.

The doctoral student will obtain a broad and deep graduate-level background in computer science, with particular depth in a chosen area of specialization. The student will engage in research from almost the beginning of the program and will receive extensive training in computer science research over the course of the program under the direction of a faculty advisor.

The M.S. degree provides an intensive course of study in areas of faculty research interest. It provides the student with an excellent understanding of computer science that provides a solid foundation for many advanced jobs in the field as well as a sound foundation for Ph.D. work for those students interested in further study.

Admission

Consideration for admission is given to highly-qualified and motivated individuals on the basis of scholastic preparation and intellectual capacity. Admission requirements are typically met by individuals with an undergraduate computer science degree, although other applicants will also be considered. Applicants may also be admitted provisionally who do not meet the requirements; such individuals will be required to take selected undergraduate courses in addition to the regular required graduate course work.

Application to the program should be made as early as possible before the semester for which admission is sought. Most decisions about admission are made by April 1 for Fall admission and November 1 for Spring admission.

Prospective students should consult the admissions section of this catalog for a complete list of the requirements of the Graduate School. Admission requirements include:

  1. The candidate will have completed a bachelor’s degree at a regionally-accredited university or four-year college.
  2. Successful applicants will usually have a grade point average (GPA) of at least 3.5 (on a 4.0 scale). No applicant will be considered who has less than a 3.0 or less than a “B” average in undergraduate computer science courses.
  3. All GRE scores required by the Graduate School. We do not require the subject test in computer science, although it may be submitted, if desired.
  4. International students will need to submit TOEFL scores.

Students are expected to have completed the following courses or their equivalent at the time of admission:

  1. COS 220 - Introduction to Computer Science I
  2. COS 221 - Introduction to Computer Science II
  3. COS 230 - Computer Architecture and Assembly Language
  4. COS 250 - Discrete Structures
  5. One year of calculus or a semester of calculus and a semester of linear algebra.
  6. One semester of statistics.

Students who have not completed one or more of these courses can only be considered for conditional admission. Students conditionally admitted are not eligible for financial aid.

In addition, students are expected to have completed the following courses or their equivalent at the time of admission:

  1. COS 301 - Programming Languages
  2. COS 431 - Operating Systems
  3. COS 350 - Data Structures and Algorithms

Students who have not completed one or more of these can be considered for provisional admission. These students can still qualify for financial aid.

No credit toward the Ph.D. degree will be given for any of the above courses. The student must complete each of these courses with at least a “B” grade before he or she can assume regular status in the program.

Requirements for the Ph.D. Degree

The content of the Ph.D. program is designed to prepare the students 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 soon after entering the program.

The Ph.D. program requires 60 semester hours in an approved program of course work. These hours are divided as follows:

  • 21 hours of breadth requirements
  • 18 hours of thesis (dissertation) credit
  • 6 hours of graduate research seminar
  • 15 hours of approved electives

The breadth requirements are designed to give the student a broad, graduate-level background in computer science. The breadth requirements are:

  • Theory of Computation (COS 550)
  • Algorithms (COS 554)
  • Software Engineering (COS 520)
  • Computer Networks (COS 540)
  • Artificial Intelligence (COS 570)
  • Scientific Modeling (COS 515)
  • Databases or Operating Systems (Not finalized at the time of writing; inquire at the CS office.)

Students admitted from the University of Maine who have taken one or more of these courses as an undergraduate must take an approved substitute course in those areas. Students from elsewhere who have had similar courses can ask for a waiver for one or more breadth courses and provide the Graduate Coordinator with sufficient documented evidence of expertise in the area. This will be evaluated on a case-by-case basis. Except in rare cases the student will be required to take the breadth course as stated.

In addition to the breadth courses, the student must take Ph.D. Research Seminar (COS 601) each semester of the first year for a total of 6 hours. (Until COS 601 is added to the graduate catalog, the student will need to register instead for COS 598.) This course will help the student quickly begin the process of becoming involved in research.

The student will also take 15 hours of approved computer science electives at or above the 500 level. Up to 9 hours of courses outside the Department may be substituted with the approval of the student’s advisory committee. It is expected that these courses will be at or above the 500 level and that they will be related to or supportive of the student’s research.

In addition to course work, the student will also be required to pass a comprehensive examination and to prepare and defend a dissertation. The comprehensive examination will be taken in the second year of the student’s course of study. The form of the comprehensive exam is in transition. Currently, the major portion of the exam is a “mini-thesis,” based on analysis and synthesis of published articles, that the student prepares over a three week period. In the near future, the student will instead take a more traditional breadth exam over material from the breadth areas. Passing the comprehensive exam will depend both on the breadth exam and on an assessment of the student’s progress and potential by the Department’s graduate faculty.

The dissertation is a major written work that describes the student’s original, publishable contribution to the field of computer science research. A committee of 5 faculty members, including the student’s advisor, guide the student during his or her work on the dissertation. Upon completion, the dissertation is defended at a public presentation.

Requirements for the M.S. Degree

An M.S. student has the option of preparing and defending a master’s thesis or completing a master’s project. The thesis option is the traditional route to an M.S. degree. The thesis requires substantially more work by the student than the project, and it allows a more in-depth examination of a problem. The thesis option prepares the student for a career in research and development or for further graduate work in a Ph.D. program. The master’s project is more targeted and applied than the thesis, with additional course work. This option best prepares students for advanced jobs in industry, although it certainly does not rule out a career in R&D or further graduate work.

Both options require thirty (30) credit hours of course work at the 400 level and above. This includes:

  1. Required core courses. The required core courses, which must be passed with a grade of B or better, are: Software Engineering (COS 520), Theoretical Computer Science (COS 550), and Algorithms (COS 554).
  2. Research seminar. Each year, the student is required to register for one credit hour of Research Seminar (COS 600). A maximum of three hours of COS 600 can be counted toward the M.S. degree.
  3. Six thesis credit hours (COS 699) or three project credit hours (COS 599).
  4. Approved elective courses. Students taking the thesis option are required to take at least 12 credit hours of electives at the 500 level or above. Students taking the project option are required to take at least 15 credit hours of computer science courses at the 500 level or above. Up to 6 of the remaining hours may be substituted for by highly-related courses from other departments, based upon the approval of the student’s advisory committee.

For students choosing the thesis option, a thesis must be prepared as required by the Graduate School and defended publicly. For the project option, the student will give a public presentation of the project.

The official description of the requirements and other policies is available as a handbook from the Department.

Financial Assistance

Financial assistance is available on a competitive basis in the form of nine-month teaching assistantships and research assistantships. Teaching assistants help faculty members with classes. Research assistants help faculty members conduct research. The Graduate Committee meets to consider all applicants when deciding to whom to award the assistantships.

Facilities

The Department has substantial computing facilities, including two PC labs and a Unix lab. The Department also has access to the University’s mainframe computer and PC and Mac clusters as well as to various supercomputer centers. The University is an Internet 2 site, giving it very high-speed Internet access. Buildings are wired for high-speed ethernet, and wireless access is available over much of the campus.

The Department’s research is organized around several laboratories, each run by one or more professors. The labs allow students working on related research to interact closely with each other and with their advisors. At the time of writing, the Department has laboratories focusing on: artificial intelligence (multiagent systems, intelligent agents, natural language processing); high-performance computing; software engineering; computational modeling; learning tools and environments for K-12; and homeland security.

Opportunities for Interdisciplinary Work

Faculty in the Department often work with faculty in other departments and researchers at other institutions (e.g., The Jackson Laboratory, Argonne National Laboratory) on interdisciplinary work. Students can become involved in this research based on their interests and the faculty members’ needs.

Additional Information

Additional information is available from the Department via e-mail (gradinfo@umcs.maine.edu), telephone (207-581-3941), or FAX (207-581-4977). The Graduate Coordinator can be contacted via the Department office or by e-mail (gradcoord@umcs.maine.edu). Individual faculty members can be reached via the e-mail addresses below for specific questions about their research. Note that as funding and admission decisions are made by the Graduate Committee, individual faculty members will not generally be able to address those concerns. Interested students should also see the Department’s Web site, http://www.cs.maine.edu/.

Graduate Faculty

Elise H. Turner, Ph.D. (Georgia Institute of Technology, Computer Science, 1989), Associate Professor and Chair. Artificial intelligence, natural language processing, interaction of problem solving and communication, cooperative distributed problem solving, multiagent systems. (eht@umcs.maine.edu)

George Markowsky, Ph.D. (Harvard, Mathematics, 1973), Professor. Theoretical computer science, discrete structures, lattice theory, algorithms, devices for the handicapped, PC applications, applications of computer science in biology. (markov@maine.edu)

James L. Fastook, Ph.D. (University of Maine, Physics, 1975), Professor. Glacial modeling, finite elements, non-linear differential equations, vector and parallel processing, supercomputers. (fastook@maine.edu)

Laurence J. Latour, Ph.D. (Stevens Institute of Technology, Computer Science, 1985), Associate Professor. Database systems, software engineering, programming languages and environments, software reusability, software specification techniques, concurrency reliability. (latour@umcs.maine.edu)

Roy M. Turner, Ph.D. (Georgia Institute of Technology, Computer Science, 1989), Associate Professor and Graduate Coordinator. Artificial intelligence (problem solving, planning, context-sensitive reasoning), cooperative distributed problem solving, multiagent systems, control of autonomous underwater vehicles, modeling biological systems, applications of AI to biology. (rmt@umcs.maine.edu)

Thomas Wheeler, Ph.D. (Stevens Institute of Technology, Computer Science, 1988), Assistant Professor. Programming methodology, software engineering, software design, operating system design, distributed system design, formal aspects of systems. (wheeler@umcs.maine.edu)

Phillip M. Dickens, Ph.D. (University of Virginia, Computer Science, 1993), Assistant Professor. High-performance computing, grid computing, distributed systems, distributed simulation, networking protocols, performance modeling. (dickens@umcs.maine.edu)

Return to {$returnto_text} Return to: Graduate Programs and Certificates