Craig E. Wills, Professor and Department Head; Ph.D., Purdue, 1988. Distributed systems, networking, user interfaces.
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.
Sonia Chernova, Assistant Professor; Ph.D., Carnegie Mellon University, 2009. Artificial intelligence, autonomous systems, robot learning, human-robot interaction, adjustable autonomy, multirobot systems.
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.
Mohamed Y. Eltabakh, Assistant Professor; Ph.D., Alexandria University, Egypt, 2010. Database management systems, information management.
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.
M. A. Gennert, Associate Professor; Sc.D., Massachusetts Institute of Technology, 1987. Image processing; image understanding; artificial intelligence; robotics.
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, Associate Professor; Ph.D., George Washington, 1999. Human-computer interaction, haptics, virtual environments.
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.
C. L. Sidner, Research Professor; Ph.D., Massachusetts Institute of Technology, 1979. Discourse processing, collaboration, human-robot interaction, intelligent user interfaces, natural language processing, artificial intelligence.
Eduardo Torres-Jaza, Assistant Professor; Ph.D., Massachusetts Institute of Technology, 2007. Biomimetric framework for robotics – developing algorithms related to robots in contact with their environment, microfabrication of dense arrays of sensors (especially tactile), design of compliant actuators, and fabrication of robotic elements (such as arms and legs).
Matthew O. Ward, Professor; Ph.D., Connecticut, 1981. Data and information visualization, spatial data analysis and management.
The current departmental activities include, among other areas, analysis of algorithms, applied logic, artificial intelligence, computer vision, computer graphics, database and information systems, data mining, distributed systems, graph theory and computational complexity, intelligent tutoring systems, network performance evaluation, programming languages, robotics, security, 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.
Programs of Study
Graduate programs in Computer Science provide opportunites 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.
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 as part of the Ph.D. studies) 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.
WPI’s Graduate Certificate Program provides an opportunity for students holding undergraduate degrees to continue their study in an advanced area. A B.S. or B.A. degree is the general requirement.
Certificate programs require a student to complete 4-5 thematically related courses in their area of interest. Each student’s program of study must be approved by the academic advisor. Academic advisors are assigned upon admission to the program but may be changed in accordance with departmental policies.
Details about the certificates available in the Department of Computer Science can be found online.
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 = 2 WPI graduate credit hours
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.
The Regulations section (below) details which courses may be shared between the two degrees.
Students who have entered the BS/MS program, or are considering it, qualify for BS/MS credit for the courses listed below.
Faculty may offer, at their discretion, an additional 1/6 undergraduate unit (equivalent to 1 graduate credit) for completing additional work in the course. To obtain this credit, the student must register for 1/6 undergraduate unit of independent study at the 4000-level, and obtain permission from the instructor and either the graduate committee or the Department Chair.
Students may formally apply for admission to the BS/MS program during or after taking their second 4000-level Computer Science course. Forms are available through the graduate admissions office or via their web site.
The CS department allows only selected 4000-level undergraduate courses to count towards the BS/MS. 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 4401 Software Security Engineering
- 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 505
Some undergraduate and graduate courses cover similar material. Students may receive credit for both when the graduate course covers extensive material beyond the undergraduate course. The table below lists courses with significant overlap. A student can receive credit for at most one of the two courses in any row of this table.
|Undergraduate Course||Graduate Course|
|CS 4341 Introduction to Artificial Intelligence||CS 534 Artificial Intelligence|
|CS 4432 Database Systems II||CS 542 Database Management Systems|
|CS 4513 Distributed Systems||CS 502 Operating Systems|
|CS 4516 Advanced Computer Networks||CS 513 Introduction to Local and Wide-Area Networks|
|CS 4533 Techniques of Programming Language Translation||CS 544 Compiler Construction|
|CS 4536 Programming Languages||CS 536 Programming Language Design|
|CS 4731 Computer Graphics||CS 543 Computer Graphics|
Even when a graduate course in this table satisfies a bin requirement for the MS degree, the undergraduate course covering similar material might not satisfy that bin requirement. Students should consult a member of the appropriate bin committee to ascertain under what conditions, if any, the course can be used to satisfy the bin. A bin committee may agree to count the 4000-level course for a given bin, may require the student to complete the extra 1/6 undergraduate unit for the course to receive bin credit, or may require the student to take a 500-level course to satisfy the bin.
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 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 accredited, degree-granting 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.
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. Courses in college teaching 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.
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. Courses in college teaching 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. These 27 coursework credits must contain at least 15 graduate credits in computer science. Coursework credits taken outside computer science must be approved by the student’s advisor.
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.
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. Other specialized resources include multiple high performance and parallel-computing clusters. WPI’s campus network consists of a 10 Gigabit (on campus) backbone with multiple connections to the global internet. High speed wireless connectivity is available virtually everywhere on campus.
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.