May 11, 2021  
2018-2019 Graduate Catalog 
2018-2019 Graduate Catalog [ARCHIVED CATALOG]

Computer Science

Department of Computer Science
2184 Engineering Hall
Fax:  785-532-7353

Department Head:

Scott DeLoach

Director of graduate studies:

Mitchell Neilsen

Graduate faculty:

*George Amariucai, Ph.D., Louisiana State University
*Torben Amtoft, Ph.D., University of Aarhus
*Daniel Andresen, Ph.D., U. of California, Santa Barbara
Myron Calhoun, (Emeritus) Ph.D., Arizona State University
*Cornelia Caragea, Ph.D., Iowa State University
*Doina Caragea, Ph.D., Iowa State University
*Patrice Chalin, Ph.D., Concordia University
*Scott A. DeLoach, Ph.D., Air Force Institute of Technology
*David Gustafson, Emeritus, Ph.D., University of Wisconsin-Madison
*William Hankley, (Emeritus) Ph.D., Ohio State University
*John Hatcliff, Ph.D., Kansas State University
*Rodney Howell, Ph.D., University of Texas-Austin
*William Hsu, Ph.D., University of Illinois at Urbana-Champaign
*Masaaki Mizuno, Ph.D., Iowa State University
*Arslan Munir, Ph.D., University of Florida
*Mitchell Neilsen, Ph.D., Kansas State University
*Xinming (Simon) Ou, Ph.D., Priceton University
*Pavithra Prabhakar, Ph.D., University of Illinois
*Vekatesh-Prasad Ranganath, Ph.D., Kansas State University
*Robby, Ph.D., Kansas State University
*David Schmidt, Emeritus, Ph.D., Kansas State University
*Elizabeth Unger, (Emeritus) Ph.D., University of Kansas
Maarten Van Swaay, (Emeritus) Ph.D., Princeton
*Eugene Vasserman, Ph.D., University of Minnesota
*Virgil Wallentine, Emeritus, Ph.D., Iowa State University
*Joshua Weese, Ph.D., Kansas State University
*Maria Zamfir-Bleyberg, (Emeritus) Ph.D., University of California-Los Angeles

*Denotes graduate faculty that are certified to serve as the major professor for doctoral students.

As of Spring 2014, the department consists of 16 graduate faculty members, 43 M.S students, 8 M.S.E. students, and 36 PhD students.

Current faculty research projects are funded by the National Science Foundation, Office of Naval Research, U.S. Air Force, Lockheed Martin Corporation, Rockwell Collins, U.S. Department of Agriculture, U.S. Department of Energy, and DARPA.


The department is committed to excellence in scholarly activities and research; interdepartmental and interuniversity collaborative projects are particularly emphasized. Key research areas include programming languages, high assurance software, distributed and embedded systems, cybersecurity, computation science, bioinformatics, databases, software engineering, agent-oriented software systems, and robotics.

Research groups

Programming languages research in the department concentrates upon techniques and tools for designing, analyzing, and implementing programming languages. Specific topics include abstract interpretation, algebraic semantics, compiler synthesis from denotational semantics definitions, full abstraction, lambda definability, type theory, probabilistic semantics, concurrency theory, and model checking. 

High assurance software research in the department focuses on developing techniques for designing and implementing software that are able to establish with high levels of assurance that the resulting systems satisfy their requirements and are free from unanticipated faults. Automated tool frameworks for software modeling, software architecture, and component integration techniques for large scale systems of systems are being developed. 

Research in distributed and embedded systems is focusing on developing theory and tools for sensor network, parallel and grid computing, and distributed, cooperative robotics. Specific topics include tools to automate the design, analysis and deployment of sensor systems, tools for solving computational intensive scientific problems via parallel computing, and to effectively utilize the available computation, storage and network resources in a cluster of machines, and frameworks to control large numbers of heterogeneous, semi-autonomous robots in dynamic, uncertain environments in order to cooperatively perform a task.

Computational Science and Informatics research in the department involves the application of artificial intelligence heuristics, algorithms, data structures, and database concepts and processes to specific domains. For example, in bioinformatics – the study of how biological data is stored, retrieved, and analyzed to solve a specific biological research problem, computer scientists use data mining techniques and algorithms to find patterns in biological data that enable scientists to derive structure and relate structure to the function of a specific gene. Research is being performed by several interdisciplinary teams of domain specialists and informatics exports from Computer Science.

