Apr 08, 2020  
Rensselaer Catalog 2007-2008 
Rensselaer Catalog 2007-2008 [Archived Catalog]

Computer Science

Return to {$returnto_text} Return to: Schools & Departments

Head: Jeffrey C. Trinkle

Executive Officer: Robert P. Ingalls

Computer Science Home Page: http://www.cs.rpi.edu/

Computer science is the study of the design, analysis, communication, implementation, and application of computational processes. The core subjects of this discipline include software systems (such as operating systems and networks) and programming languages (including design and other language translation tools). They also include computer hardware systems, the design and analysis of data structures and algorithms, and the theoretical basis of computation, in particular the complexity of computation. In addition to these core subjects, various application areas are open to students, including artificial intelligence, computer graphics, databases, scientific and numeric computation, computer vision, data mining, robotics, and computational learning.

At Rensselaer, education in computer science prepares students for solving applied, real-world problems and for conducting research in computer science. The program provides students with a solid grounding in both theory and practice. The undergraduate program also provides a rigorous background in mathematics and science.

Rensselaer’s Computer Science Department has its own well-equipped laboratories for instruction and research.  The general use lab in Amos Eaton consists of 20 PCs running Unix.  There is also an instructional lab with 32 thin clients as well as a cluster with over 50 PCs and Sun computers.  Our Cisco Academy program has a lab with over 200 Cisco networking devices, enabling students to experiment with networking in an environment similar to real world conditions.

Complementing the extensive computer research labs throughout the campus, the department has a number of labs with various specialized computer architectures to support the department’s research.  Computationally intensive applications benefit from our numerous computing clusters, including a cluster of 41 IBM x220 servers, 4 Sun-Blade-1000 computers, a Silicon Graphics Origin 2000 with 12 CPUs, a 16-processor IBM pSeries 655, 4 Itanium quad-processor machines and an Opetron cluster with 100 CPUs.  Data intensive research efforts can make use of high speed interconnects utilizing technologies such as Myrinet, Infiniband, or 10Gb Ethernet, as well as file servers with more than 30 terabytes of storage.  Combined with numerous specialized equipment for computer vision, robotics as well as tetherless computing research, the Computer Science Department at Rensselaer offers an ideal environment for students to participate in a variety of research activities.

Students in the department will find 100Mb or faster Ethernet connections in their offices, offering IP and IPv6 connectivity to the Internet and Internet-2.  Additionally, our network of over 50 office workstations, numerous printers, file servers, mail servers and web servers is available to support any computing needs of students and faculty.


Research Innovations and Initiatives


Bioinformatics is the science of managing, retrieving, analyzing, and interpreting biological data. Research is being carried out on topics such as multiple sequence alignment, sequence assembly, protein and RNA structure prediction, and regulatory networks. Research also spans emerging areas like microarray data analysis, high dimensional indexing, database support, information integration, and data mining.

Computational Geometry

Current research in computational geometry concentrates on algorithms for the reconstruction of smooth geometric objects from their samples. Problems of interest include characterizing the conditions on sampling density, which allow a curve to be reconstructed from its samples. The reconstruction is homeomorphic and sufficiently close to the original and the algorithms developed to achieve the reconstruction. Also involved are the dependence of such algorithms on the dimension of the embedding space, related algorithms for the reconstruction of surfaces and manifolds, and finding the most concise representation of a manifold in terms of its samples. A second research track focuses on applications of computational geometry, particularly in robotic motion planning.

Computational Science and Engineering

Students and faculty work on computational approaches and algorithms to solve large-scale problems that arise in natural science and engineering. Current research includes adaptive methods for solving partial differential equations, scientific software libraries, algorithms for medical imaging and tomography, high-performance matrix algorithms, computational biology, and algorithms for high-performance, parallel, and distributed computation.

Computer Vision
Computer vision and biomedical image analysis research in the Department of Computer Science covers a wide range of topics. Developing algorithms for registration and change detection, especially in the diagnosis and treatment of diseases of the human retina, is the largest current project; a related project studies the theory and application of robust estimation techniques in computer vision. A second research area focuses on the tracking and segmentation of objects, both in two- and three-dimensional images, using model-based algorithms. The techniques developed are general and may be used in a variety of computer vision tasks; the applications pursued at Rensselaer are mainly focused on biomedical problems, such image-guided radiation therapy. A third track involves the development of stochastic models for the interpretation of video data, for example traffic video.

