2013-14 Catalogs

MS in Computer Science

Graduate Director: Suad Alagic

Professors: Alagic, Welty; Associate Professors: Boothe, Briggs, Congdon, MacLeod

Adjunct Faculty: Bantz, El-Taha, Felch, Heath, Houser, Largay

The Department offers a Master of Science in Computer Science and a Graduate Certificate in Software Systems. Additional material describing the programs, students and faculty can be found at the Department's Web site: http://usm.maine.edu/cos.

The Master of Science in computer science program is designed to provide the student with a thorough knowledge of the concepts, theory, and practice of computer science as well as develop the student's ability to analyze critically solutions to problems and to make sound professional decisions. Students will be prepared for positions of responsibility and expertise. Graduates may assume positions involving such diverse activities as the design, implementation, and testing of software products; the development of new hardware technology; and the analysis, construction, and management of large-scale computer systems. Graduates will possess a good foundation for further study in computer science.

The Graduate Certificate in Software Systems provides courses focused in key contemporary software development technologies. Its chief anticipated audience is local computer professionals wishing to extend their expertise.

Students in the Certificate program may apply to the master's program and courses they have completed for the Certificate may be used in service of the master's degree. Any student who pursues the master's degree having started in the certificate program must meet the published requirements of the master's degree to have it awarded.

Additional Information

For a student with a bachelor's degree in Computer Science, the master's degree offers greater depth in the discipline than what she or he found in undergraduate studies and an opportunity to work on advanced research projects. For students with degrees in other disciplines, including non-scientific disciplines, it offers access to the most dynamic, pervasive technology of our day with its outstanding career options. Many students from other disciplines have transitioned successfully to our Computer Science graduate program, some even continuing to a doctoral degree and an academic career. Anyone with a background in another discipline interested in pursuing a degree in computer science should consult with department members to develop a study plan to that end.

Program Policies

In addition to the general policies described in the Academic Policies section, specific policies of these programs are as follows:

Transfer Credit

A maximum of nine credit hours of transfer credit may be used toward the master's degree. A maximum of three credit hours of transfer credit may be used towards the certificate.

Continuous Enrollment

Every semester a student must either register for a course or for GRS 601 to maintain continuous enrollment. Students who do not maintain continuous enrollment will be dropped from the program and will have to reapply for admission to continue with it. Students who anticipate being unable to take classes may apply in writing for a fixed-term leave of absence. Please see Graduate Students Continuous Enrollment for more information.

Time Limit

All required courses for the master's degree and certificate must be completed within six years prior to graduation. Otherwise, additional coursework must be taken to fulfill program requirements.

All master's candidates must complete a minimum of thirty total credits, which must include at least eighteen credits of graduate-level computer science courses (computer engineering track requirements differ; consult with the department for details), excluding COS 598. Students must also take either a six-credit master's thesis, COS 698, or a three-credit master's project, COS 699, and an additional graduate course in computer science. At most two approved 400-level computer science courses can be used to fulfill the remaining credit requirements. At most two courses from other departments may be used toward the graduate degree (computer engineering track requirements differ; consult with the department for details). The Computer Science faculty must approve these in advance. Courses taken previously to meet other degree requirements cannot be used in service of the graduate degree.

For each of the following two items, if a student does not have the equivalent of one of the listed courses, then she/he must take one of the listed courses and may use it toward fulfillment of the degree requirements.

Computer Systems
     COS 450/550 Operating Systems
     COS 457/558 Database Systems

Mathematical Foundations
     COS 485/582 Design of Computing Algorithms
     COS 480 Theory of Computation (an upper level course in automata theory may be substituted)

The culminating work in the M.S. program must take one of the following two forms:

  • COS 698 Master's Thesis: the student works on research under the supervision of a thesis committee composed of faculty members.
  • COS 699 Master's Project: the student works on an application of computer science. This could be in the form of a piece of software, a report on a problem, design of an application, etc. The project may be the solution of a problem at the student's place of employment. In this case, a representative of the employer may serve as an additional committee member.