Cybersecurity research in the department is addressing fundamental issues in integrity, confidentiality and availability of data/systems resources, and practical issues in network and system security defense. Methodologies are being developed to provide high assurance through development of tractable static analyses that cope with real-world information policies, complementing and leveraging the explicit access controls on which current systems rely. Active research programs are going on in enterprise-network security management and defense, including attack graph-based security analysis, intrusion detection, and security metrics.

The department’s software engineering research encompasses measures, specification, testing and analysis of sequential and concurrent software systems. Software measures research applies measurement theory to the development of practical software measures and specification methodologies. Software specification research uses formal approaches for describing the intended behavior of complex systems. Testing and analysis research involves development and evaluation of approaches for validation and verification of software. Research that spans these areas is ongoing and ranges from theoretical developments, through construction of toolsets that enable application of research results, to empirical evaluation of software engineering techniques. 

The robotics laboratory supports research into software engineering approaches to building robust autonomous robotics software, including multi-agent solutions. Teams from the lab have placed first, second, and third in the annual AAAI Robotics competitions. 

The agent-oriented software engineering research group is developing widely recognized foundations and engineering tools that support construction of systems organized as collections of independent and autonomous “agents”, and is demonstrating the effectiveness of these techniques in domains of robotics and sensor networks. 

Database research in the department focuses on basic theoretical and practical issues in mainstream database systems, as well as on issues lying at the border of databases and knowledge and data engineering (KDE). Topics include database and knowledge base design, database security and integrity, static and dynamic integrity constraints, extensible database management systems, temporal and active databases, data warehousing, online analytical processing (OLAP), data cleansing, data mining, knowledge discovery in databases (KDD), and information visualization. 

The department’s artificial intelligence (AI) research focuses on knowledge representation for reasoning and planning under uncertainty, machine learning for knowledge discovery and data mining, intelligent information retrieval, web and clickstream mining, expert systems, and intelligent control systems, also known as real-time intelligent systems. Methodologies range over inductive, analytical, and multistrategy learning and include research programs in artificial neural networks, genetic and evolutionary computation, and probabilistic learning and inference. Application areas include decision support; human-computer intelligent interaction (HCII); industrial, commercial and defense automation; autonomous robotics; and multi-agent systems.

Research facilities

The department maintains a large network of servers and workstations connected to Internet and Internet2. The servers include Sun servers running Solaris, Windows based PC servers, and a Beowulf cluster system consisting of 35 nodes totalling 210 processors running Linux. The department also has an 80 processor NCR Teradata database server with 1.6 terabytes of online storage. The workstations include systems running Solaris and PCs running Windows and Linux. Many software packages are available including CASE tools, embedded system and robotics system development environments, and database systems. 

Additional campus-wide computer facilities are provided by the university’s Computing and Network Services organization and the college of Engineering, including Sun servers and PC based workstations throughout campus.


The primary admission requirement for the M.S.E. program is a baccalaureate degree in computer science, computer engineering, or a related engineering or science area, with a grade point average of 3.0 or above (junior/senior years). Applicants with degrees in other areas must have mathematical maturity as demonstrated by courses in logic or discrete mathematics, plus courses in programming, data structures, and algorithms, and either a course or experience in software engineering.

In addition to the requirements for admission to the M.S.E. program, an M.S. applicant’s background must include mainstream computing science, namely object-oriented and nonprocedural programming languages, architecture, operating systems, database systems, and computing-related mathematics. An applicant must take the GRE receiving minimum scores of 400 Verbal, 650 Quantitative, and 600 Analytical. The advanced exam in computer science is recommended. International students must take the TOEFL exam and receive a minimum score of 575 (paper based), or 233 (computer based). International students who want to be considered for a graduate teaching assistant (GTA) position must take the TSE exam and receive a minimum score of 50.

In addition to the requirements for admission to the M.S. program, an applicant for the Ph.D. program must have a master’s degree in computing science or a bachelor’s degree plus strong, advanced computing knowledge. Solid preparation in theoretical computer science and advanced knowledge in one or more applications areas (compiling, operating systems, database systems, etc.) are also required.


Doctor of Philosophy

Master of Science

Master of Software Engineering

Dual Degree


Computing and Information Sciences