Department of Computer Science
Graduate Degree Programs
Ph.D. and MS Degree Information
(A PDF version of this document is available here)
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 basis 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, although later applications are considered.
Prospective students should consult the admissions section of the Graduate Catalog for a complete list of the requirements of the Graduate School. Admission requirements include:
- The candidate will have completed a bachelor's degree at a regionally-accredited university or four-year college.
- Successful applicants will usually have a grade point average (GPA) of at least 3.5 (on a 4.0 scale). No applicant will usually be considered who has less than a 3.0 or less than a ``B'' average in undergraduate computer science courses.
- 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.
- International students will need to submit TOEFL scores.
Students are expected to have completed the following or their equivalent at the time of admission:
- Introductory programming sequence: either COS 220 (Introduction to Computer Science I) and COS 221 (Introduction to Computer Science II); or COS 125 (Introduction to Problem Solving Using Computer Programming), COS 225 (Introduction to Object-Oriented Programming and Design), and COS 226 (Introduction to Data Structures)
- COS 230 (Computer Architecture and Assembly Language) or COS 335 (Computer Organization and Architecture)
- COS 250 (Discrete Structures)
- One year of calculus or a semester of calculus and a semester of linear algebra.
- 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:
- COS 301 (Programming Languages)
- COS 350 (Data Structures and Algorithms)
- 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.
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. In addition, graduate assistantships may be available through the Graduate School.
Graduate assistantships provide tuition and a stipend. As of Fall 2006, the stipend teaching assistantships is $18,264 for Ph.D. students and $11,500 for M.S. students. Research assistantships are generally the same, but can be more.
Student health insurance is subsidized for graduate assistants. The University (or a research grant, for RA's) pays 1/2 of the premium, with the balance (currently $869) being the student's responsibility.
Doctor of Philosophy Program
Ph. D. Degree Requirements
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.
Course Requirements
The Ph.D. program requires 58 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
- 18 of approved electives
- 1 hour of Ph.D. orientation
(Note that these requirements are currently under review and may change; in particular, the number of elective hours has not yet been finalized.)
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 course as stated.
An orientation course (COS 601,1 1credit hour) is also required during the first Fall semester 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. This course will usually consist of a few lectures/discussion sessions followed by presentations from the graduate faculty members describing their research.
Breadth Exam
The breadth exam itself will be a set of written tests over several areas of computer science. The purpose of the exam is to test the student's mastery of computer science. It is expected that studying for the tests simultaneously will reinforce the student's understanding of the interrelationships between the fields of computer science.
Each area corresponds to one of the required Ph.D. core courses and in most cases to a research focus of the Department. Consequently, which areas are tested, and how many, will change over time as the composition and interests of the faculty change. Currently, the areas tested are:
- Artificial intelligence
- Simulation and computer modeling
- Networks
- High-performance computing
- Theory
- Algorithms
- Databases
The student will select 6 of these 7 areas upon which to be tested and will indicate this choice when notifying the faculty of his or her intention to take the exam.
Although each area's test will cover roughly the material covered in the corresponding core course, the questions asked will generally be more difficult and will test the student's deep understanding of the material and his or her ability to think about it at the level expected of Ph.D. students.
Reading Lists
A reading list for each area will be made available to the student sufficiently prior to the breadth exam to allow for effective study. The reading list will in general be based on the material covered in the core course in that area, and the student will have taken the core courses prior to taking the breadth exam. The reading list for an area may contain additional material at the discretion of the faculty writing the exam in that area.
The reading lists will be on file in the Computer Science Department office as well as on the Web site. The exam can cover anything on the reading lists.
Mechanics and Timing of the Exam
A student may take the breadth exam after a minimum of eighteen months in the program. The student should seek the advice of his or her advisory committee to determine the appropriate timing. The test will be given yearly on the last two days of Spring Break (generally mid-March). Students wishing to take the test must notify the faculty at least 6 months prior to the test (generally mid-September).
Each test of the breadth exam will be two hours long. The exam will be given over two days. No study materials or books of any sort will be allowed in the exam room.
Passing the Comprehensive Exam
Passing the breadth exam is a necessary but not a sufficient condition for passing the comprehensive exam. To pass the comprehensive exam, the student must also demonstrate to the satisfaction of the faculty the likelihood of his or her ability to do research and complete the Ph.D. This includes, but is not limited to, such things as performance in classwork, ability to work successfully in a research lab and/or with a faculty member, performance of his or her TA or RA duties (if applicable), and the quality and quantity of any research he or she has done. The graduate faculty of the Department will meet to discuss the student's case and whether or not it is advisable to continue in the Ph.D. program.
With respect to the breadth exam, the expectation is that the student must pass all of the tests taken in order to pass the exam. Under extraordinary circumstances, the faculty may decide to pass the student even if he or she fails one of the tests. (For example, if the student has clearly demonstrated mastery of the material covered in that test by publishing a high-quality paper in the area or by extraordinary performance on coursework.) It is anticipated that such cases will be extremely rare.
Should a student fail one or more sections of the exam, the faculty will have the option of requiring the student to retake the exam at the next regularly-scheduled time or of removing the student from the Ph.D. program. If the student is required to re-take the exam, all tests will be taken again, including those the student passed the first time.
No student may take the breadth exam more than two times.
The graduate faculty will meet to discuss the results of the breadth exam, usually within two weeks of its administration. At that time, decisions will be made about which students must re-take the exam, which are to be admitted to candidacy, and which will be removed from the program. The students (and the Graduate School) will be notified in writing shortly thereafter.
Dissertation Committee
Upon entrance into the graduate program, each student will be assigned a faculty member as an academic advisor. Note that this faculty member is assigned as faculty advisor strictly for administrative purposes and likely will not have the same research interests as the student. It is the job of this advisor to guide the student in choosing an advisory committee and in choosing courses prior to the choice of such a committee.
The advisory (dissertation) committee for the Ph.D. consists of at least five members in total and at least three from the Computer Science Department. The chair will direct the student's dissertation and serve as the student's academic advisor for the remainder of the student's program. The chair will be a faculty member whose areas of interest include the student's proposed dissertation topic.
A student may choose a committee member from off campus, but such a committee member must first apply for membership in the graduate faculty. Forms for such an application are supplied by the Graduate School.
The advisory committee must approve the student's program of study and therefore must be in place upon completion of the student's 12th graduate credit hour or before the start of the student's third semester (see Program of Study). The chair of the committee must be selected by the end of the first year in the program.
A written Ph.D dissertation proposal must be submitted by the end of the third year in the program. This proposal must include:
- A detailed literature survey
- A detailed description of the research problem.
- A detailed description of the problem-solving approach.
- A detailed timeline outlining critical phases of the problem research.
In addition, the student must make an oral defense of this proposal. The student may be denied permission to continue if any of the above four proposal requirements are not met.
The Dissertation
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. The following is an excerpt from the Graduate Catalog describing a dissertation:
The doctoral dissertation must demonstrate the candidate's mastery of the area of research. It must give evidence of an exhaustive study of a specialized field and must be an authoritative statement of knowledge on the subject or produce a new interpretation by rearrangement or reanalysis of existing data. The work must be a definite contribution to knowledge of sufficient importance to warrant its publication.
See the Graduate Catalog for details about formatting and submission requirements for the dissertation.
Upon completion, the dissertation is defended at a public presentation.
Applying for a Masters Degree During PhD Program
As is often the case in computer science Ph.D. programs, the Department allows Ph.D. students to apply for a masters degree during their programs of study. Students wishing to do this must be Ph.D. candidates, i.e., they must have already passed their comprehensive exam.
The student may elect either the thesis or non-thesis M.S. option. All of the usual requirements for the M.S. apply, with the following exceptions:
- The student may substitute the Ph.D. Research Seminar for the Masters Seminar or may request that the Masters Seminar requirement be waived.2
- The student may use work done as part of his or her Ph.D. research as the basis for the M.S. project or thesis.
In all cases, there must be both a written component and an oral presentation. The scope, intellectual effort, and product used for the M.S. must be commensurate with the M.S. option selected.
The student should be aware that the Graduate School requires that the M.S. program's requirements for thesis or project hours must be satisfied. This may require some planning on the part of the student.
A Ph.D. student wishing to obtain a M.S. degree must apply in writing to the Graduate Committee no later than the end of the first third of the semester in which they intend to obtain the M.S. We advise the student to apply as early as possible, however, to ensure that there are no deficits in his or her academic program. The application letter must note the option (project or thesis) to be done and contain a description of the project/thesis work. It must also describe how the Masters Seminar and M.S. project/thesis credit requirements will be met. The Graduate Committee will generally consider the application at its next meeting after the application is turned in.
Doctor of Philosophy Program
Ph. D. Model Curriculum
Ph. D. Degree Track
First Year - First Semester
First Year - Second Semester
Credits
Course
Credits
Course
3
COS 5xx (Breadth)
3
COS 5xx (Breadth)
3
COS 5xx (Breadth)
3
COS 5xx (Breadth)
1
COS 601 (Orientation)
7
TOTAL
6
TOTAL
Second Year - First Semester
Second Year - Second Semester
Credits
Course
Credits
Course
3
COS 5xx (Breadth)
3
COS 5xx (Breadth)
3
COS 5xx (Breadth)
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS xxx (Elective)
- Comprehensive Examination -
- Breadth Requirements Complete -
9
TOTAL
9
TOTAL
Third Year - First Semester
Third Year - Second Semester
Credits
Course
Credits
Course
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS 699 (Graduate Thesis)
3
COS 699 (Graduate Thesis)
- Dissertation Proposal -
9
TOTAL
6
TOTAL
Fourth Year - First Semester
Fourth Year - Second Semester
Credits
Course
Credits
Course
6
COS 699 (Graduate Thesis)
6
COS 699 (Graduate Thesis
- Dissertation Defense -
6
TOTAL
6
TOTAL
Note that this sample schedule does not include summers. Students who wish to be enrolled over the summer can take 3 hours of thesis credit before admission to candidacy and 1 hour thereafter.
Masters of Science Program
Degree Requirements
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:
- 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).
- 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.
- Six thesis credit hours (COS 699) or three project credit hours (COS 599).
- 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.
Academic Advisors and Advisory Committees
Upon entrance into the graduate program, each student will be assigned a faculty member as an academic advisor. Note that this faculty member is assigned as faculty advisor strictly for administrative purposes and likely will not have the same research interests as the student. It is the job of this advisor to guide the student in choosing an advisory committee and in choosing courses prior to the choice of such a committee.
The advisory committee for the M.S. consists of at least three members of the graduate faculty, with one member designated as chair. The chair will direct the student's thesis or project work and serve as the student's academic advisor for the remainder of the student's program. Normally this chair will be a faculty member whose areas of interest include the student's proposed thesis or project topic. The advisor must be selected by the end of the student's first year in the program.
A student may choose a committee member from off campus, but such a committee member must first apply for membership on the graduate faculty. Forms for such an application are supplied by the Graduate School.
The advisory committee must approve the student's program of study, and therefore must be in place upon completion of the student's 12th graduate credit hour or before the start of the student's third semester (see Program of Study).
Recommended Timing of Courses
The M.S. degree is planned as a 2- to 2 1/2 -year degree. Below are recommended 2 1/2 -year schedules for both the thesis and non-thesis option. Note that 5 semesters requires an extra 3 credits to maintain full-time status. The 30 credit program can be completed in 2 years by taking research seminar credits in 3 of the first four semesters and taking 3 courses in the remaining semester. Thesis option students might then find it necessary to complete their thesis in the final summer.
Masters of Science Program
Model Curriculum
¦
M.S. Degree (Thesis Option)
First Year - First Semester
First Year - Second Semester
Credits
Course
Credits
Course
3
COS 550 (Core)
3
COS 554 (Core)
3
COS 520 (Core)
3
COS xxx (Elective)
1
COS 600 (Research Seminar)
7
TOTAL
6
TOTAL
Second Year - First Semester
Second Year - Second Semester
Credits
Course
Credits
Course
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS 699 (Graduate Thesis)
1
COS 600 (Research Seminar)
7
TOTAL
6
TOTAL
Third Year - First Semester
Third Year - Second Semester
Credits
Course
Credits
Course
3
COS xxx (Elective)
3
COS 699 (Graduate Thesis)
1
COS 600 (Research Seminar)
7
TOTAL
TOTAL
M.S. Degree (Non-Thesis Option)
First Year - First Semester
First Year - Second Semester
Credits
Course
Credits
Course
3
COS 550 (Core)
3
COS 554 (Core)
3
COS 520 (Core)
3
COS xxx (Elective)
1
COS 600 (Research Seminar)
7
TOTAL
6
TOTAL
Second Year - First Semester
Second Year - Second Semester
Credits
Course
Credits
Course
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS xxx (Elective)
3
COS xxx (Elective)
1
COS 600 (Research Seminar)
7
TOTAL
6
TOTAL
Third Year - First Semester
Third Year - Second Semester
Credits
Course
Credits
Course
3
COS xxx (Elective)
3
COS 599 (Graduate Project)
1
COS 600 (Research Seminar)
7
TOTAL
TOTAL
Graduate Programs
Student Information
Program of Study
The program of study is an outline of all academic work to be undertaken by the student. The student's advisory committee (see below) must be in place prior to submission of the program of study, since that committee must approve the document. Normally the committee works with the student to design the study plan. The following is an excerpt from the General Policies and Regulations section of the Graduate Catalog:
The program of study is an outline of all academic work to be undertaken by a graduate student, and must include prerequisite and elective courses taken while enrolled in a graduate program. It is planned by the student and his or her advisory committee as early as possible in the course of study, and must be submitted to the Graduate School before the student's third registration will be approved, or upon completion of 12 hours of graduate credit, whichever comes first. (A doctoral student with a master's degree should submit a program of study by the end of the first year of study.)
The program of study must be approved by the advisory committee and submitted on an official form to the Graduate School.
The program of study will be available to the graduate faculty during the graduate student annual review.
It is important to note that any part of this program can subsequently be changed, and that the summary of thesis topic (for M.S. thesis option students or Ph.D. students) should not be viewed as the thesis (or dissertation) proposal.
Evaluation of Student Progress
There are required, timed milestones for continuation in the program. A Program of Study is required by the Graduate School after 12 hours of graduate study or before the third graduate registration. A student is also required by our Graduate Committee to find a thesis advisor before the end of the first year in the program.
In addition, the Department's Graduate Committee will evaluate each student's progress annually. This is a formal review process that begins with the student submitting an annual report by April 1. This report will be in a standard form (to be provided by the Department) similar to the activity reports faculty are required to submit. Information in the report will include a record of the student's coursework for the year (if any), his or her publications, a self-assessment of his or her progress, a description of future plans, and any other activities thought to be relevant. The Graduate Committee, in consultation with the student's advisor and committee, will then prepare a written evaluation of the student's progress by April 30. The student's annual report will be part of the information considered in preparing the evaluation. A poor evaluation can result in the student being put on probation or being asked to withdraw from the program.
Academic Probation and Dismissal
It is expected that students in the program will strive for excellence in all their courses. This means that all courses should be completed with a grade of A or B. For graduate students, a grade in a course of C or below is unacceptable and will not in general be accepted for credit toward the degree. A student may petition to have a course completed with a grade of C count toward the degree, but this will be approved only in rare instances. Only one such course can be counted during the student's program, and in no case can a grade less than C be counted. Two or more C grades may be grounds for dismissal from the program.
A student receiving a failing grade in a course will be placed on probation or, at the discretion of the Graduate Committee, be dismissed from the program. Should the course (or an approved substitution) not be satisfactorily completed within a reasonable time (as determined by the Graduate Committee), the student will be dismissed from the program. Should a student fail two courses during his or her program, he or she will be dismissed from the program.
Policy on Plagiarism
According to the UMaine Dean of Students Office:
Plagiarism is the presentation of someone else's words, ideas, or data as one's own work. Proper citation and/or acknowledgment must be given to other's work.
Plagiarism is a very serious matter, especially at the graduate level. It is both stealing and lying: by turning in someone else's work as your own, you are stealing their intellectual property and lying to the person to whom you turn it in. Plagiarism is the sort of offense that can destroy your career.
The University allows quite a bit of latitude with respect to how plagiarism and other forms of cheating are handled. However, in this department at the graduate level, we have a very simple policy:
- If you are caught plagiarizing or otherwise cheating, you will be turned over to the Office of Judicial Affairs. This office can impose penalties up to and including dismissal from the University.
- In addition, if you are a TA or RA, you will lose your assistantship.
- While grading is the responsibility and right of the course instructors, the Graduate Committee of the Department encourages the instructor in a case involving plagiarism to fail the student for the course.
Graduate Programs
Student Life
The Computer Science Department provides a very collegial, congenial environment in which to study. Graduate courses have very small classes, and there is ample opportunity for the students and faculty to get to know one another.
In this section, several aspects of student life in the Department are discussed. The student should also see the University's Web site for additional information.
Ph.D. Teas
There will be regular teas sponsored by the Department for the Ph.D. students, faculty, and other graduate students. Though called ``teas,'' these really will be times when the graduate students and faculty can gather informally over light refreshments to relax and chat. The teas will generally be set up in or outside the new graduate student lounge in East Annex.
The teas are held weekly or every two weeks, on an afternoon that does not conflict with departmental meetings and seminars. The teas are scheduled for 1/2-1 hour, but people should be free to linger afterward. If there is a regular colloquium time established during a semester, then the teas will usually be scheduled so that on the weeks that there is a colloquium, they can serve as receptions.
One Ph.D. student will be the Ph.D. tea coordinator for a semester. This person is responsible for finding students to be responsible for teas during the semester. The person responsible for a particular tea will need to purchase the drinks and food and set up the tea just prior to the tea time. That person will also need to clean up the area after the tea. He or she will then submit the receipts for the purchases to the Department's administrative assistant for reimbursement.
The Department will reimburse the person responsible for a particular tea up to the amount of $30.
ACM Chapter
The Department has a student chapter of the Association for Computing Machinery (ACM). ACM is the professional society for computer science. Membership in the student chapter is a good way to become involved in the professional society and also to interact with other interested graduate and undergraduate students.
ACM holds regular meetings, and the chapter hosts Trivial Pursuit parties each semester or year in which the faculty, graduate students, and undergraduates compete for bragging rights.
UPE Chapter
The Department is home to the State's first student chapter of Upsilon Pi Epsilon (UPE), the computer science honor society. Graduate students are invited to be members of UPE based on their academic standing.
Graduate Student Association
The University has a Graduate Student Association that meets to discuss and act on issues of relevance to graduate students. The Department elects a member to represent Computer Science. Interested students are encouraged to contact the Graduate Coordinator.