Concepts in Software Engineering
Research in this area focuses on new ways to design and implement computational methods so that they can adapt easily to different problems, providing solutions that are as efficient as programs written especially for each problem. Research interests span many diverse issues: behavioral concept specifications, language design, compiler optimizations, efficient memory handling, and constructing and using libraries of multipurpose, high-performance software components. Results include the C++ Standard Template Library, which is based on joint research with colleagues in industry; new generic sorting and searching algorithms; and a new memory manager for C++ programs.

Data Mining; Machine and Computational Learning; Algorithms for Massive Data Sets

This research area deals with the theoretical and applied aspects of automated information extraction (knowledge discovery) from data. For large data sets, emphasis is placed on developing efficient, scalable, and parallel algorithms for various data mining techniques in addition to the data management itself. Examples include association rules, classification, clustering, and sequence mining. For small data sets, the emphasis is on robust computational learning systems (supervised, unsupervised, and reinforcement) and their theoretical properties. Application areas include combinatorial optimization, computational biology (bioinformatics, computational genomics), web mining, geographic information systems, and computational finance.

Database Systems
This research area deals with the efficient and effective methods for storing, querying, analyzing, mining, and maintaining data from possibly disparate and heterogeneous resources. Data is used in many different applications from scientific data sets, sensor data, images, video and audio to hypertext documents, biological data, and data on stock market behavior. Research focuses on methods for caching data, querying large and distributed databases, database mining and supporting applications such as computer-aided design and manufacturing, bioinformatics, and collaborative engineering.

Pervasive and Network Computing
Pervasive computing foresees a world in the not-distant future in which computer systems are embedded in everything: from personal digital assistants to implanted biological devices, to bridge-monitoring systems, and to teams of robots sent into a collapsed building to locate survivors. Untethered—wireless— communication is constant and, in many cases, so automated that human intervention is unneeded. Wireless, broadband community systems inexpensively bring people together for virtual town meetings, video doctor-patient conferences, and on-line business transactions. Computers in automobiles share information on congestion, quickly computing alternate routes. The promises are immense, but the challenges are formidable.

CS faculty cover the broad area of pervasive networking and computing. This research includes investigation of computer networks and their protocols, security of computers and networks and distributed and parallel system optimization and simulations.

The primary goal of he field of robotics is to create machines that are physically capable, either alone or in groups, of performing useful tasks, such as the assembly of a car or the picking and washing of fruit. In order to build such robots, robotics research focuses on robot mobility, environmental sensing and perception, the mechanics of manipulation, motion planning and control, and both physical and social aspects of human-robot interaction. the robotics research group studies these problems from theoretical and computational perspectives, and also experimentally in the CS Robotics Lab that is equipped with state-of-the-art equipment.

Theory of computation provides the foundation needed for effective applications in computer science. The theory group brings together researchers in many different areas to develop novel approaches and solutions to problems in information technology. The theory group research is characterized by close collaboration with researchers in diverse application areas, such as networking; bioinformatics; visualization; pattern recognition, physics and astronomy; digital library; data mining; distributed computing; and experimental algorithmics.


Web Science
The World Wide Web has changed the ways people communicate, collaborate, and educate. A growing field of computer science is aimed at understanding the current, evolving, and potential state of the Web. This new field of computer science focuses on modeling the Web at various scales of behavior, on creating new Web languages and infrastructures and bringing new materials to the Web, and on developing technologies that help preserve the Web’s social values of trustworthiness, privacy, and respect for social boundaries.

Undergraduate Programs

The undergraduate degree program in computer science provides an excellent background for students entering the work force directly upon graduation and for those pursuing graduate studies. Students majoring in computer science may study such topics as artificial intelligence, computer graphics, theory of computation, operating systems, robotics, data mining, databases, network programming, parallel computing, and scientific numerical computing. A graduating computer science major should:

  • be an expert software developer, with knowledge of several programming paradigms
  • have a solid understanding of the mathematical/theoretical underpinnings of computer science
  • be able to express himself/herself well both orally and in writing
  • understand current computing technologies and be prepared to quickly adapt to new technological developments.

Dual Major Programs

Computer science students can obtain a dual major with any other major offered on the Rensselaer campus. In many cases, students can obtain a dual major within the 128 credits of a single degree, since many courses can be counted twice. Among the popular majors often combined with computer science are philosophy, mathematics, physics, management, Electronic Media, Arts, and Communication, and engineering (the latter requires additional credits hours).

Accelerated Program

Students may be admitted to the graduate program in Computer Science when they are within 18 credits of completing their B.S. Students may be able to complete the B.S. and M.S. in a shorter than usual time by using advanced placement credit, taking courses during the summer, or taking extra courses during the academic year. A variety of joint degree programs can be arranged, depending on the student’s background, interests, and desired rate of progress. Any joint degree program requires that the student apply to and be accepted to the graduate program.

