Computer Science — Master of Science Program
The MS program is intended as preparation for professional careers in research and commercial applications, although it also provides the background for further graduate work leading to the PhD degree. The program stresses the integration of theoretical knowledge with practical applications. The central course in the curriculum is a two-semester sequence in software engineering.
Degree Requirements
Candidates must complete a minimum of 30 credits, at least 24 of which must be in courses numbered 600 or above. CS 680, followed by CS 681 and its co-requisite lab (CS 682) and then by CS 683 (another lab course), constitute a required Advanced Software Development sequence that carries a total of 12 credits. Students must take this sequence during the final semesters of their course work. Students are also required to choose two theoretical electives and four applied electives from among the following:
1) Theoretical Electives:
|
CS 420 |
(Introduction to Theoretical Computer Science) |
|
CS 620 |
(Theory of Computation) |
|
CS 622 |
(Theory of Formal Languages) |
|
CS 624 |
(Analysis of Algorithms) |
|
CS 720 |
(Logical Foundations of Computer Science) |
|
CS 724 |
(Topics in Algorithm Theory and Design) |
|
or |
|
|
MATH 470 |
(Mathematical Logic) |
2) Applied Electives:
|
CS 615 |
(User Interface Design) |
|
CS 630 |
(Database Management Systems) |
|
CS 634 |
(Architecture of Database Systems) |
|
CS 637 |
(Database-backed Web Sites) |
|
CS 639 |
(XML and Semi-structured Data on the Web) |
|
CS 641 |
(Computer Architecture) |
|
CS 644 |
(Operating Systems) |
|
CS 646 |
(Computer Communications Networks) |
|
CS 647 |
(Multimedia Networking) |
|
CS 651 |
(Compilers) |
|
CS 662 |
(Document Preparation and Text Processing Systems) |
|
CS 670 |
(Artificial Intelligence) |
|
CS 672 |
(Neural Networks) |
|
CS 674 |
(Natural Language Processing) |
|
CS 734 |
(Database System Internals) |
|
CS 741 |
(High Performance Computer Architectures) |
|
CS 750 |
(Implementation of Very High Level Programming Languages) |
|
CS 752 |
(Parallel Programming) or the following undergraduate courses: |
|
CS 444 |
(Operating Systems) |
|
CS 445 |
(Real-time Systems) |
|
CS 460 |
(Graphics) |
|
CS 470 |
(Artificial Intelligence) |
: No more than two upper-level (400-level) undergraduate courses may be used for graduate credit in the MS program.
Capstone Requirement
To complete the MS program, students must participate in a software engineering project by taking the required software development labs, CS 681 and CS 683. In general, these labs are completed during the last two semesters in the MS program. The project is approved by a committee that consists of two faculty members (professors who are currently teaching the software engineering course and supervise the software engineering laboratory) and the graduate program director. Students must submit the documentation for the projects and give a final oral presentation. The final project documentation will contain a signatory page containing the signatures of all members of the committee; a copy of the project will be retained by the department.
In exceptional circumstances, students with significant industrial experience may request a waiver of the software engineering requirement by applying to a faculty committee established for this purpose.
As a part of the waiver application, the student must present a portfolio demonstrating the nature of this experience. Students who receive a waiver will be required to complete a master’s thesis.
Minimum Requirements for Graduate Credit
The minimum grade for graduate credit is C. No more than two grades below B- may count for credit. Students may register for three credits for CS 699 (Research for MS Thesis) in order to write an MS thesis with the approval of the director of the program. This option is open for students whose grade point average is at least 3.5.
Students must maintain a grade point average (GPA) of at least 3.0 during their studies. The computation of the GPA takes into account all graduate courses and all upper-level undergraduate courses that may count toward the program requirements.
Admission Requirements
Please see the general statement of admission requirements for all graduate studies programs in the “Admissions” section of this publication.
Entrance requirements include a good working knowledge of computer science and mathematics. Each applicant’s background will be assessed individually with respect to these skills, and specific requirements for making up deficiencies in preparation will be determined at an initial interview. The program requires the GRE test and, for students educated in non-English-speaking countries, the TOEFL test.
The MS program is designed to accommodate students with a wide range of backgrounds. In particular, the undergraduate degree need not be in computer science. Students may make up deficiencies by taking specific undergraduate courses. A typical set of such recommended courses includes
|
CS 110 and |
(a sequence of introductory |
|
CS 210 |
programming courses) |
|
CS 240 |
(Programming in C and Assembler Language) |
|
CS 310 |
(Advanced Data Structures and Algorithms) |
|
CS 320 |
(Applied Discrete Mathematics) |
Other undergraduate courses may be necessary, depending on the background and experience of the candidate. These courses are described in the Computer Science Information booklet available from the program office.
Graduate students who take courses at UMass Boston to satisfy undergraduate prerequisite course requirements must earn a B or better in each such course.