The first option requires a committee of at least three members. The second option requires a committee of at least one faculty member. Both options require that a project proposal addressing a topic in the student's chosen track be approved by the committee. They also require a written final summary document describing the results of the project. This document must be approved by the committee and published according to Departmental guidelines. Oral presentation of the completed project is encouraged.

To ensure that the degree candidate's studies are focused and lead to a deeper knowledge in an area, she or he must take four courses from an approved collection addressing one of the areas of emphasis computer systems, artificial intelligence, software development, computer engineering, or an area designed by the student. For details of the collections associated with the area of emphasis and the process of obtaining approval of a student designed area, see Departmental guidelines.

Each student applying for full admission into the Master of Science program must meet the following requirements (conditional admission status may be granted to students who do not fully meet these requirements):

  • A baccalaureate degree from an accredited institution with a grade point average of at least 3.0 on a 4.0 scale (B average).
  • The following USM courses or their equivalent with an average grade of 3.0.
    • If pursuing the software development or computer systems track:
      COS 280 Discrete Mathematics II
      COS 285 Data Structures
      COS 350 Systems Programming
      COS 360 Programming Languages
      Note: Students with little or no computing background may need to take some or all of the following courses that are prerequisites to the courses listed above: MAT 145, COS 160/COS 170, COS 161, COS 250/COS 255
    • If pursuing the computer engineering track:
      MAT 152D Calculus A
      MAT 153 Calculus B

      COS 250 Computer Organization and
      COS 255 Computer Organization Laboratory
      or
      ELE 172 Digital Logic and
      ELE 271 Introduction to Microprocessors

      COS 280 Discrete Mathematics II
      COS 350 Systems Programming
      ELE 314 Linear Signals and Systems
      ELE 342 Electronics I

      Note: Students with little or no computing or electrical engineering background may need to take some or all of the following courses that are prerequisites to the courses listed above: MAT 145, COS 160/COS 170, COS 161, COS285, ELE211, ELE 262.
  • Official scores for the Graduate Record Examination (GRE). A student applying to the master's program having completed the certificate program does not need to submit scores for the GRE.

Admission to the master's program is competitive and based on an evaluation of the application materials by the Computer Science Graduate Admissions Committee. Students whose first language is not English are required to submit TOEFL or IELTS scores. Applicants whose TOEFL scores are less than 550 on the paper-based TOEFL, 79 on the Internet-based TOEFL, or 213 on the computer-based TOEFL, or an IELTS score of less than 6.5 must demonstrate the language skills requisite for graduate study before they can be admitted.

Applicants meeting the entrance requirements for a master's in computer science will be granted regular admission status. Applicants not meeting the entrance requirements of the program may be granted conditional admission status for an initial period during which time the student must compensate for any specific academic deficiency. The Computer Science Graduate faculty will designate specific undergraduate computer science and mathematics courses to remedy admissions deficiencies. These courses will carry no credit toward the master's degree and must be successfully completed and must precede the completion of twelve hours of graduate credit. Upon successful completion of the designated preparatory coursework the student may be granted regular admission status.

Application Materials

In addition to the materials described in the Admissions section, applicants for these programs must submit three letters of recommendation attesting to the candidate's academic and/or professional accomplishments. Please see Graduate Admissions - Application Instructions and Deadlines by Program for more information on the application process.

Application Deadline

Although we consider applications for admission year round, students seeking financial assistance should submit their applications no later than February 1 for fall semester admission and October 1 for spring semester admission. To be considered for all scholarship opportunities, students are encouraged to apply in early January and September.

Additional Information

For a student with a bachelor's degree in Computer Science, the master's degree offers greater depth in the discipline than what she or he found in undergraduate studies and an opportunity to work on advanced research projects. For students with degrees in other disciplines, including non-scientific disciplines, it offers access to the most dynamic, pervasive technology of our day with its outstanding career options. Many students from other disciplines have transitioned successfully to our Computer Science graduate program, some even continuing to a doctoral degree and an academic career. Anyone with a background in another discipline interested in pursuing a degree in computer science should consult with department members to develop a study plan to that end.