Special Undergraduate Opportunities

The Computer Science Department strongly encourages students to take part in the following special programs.

Cooperative Education
Numerous opportunities exist for computer science majors, and students are urged to pursue at least one co-op experience during their academic career. More detailed information on this program is available in the School of Science introduction section and the Educational Programs and Resources section of this catalog.

Undergraduate Research Program
This program allows students to participate in faculty research activities. The department urges students to take advantage of these opportunities, through which students can earn either pay or course credit.

Additional benefits may include being named co-authors on journal papers or the opportunity to make presentations at professional conferences. Additional information is available in the School of Science introduction section and the Educational Programs and Resources section of this catalog.

Cisco Networking Academy
The Cisco Networking Academy provides extensive hands-on learning in networking. A lab of over 70 routers and switches simulates the backbone of the Internet and is always available for student use. The Academy prepares students for the following certifications: Cisco Certified Network Associate (CCNA), Cisco Certified Network Professional (CCNP), and Cisco Certified Internetwork Expert (CCIE).

Graduate Programs

The Department of Computer Science offers M.S. and Ph.D. degrees in computer science. The department also offers a computer science M.S. and Ph.D. with a specialization in computational science, and a Ph.D. with specialization in computational molecular biology.

Applications for the M.S. or Ph.D. in computer science should be sent to the Graduate Admissions Office to be received no later than January 15 for fall admission; August 15 for spring admission. Applicants must provide transcripts, two letters of recommendation, a statement of goals, and GRE scores. Each student’s background is expected to include courses in discrete mathematics, calculus, data structures, computer organization, and computing languages, none of which can be counted toward the graduate degree. Admission is extremely competitive, and meeting the minimum requirements does not assure admission.

Course Descriptions

Courses directly related to all Computer Science curricula are described in the Course Description section of this catalog under the department code CSCI.



Goldberg, M.K.—Ph.D (Institute of Mathematics, Novosibirsk, Russia); experimental design and analysis of algorithms; combinatorial optimization; combinatorics and graph theory.

Hardwick, M.—Ph.D. (Bristol University, U.K.); database systems for engineering and manufacturing applications.

Hendler, J.—Ph.D. (Brown Univeristy); artificial intelligence, semantic web, agent based computing, high performance processing.

Luk, F.T.—Ph.D. (Stanford University); numerical linear algebra; grid computing; signal and image processing.

McGuiness, D.L.—Ph.D (Rutgers University); knowledge representation and reasoning, explanation, proof, trust, ontologies, semantic web.

Spooner, D.—Ph.D. (Pennsylvania State University); database systems, database security, computer science and information technology education.

Stewart, C.—Ph.D. (University of Wisconsin); computer vision; medical applications.

Szymanski, B.K.—Ph.D. (National Academy of Sciences, Warsaw, Poland); computer and sensor networks; distributed and parallel computing; distributed simulation; computational biology.

Trinkle, J.C.—Ph.D. (University of Pennsylvania); robotics, manufacturing automation, game physics engines, multibody dynamics, computational topology, human-machine interaction.

Zhao, W.—Ph.D. (University of Massachusetts); distributed computing, real-time systems, computer networks, and cyberspace security.

Associate Professors

Adali, S.—Ph.D. (University of Maryland); multimedia database systems, information integration, query optimization.

Carothers, C.—Ph.D. (Georgia Institute of Technology); parallel and distributed systems; simulation; networking and real-time systems.

Freedman, D.—Ph.D. (Harvard University); computer vision, image processing, computational geometry, computational topology.

Krishnamoorthy, M.S.—Ph.D. (Indian Institute of Technology); programming environments; design and analysis of combinatorial algorithms; performance issues in internet; analysis of web documents; network visualization.

Magdon-Ismail, M.—Ph.D. (California Institute of Technology); theory, algorithms and applications of computational learning systems; computational finance; bioinformatics; social and communication network analysis.

Varela, C.A.—Ph.D. (University of Illinois at Urbana-Champaign); grid computing; middleware; concurrent and distributed systems; programming languages; coordination models; databases and the web.

Yener, B.—Ph.D. (Columbia University); computer networks; biological networks, bioinformatics, intelligence; combinatorial optimization.

Zaki, M.—Ph.D. (University of Rochester); data mining and knowledge discovery; bioinformatics; generic programming; high performance computing.

Research Associate Professor

Newberg, L.—Ph.D. (University of California, Berkeley); algorithmic, statistical, and mathematical combinatorics approaches to computational molecular biology; currently using cross-species DNA multiple alignments for phylogeny and the detection of conserved regions.

