Computer Science
Programs of Study
Graduate programs in Computer Science provide opportunities for advanced coursework and research for highly qualified students. Graduate Certificates, recognizing completion of a cohesive set of advanced courses, are offered in several areas of Computer Science. The Master of Science degree is more comprehensive; with thesis and non-thesis (coursework-only) options, it is the degree of choice for many full-time students and working professionals. The Doctor of Philosophy degree emphasizes deeper study and discovery in preparation for a career in research or education.
Graduate programs may be undertaken on a full-time or part-time basis. For all students, challenging courses and demanding research projects, with high expectations of accomplishment, are the standard.
Admission Requirements
Applicants are expected to demonstrate sufficient background in core Computer Science for graduate-level work. Background in both theoretical and applied Computer Science, with significant programming experience and some college-level mathematics, is required. A bachelor's degree in Computer Science or a closely related field should be adequate preparation. Students from other backgrounds are welcome to apply if they can demonstrate their readiness through other means, such as the Computer Science GRE Subject exam. Work experience will be considered if it covers a broad spectrum of Computer Science at a technical or mathematical level.
A student may apply to the Ph.D. program upon completion of either a bachelor's (in which case the master's degree must first be completed) or master's degree in computer science, or with an equivalent background. Non-matriculated students may enroll in up to two courses prior to applying for admission to a Computer Science Graduate Program.
BS/MS Program
Overview
The university rules for the BS/MS program are described on the Graduate Programs by Degree page.
Students enrolled in the BS/MS program may count certain courses towards both their undergraduate and graduate degrees. The Undergraduate Catalog states that for the BS/MS the conversion equivalence is:
- 1/3 WPI undergraduate unit = 3 WPI graduate credit hours
i.e., one undergraduate course maps to one graduate course.
Note: Courses, whose credit hours total no more than 40% of the credit hours required for the master's degree, and which meet all other requirements for each degree, may be used to satisfy requirements for both degrees. This means that only four courses can be shared between the BS and MS degrees.
The Regulations section (below) details which courses may be shared between the two degrees.
Process
Students should apply for admission to the BS/MS program during or after taking their second 4000-level Computer Science course. In order to receive BS/MS credit for a course, the student must complete a Course Selection Form; the instructor will indicate the conditions the student must satisfy in order to receive BS/MS credit for the course, such as earning a specific grade or doing additional assigned work.
Regulations
The CS department allows only selected 4000-level undergraduate courses to count towards the MS degree. The 4000-level courses that may be counted towards both degrees are:
- CS 4120 Analysis of Algorithms
- CS 4123 Theory of Computation
- CS 4233 Object-Oriented Analysis and Design
- CS 4241 Webware: Computational Technology for Network Information Systems
- CS 4341 Introduction to Artificial Intelligence
- CS 4432 Database Systems II
- CS 4445 Data Mining and Knowledge Discovery in Databases
- CS 4513 Distributed Computing Systems
- CS 4515 Computer Architecture
- CS 4516 Advanced Computer Networks
- CS 4533 Techniques of Programming Language Translation
- CS 4536 Programming Languages
- CS 4731 Computer Graphics
- CS 4732 Computer Animation
- Undergraduate Independent Studies, with permission of instructor and either the Graduate Committee or the Department Chair
- CS graduate courses except CS 501 and CS 505
Certain pairs of undergraduate and graduate courses cover similar material. In most cases, students may not receive credit for both the undergraduate and graduate versions of the same course. Exceptions arise when the graduate course covers extensive material beyond the undergraduate course. The table below summarizes the restrictions on credit for similar courses across the undergraduate and graduate programs.
| Undergraduate Course | Credit Not Also Allowed for Graduate Course | Credit Not Allowed for Undergraduate Course if You Previously Took |
|---|---|---|
| CS 4120 Analysis of Algorithms | ||
| CS 4123 Theory of Computation | ||
| CS 4341 Introduction to Artificial Intelligence | ||
| CS 4432 Database Systems II | ||
| CS 4513 Distributed Computing Systems | ||
| CS 4516 Advanced Computer Networks | ||
| CS 4533 Techniques of Programming Language Translation | ||
| CS 4536 Programming Language | ||
| CS 4731 Computer Graphics |
Undergraduate courses listed in table above are viewed as mapping to the graduate courses listed in the third column. If an undergraduate course maps to a graduate course that satisfies a bin requirement for the MS degree, the undergraduate course satisfies that bin requirement. For example, a BS/MS student can satisfy the systems bin requirement for the MS by taking CS 4513.
Degree Requirements
For the M.S.
These degree requirements are effective for all students matriculating after November 1, 2006. Those students who matriculated prior to this date may choose to use the degree requirements stated in the graduate catalog effective at the time of matriculation. The student may choose between two options to obtain the master's degree: thesis or coursework. Each student should carefully weigh the pros and cons of these alternatives in consultation with his or her advisor prior to selecting an option, typically in the second year of study. The department will allow a student to change options only once.
M.S. Breadth Requirement
All M.S. students must complete the Breadth Requirement. M.S. students are required to achieve a passing grade in courses from four different bins, as listed below. Those four bins must include the three essential bins; the essential bins are Theory, Algorithms, and either Systems or Networks. The other bins are Design, Compilers/Languages, Graphics/Imaging, AI, and Databases.
Courses with a 5000 number (e.g., 5003, 5084) are preparatory courses, designed specifically for students with insufficient background knowledge or skills. Graduate credit can be earned for these courses and M.S. students may use them to satisfy bin requirements. However, students with a solid undergraduate degree in CS are strongly encouraged to take more advanced courses within the bins.
The Bins
The following list shows the M.S. bins and the courses in them. Courses listed in multiple bins may only be used to satisfy the requirements of one bin.
Theory: 5003 (Intro. Theory), 503 (Found.), 521 (Logic), 559 (Adv. Th.)
Algorithms: 5084 (Intro. Algorithms), 504 (Analysis), 584 (Algs)
Systems: 502 (OS), 533 (Perf. Eval.), 535 (Adv. OS)
Networks: 513 (Intro LAN/WAN), 529 (Multi. Net.), 530 (HP Net.), 577 (Adv. Net.)
Design: 509 (SE), 546 (HCI), 562 (Adv. SE)
Compilers/Languages: 536 (Langs.), 544 (Compilers)
Graphics/Imaging: 543 (Graph.), 545 (Im. Proc.), 549 [Vision], 563 (Adv. Gr.)
AI: 534 (AI), 538 (Ex. Sys.), 539 (Learning), 540 (AI Design), 549 [Vision]
Databases: 542 (DB), 561 (Adv. DB)
For each bin, a bin committee is responsible for the administration of requirements related to that bin. These responsibilities include: recommending courses to be added or removed from their bin; determining which independent studies and special topics courses should be included in their bin; and deciding on student petitions concerning their bin. Further regulations regarding the Breadth Requirement are posted in the Graduate Regulations on the CS Department Web site.
Please note that the Breadth Requirement for the Ph.D. is more demanding. Master's students who are planning to pursue a Ph.D. degree should satisfy the Ph.D. version of the breadth requirements.
The department will accept at most 9 credit hours of transfer credit from other graduate programs. If appropriate, this transferred credit may be used to satisfy Breadth Requirement bins. These credits must not have been used to satisfy the requirements of another academic degree earned by the candidate. With rare exceptions, these credits are limited to courses taken before matriculation at WPI.
A student may count a total of at most two courses towards their M.S. degree from the following categories: preparatory CS courses and courses from other departments. For example: 2 preparatory courses; or 2 courses from another department; or 1 preparatory course plus 1 course from another department.
Thesis Option
At least 33 credit hours, including the thesis, must be satisfactorily completed. A thesis consisting of a research or development project worth a minimum of 9 credit hours must be completed and presented to the faculty. A thesis proposal must be approved by the department by the end of the semester in which a student has registered for a third thesis credit. Proposals will be considered only at regularly scheduled department meetings. Students must take four courses satisfying the Breadth Requirement; these courses should be taken as early as possible in the student's program. The remaining courses may, with prior approval of the student's advisor, consist of computer science courses, independent study, or courses elected from other disciplines. At most, two courses in other disciplines will be accepted. IDG 501 may not be counted towards the 33 credits required for a CS Master's degree. Students funded by a teaching assistantship, research assistantship or fellowship must complete the thesis option.
Non-thesis Option
A total of at least 33 credit hours must be satisfactorily completed, including four courses which satisfy the Breadth Requirement. Students should endeavor to take these four courses as early as possible so as to provide the background for the remaining graduate work. The remaining seven courses may, with prior approval of the student's advisor, consist of computer science courses, independent study, or courses elected from other disciplines. IDG 501 may not be counted towards the 33 credits required for a CS Master's degree.
Students funded by a teaching assistantship, research assistantship or fellowship must complete the thesis option.
For the Ph.D.
Students are advised to contact the department for detailed rules, as there are departmental guidelines, in addition to the university's requirements, for the Ph.D. degree.
Upon admission, the student is assigned an academic advisor and together they design a Plan of Study during the first semester of the student's Ph.D. program.
The student must satisfy the Ph.D. Qualifying Requirement, consisting of the Breadth Requirement and the Directed Research Requirement. These requirements are described in the Graduate Regulations on the CS department web site.
Upon successful completion of the Ph.D. qualifying requirement, the student becomes a computer science Ph.D. candidate. The student's Dissertation Committee must be formed within the first year of candidacy. The student selects a research advisor from within the CS department, and together they select, with the approval of the CS Graduate Committee, three additional members, at least one of whom must be from outside the WPI CS department. The Dissertation Committee will be responsible for supervising the comprehensive examination, and approving the dissertation proposal and final report.
The Ph.D. degree requirements consist of a coursework component and a research component, which together must total at least 60 credit hours beyond the master's degree requirement. The coursework component consists of at least 27 graduate credits, including 3 credits of graduate level mathematics.
The student may also enroll for research credits, but is only allowed up to 18 research credits prior to the acceptance of the written dissertation proposal by the Dissertation Committee. With the approval of the Dissertation Committee, the student applies for and takes the Ph.D. comprehensive examination. This examination must be passed prior to the completion of the dissertation defense and is normally taken after some initial dissertation research has been performed. With approval of the Dissertation Committee, the student applies for and takes the dissertation proposal examination, usually within one year of the Ph.D. candidacy.
The Ph.D. research component consists of at least 30 credits (including any research credits earned prior to the acceptance of the dissertation proposal and excluding any research credits applied toward a master's degree) leading to a dissertation and a public defense, which must be approved by the student's Dissertation Committee.
Research Interests
The current departmental activities include, among other areas, analysis of algorithms, artificial intelligence, computer vision, computer graphics, database and information systems, distributed systems, graph theory and computational complexity, network performance evaluation, programming languages, software engineering, user interfaces, virtual reality, visualization, and Web-based systems. Research groups meet weekly and focus on topics related to the above areas. Students are encouraged to participate in the meetings related to their area(s) of interest. Research and development projects and theses are available in these areas. Computer science students may also participate in computer applications research work being conducted in a number of other departments including electrical and computer engineering, mechanical engineering, biomedical and fire protection engineering. Students are also encouraged to undertake projects and theses in cooperation with neighboring computer manufacturers or commercial organizations.
Facilities
WPI boasts excellent computing resources and network connectivity through the university's Computing & Communications Center and the CS Department's own systems. A wide range of machines provides web, mail, file, high-performance computation, and security services. An extensive software library is available free of charge to all campus users. The network backbone has 4 Gigabits of available bandwidth and offers high-speed connection to Internet2 via an OC-3 link to the Abilene network. Limited-access wired and wireless networking is available for research purposes. Other specialized resources include computing clusters, supercomputer access, Access Grid Node, and extremely large displays.
Off-Campus Research Opportunities
Computer science graduate students have opportunities for research and development in cooperation with several neighboring organizations, both for the master's thesis and Ph.D. dissertation. These and other opportunities provide real-world problems and experiences consistent with WPI's policy of extending learning beyond the classroom.
Faculty
M. A. Gennert, Associate Professor and Department Head; Sc.D., Massachusetts Institute of Technology. Image processing; image understanding; artificial intelligence; scientific databases; theoretical computer science.
Emmanuel O. Agu, Associate Professor; Ph.D., Massachusetts, 2001. Computer graphics, wireless networking, and mobile computing.
Joseph E. Beck, Assistant Professor; Ph.D., Massachusetts, 2001. Machine learning, educational data mining, intelligent tutoring systems, human learning and problem solving.
David C. Brown, Professor; Ph.D., Ohio State, 1984. Knowledge-based design systems, artificial intelligence.
Mark L. Claypool, Professor; Ph.D., Minnesota, 1997. Distributed systems, networking, multimedia and online games.
Daniel J. Dougherty, Professor; Ph.D., Maryland, 1982. Logic in computer science.
David Finkel, Professor; Ph.D., Chicago, 1971. Computer system performance evaluation, distributed computing systems, focusing on the performance of computer networks and distributed systems.
Kathi Fisler, Associate Professor; Ph.D., Indiana, 1996. Interplay of human reasoning and formal logic in the context of hardware and software systems; current projects explore access-control policies and diagrams.
Joshua D. Guttman, Professor; Ph.D., Chicago, 1984. Information security, logic and formal methods, mechanized reasoning, programming languages.
Neil T. Heffernan, Associate Professor; Ph.D., Carnegie Mellon, 2001. Intelligent tutoring agents, artificial intelligence, cognitive modeling, machine learning.
George T. Heineman, Associate Professor; Ph.D., Columbia, 1996. Component- based software engineering, formal approaches to compositional design.
Micha Hofri, Professor; Ph.D., Technion (Israel), 1972. Analysis of algorithms, performance evaluation, applied probability, the use of statistics in algorithms, asymptotics.
Robert E. Kinicki, Professor; Ph.D., Duke, 1978. Computer network performance, wireless networks, multimedia streaming.
Karen A. Lemone, Professor Emeritus; Ph.D., Northeastern, 1979. Electronic documents, language translation.
Robert W. Lindeman, Assistant Professor; Ph.D., George Washington, 1999. Human- computer interaction, haptics, virtual environments.
Murali Mani, Assistant Professor; Ph.D., UCLA, 2003. Databases, Web databases, sensor databases.
Charles Rich, Professor; Ph.D., Massachusetts Institute of Technology, 1980. Artificial intelligence and its intersections with human-computer interaction, interactive media and game development, robotics, intelligent tutoring systems, knowledge-based software tools.
Carolina Ruiz, Associate Professor; Ph.D., Maryland, 1996. Data mining, knowledge discovery in databases, machine learning.
Elke A. Rundensteiner, Professor; Ph.D., California, Irvine, 1992. Database and information systems, stream and sensor query processing, and information integration.
Gabor N. Sarkozy, Affiliate Associate Professor; Ph.D., Rutgers, 1994. Graph theory, combinatorics, algorithms.
Stanley Selkow, Professor; Ph.D., Pennsylvania, 1970. Combinatorial algorithms, graph theory, analysis of algorithms.
Matthew O. Ward, Professor; Ph.D., Connecticut, 1981. Data and information visualization, spatial data analysis and management.
Craig E. Wills, Associate Professor; Ph.D., Purdue, 1988. Distributed systems, networking, user interfaces.
Maintained by webmaster@wpi.eduLast modified: July 27, 2009 15:50:32
