Feb 21, 2024  
2016-2017 Graduate Catalog 
2016-2017 Graduate Catalog [ARCHIVED CATALOG]

Computer Science

Return to {$returnto_text} Return to: Graduate Programs, Certificates, Specializations, Emphases

The School of Computing and Information Science offers the Master of Science (M.S.) and the Doctor of Philosophy (Ph.D.) and undergraduate degrees in computer science. 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. The M.S. degree with a thesis is a required step for obtaining the Ph.D. degree.

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.


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). Normally, 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 and COS 221 - Advanced C++ Programming
    COS 125 - Introduction to Problem Solving Using Computer Programming and
    COS 225 - Introduction to Object-Oriented Programming and Design
  2. COS 230 - Computer Architecture and Assembly Language
    COS 335 - Computer Organization and Architecture
  3. COS 250 - Discrete Structures
  4. One year of calculus or a semester of calculus and a semester of linear algebra.
  5. 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 350 - Data Structures and Algorithms
  3. COS 431 - Operating Systems

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 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, and is required of all students who want to go on to the Ph.D. 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. 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. Six thesis credit hours (COS 699) or three project credit hours (COS 599).
  3. 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. Upon approval by the student’s advisory committee, highly-related courses from other departments may be substituted for up to 6 of the remaining hours. Students who are interested in continuing on to the Ph.D. are encouraged to complete as many of the Ph.D. breadth courses as will fit into their program. These courses are listed in the description of the Ph.D. program.

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 must give a public presentation of the project.

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.

To be admitted to candidacy for the Ph.D. students must complete the breadth requirements, all requirements for an M.S. with a thesis, the 1 hour Ph.D. orientation seminar, and be accepted by a vote of the Graduate Faculty.

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

  • 21 hours of breadth requirements
  • 12 hours of course electives
  • 6 hours of M.S. thesis credit
  • 18 hours of Ph.D. dissertation credit
  • 1 hour of Ph.D. orientation seminar

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)
  • Database Management Systems (COS 580)
  • Artificial Intelligence (COS 570)
  • Scientific Modeling (COS 515)

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 courses as stated.

A 1-credit hour orientation course should generally be taken the first semester that the student is in the program. During this course, the student will be introduced to what it means to be a Ph.D. student, and the student will be introduced to the Department and to the graduate faculty and their research.

The student will also take 18 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 qualifying examination in the area of specialization. This examination with be administered by the student’s advisor.

The student is required to prepare and defend a dissertation. 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 work on the dissertation. Upon completion, the dissertation is defended at a public presentation.

Financial Assistance

Financial assistance is available on a competitive basis in the form of nine-month teaching assistantships and research assistantships. All assistantships are given for one year at a time. Satisfactory academic progress and satisfactory performance as an assistant are necessary, but not sufficient conditions for retaining an assistantship. Assistantships are competitive and are given only to the very best students.

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. All students are automatically considered and there is no separate application process.


The School of Computing and Information Science has substantial computing facilities, including a 648 processor green supercomputer, a 72 processor green supercomputer, five mobile robots, two PC labs and a teaching cybersecurity lab. The School also has access to the University’s computing resources as well as to various supercomputer centers. The School also has access to the Gulf of Maine Observing System which includes an autonomous underwater vehicle and several autonomous boats. The University is an Internet 2 site and has significant high-speed Internet access. Buildings are wired for high-speed Ethernet, and wireless access is available over much of the campus.

The School’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 School has laboratories focusing on: artificial intelligence (multiagent systems, intelligent agent control, interagent communication, and computational  ecology); high-performance computing; databases (autonomous and semistructured databases); bioinformatics; computing theory; fuzzy inference systems; visualization; computational modeling; cybersecurity and homeland security; spatial artificial intelligence and knowledge engineering.

Opportunities for Interdisciplinary Work

Faculty in the School of Computing and Information Science often work with faculty in other departments and researchers at other institutions (e.g., The Jackson Laboratory, Argonne National Laboratory, Columbia University, Autonomous Undersea Systems Institute, etc.) on interdisciplinary work. Students can become involved in this research based on their interests and their advisors’ needs and interests.

Additional Information

Additional information is available via e-mail markov@maine.edu, telephone (207-581-2188), or FAX (207-581-2206). The Computer Science Graduate Coordinator can be contacted by e-mail, markov@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 School’s Web site, http://umaine.edu/cis/graduate-programs/

Graduate Faculty

Sudarshan S. Chawathe, Ph.D. (Stanford University, Computer Science, 1999). Associate Professor. Areas of interest: autonomous and semistructured databases. (chaw@cs.umaine.edu)

Phillip M. Dickens, Ph.D. (University of Virginia, Computer Science, 1993), Associate Professor. Areas of interest: high-performance computing, grid computing, distributed systems, distributed simulation, networking protocols, performance modeling. (dickens@cs.umaine.edu)

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

Torsten Hahmann, Ph.D. (University of Toronto, Computer Science, 2013). Assistant Professor. Areas of interest: artificial intelligence (knowledge representation, logic, automated reasoning), spatial informatics, spatial AI, knowledge and ontology engineering, theoretical computer science. (torsten.hahmann@maine.edu)

George Markowsky, Ph.D. (Harvard, Mathematics, 1973), Professor, Graduate Coordinator. Areas of interest: theoretical computer science, discrete structures, lattice theory, algorithms, cybersecurity, homeland security, green computing. (markov@maine.edu)

Linda Markowsky, Ph.D. (University of Maine, Computer Science, 2014), Assistant Research Professor. Areas of interest: automata theory, fuzzy inference systems, cybersecurity, information visualization. (lmarkov@umcs.maine.edu)

Roy M. Turner, Ph.D. (Georgia Institute of Technology, Computer Science, 1989), Associate Professor. Areas of interest: artificial intelligence (problem solving, planning, context -sensitive reasoning), cooperative distributed problem solving, multiagent systems, control of autonomous underwater vehicles, computational ecology, applications of AI to biology. (rmt@cs.umaine.edu)

Return to {$returnto_text} Return to: Graduate Programs, Certificates, Specializations, Emphases