Assistant Professors

Anshelevich, E.—Ph.D. (Cornell University); theory and algorithms, especially for large decentralized networks. Strategic agents in networks and algorithmic game theory; approximation algorithms.

Cutler, B.—Ph.D. (Massachusetts Institute of Technology); computer graphics, geometry processing alogithms; and design tools for architecture.

Drineas, P.—Ph.D. (Yale University); design and analysis of algorithms, in particular randomized and approximation algorithms; linear algebra algorithms and their applications in data mining.

Isler, I.V.—Ph.D.; (University of Pennsylvania); robotics and automation. Geometric algorithms sensor network and computer vision.

Milanova, A.—Ph.D. (Rutgers University) software engineering, programming languages, compilers, program analysis, software testing, verification, reliable software systems.

Clinical Assistant Professor

Hollinger, D.L.—M.S. (Rensselaer Polytechnic Institute); machine learning; AI applications for the WWW; genetic algorithms.

Ingalls, R.—Ph.D. (University of Connecticut); operating systems; network programming; computer science education.

Kotfila, D. A.—M.Div. (Yale University) Advanced routing and switching protocols; network security.

Professor Emeritus

Flaherty, J.E.—Ph.D. (Polytechnic University of Brooklyn); scientific computation; adaptive and parallel solution techniques; numerical analysis.

Glinert, E.—Ph.D (University of Washington); assistive technology; universal access; humancomputer interaction; multimedia information visualization.

McNaughton, R.—Ph.D. (Harvard University); automata theory, formal languages, combinatorics of words.

Musser, D.—Ph.D. (University of Wisconsin); programming methodology; generic software libraries; formal methods of specification and verification.

Rogers, E. H.—Ph.D. (Carnegie Mellon University); collaborative computing; group operating systems; modeling paradigm; software engineering.

Joint Appointments with Mathematical Sciences—Professors

Bennett, K.—Ph.D. (University of Wisconsin-Madison); mathematical programming, optimization, machine learning data mining, support vector machines, and application of data mining to bioinformatics, cheminformatics, finance, science and engineering.

Isaacson, D.—Ph.D. (New York University); mathematical computational problems arising in the diagnosis and treatment of heart disease and breast cancer in medical imaging and physics.

McLaughlin, H.W., II—Ph.D. (University of Maryland); Applied geometry; computational geometry; complex systems.

Joint Appointments with Electrical, Computer, and Systems Engineering—Professors

Gerhardt, L.A.—Ph.D. (State University of New York at Buffalo); digital voice and image processing; communication systems; integrated inspection; sensing technologies; personnel verification and identification using biometrics.

Wozny, M.J.—Ph.D. (University of Arizona); computer graphics; computer-aided geometric design; information systems in engineering design and manufacturing.

Joint Appointment with Electrical, Computer, and Systems Engineering—Associate Professors

Franklin, W.R.—Ph.D. (Harvard University); computational cartography; computational geometry; computer graphics; geographic information science; computer security.

Kalyanaraman, S.—Ph.D. (Ohio State University); ATM and Internet traffic management, multimedia networking, IP telephony, performance analysis, Internet pricing.

Joint Appointment with Mechanical, Aerospace, and Nuclear Engineering—Professor

Shephard, M.—(Cornell University); scientific computation, mesh generation, adaptive and parallel finite element methods.

Joint Appointment with Mechanical, Aerospace, and Nuclear Engineering—Associate Professor

Jansen, K.E.—Ph.D. (Stanford University); large scale, parallel scientific computing with emphasis on fluid dynamics. Topics include cardiovascular system modeling, turbulence modeling, level set methods, finite element formulations, error estimation, design of software frameworks, and parallel computing.

Joint Appointment with Cognitive Science—Professor

Bringsjord, S.—Ph.D. (Brown University); artificial intelligence, specifically including: logical, mathematical and philosophical foundations of AI; AI and creativity; reasoning-based systems for homeland defense/intelligence analysis; automated reasoning; automatic story generation and narrative control; intelligent tutoring systems (for teaching logic and logic-based programming).

Joint Appointment with Biology—Associate Professor

Bystroff, C. —Ph.D. (University of California, San Diego); genomics protein structural predicition.

* Departmental faculty listings are accurate as of the date generated for inclusion in this catalog. For the most up-to-date listing of faculty positions, including end-of-year promotions, please refer to the Faculty Roster section of this catalog, which is current as of the May 2007 Board of Trustees meeting.

Return to {$returnto_text} Return to: Schools & Departments