May 20, 2024  
2022-2023 Graduate Catalog 
    
2022-2023 Graduate Catalog [ARCHIVED CATALOG]

Computer Science


Scott DeLoach, Head
Mitchell Neilsen, Director of graduate studies


2184 Engineering Hall
785-532-6350
Fax:  785-532-7353
cisoffic@ksu.edu
http://www.cis.ksu.edu/
 

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.

Objectives

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.

Admission

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.

Programs

Accelerated

Doctor of Philosophy

Master of Science

Courses

Computing and Information Sciences

  • CIS 806 - Semantics of Programming Languages

    Credits: 3

    Introduction of formal semantics description methods for programming languages; comparison of operational, denotational, algebraic, and axiomatic methods; analysis of relationship of formal semantics definitions to computer implementation.

    Requisites:
    Prerequisite: CIS 771.


    KSIS Course Search


  • CIS 810 - Logic Programming

    Credits: 3

    Selected topics; constraint logic programming, deductive databases, concurrent logic programming, object-oriented logic programming, mathematical theory of logic programming specification and transformation of logic programs.

    Requisites:
    Prerequisite: Knowledge of Prolog.


    KSIS Course Search


  • CIS 820 - Topics in Theory of Asynchronous Systems

    Credits: 3

    Safety and liveness properties, synchronous and asynchronous message passing systems, virtual circuit and datagram communication, process failure, concepts of composition and superimposition, temporal logic, reachability analysis, theory of concurrency control, atomic commitment, replica control.

    Requisites:
    Prerequisite: CIS 720.


    KSIS Course Search


  • CIS 825 - Topics in Distributed Systems

    Credits: 3

    Models of distributed computation, events and global states, failure semantics, communication abstractions, synchronization in distributed programs; distributed algorithms: election, termination and deadlock detection, broadcast programming and algorithms.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 720; or CIS 725 and permission of the instructor.


    KSIS Course Search


  • CIS 826 - Protocol Engineering

    Credits: 3

    Basic concepts of protocol design, specification languages and formal description techniques, safety and liveness properties, protocol validation, protocol synthesis, protocol translation and conformance testing.

    Requisites:
    Prerequisite: CIS 725.


    KSIS Course Search


  • CIS 830 - Current Topics in Artificial Intelligence

    Credits: 3

    Advanced techniques and new ideas in artificial intelligence. Includes applications and case studies of artificial intelligence in action.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 730.


    KSIS Course Search


  • CIS 831 - Deep Learning

    Credits: 3

    Foundations of deep learning, with focus on different types of modern neural network architectures (such as convolutional neural networks, recurrent neural networks, and transformers). Regularization and optimization in the context of deep learning. Frameworks and tools for building and training deep neural networks. 

    Repeat for Credit
    N

    Requisites:
    Prerequisite: CIS 732 or IMSE 730

    Typically Offered
    Fall


    KSIS Course Search


  • CIS 832 - Knowledge Representation for the Semantic Web

    Credits: 3

    Knowledge representation languages for data sharing and integration, in particular the W3C Semantic Web standards RDF, OWL and SPARQL; state of the art knowledge graph and knowledge graph schema modeling process; ontology design patterns; modular ontology engineering.

    Repeat for Credit
    N

    Requisites:
    Prerequisite: CIS 300

    Typically Offered
    Fall, Spring


    KSIS Course Search


  • CIS 833 - Information Retrieval and Text Mining

    Credits: 3

    Theory and practice of search engines for retrieving textual information; basic and advanced topics, with emphasis on newer technologies that go beyond simple keyword search; the use of MapReduce framework to process large collections of documents.

    Repeat for Credit
    N

    Requisites:
    Prerequisite: CIS 732 and instructor permission.

    Typically Offered
    Fall


    KSIS Course Search


  • CIS 834 - Machine Learning for Bioinformatics

    Credits: 3

    The course will cover some of the most important machine learning algorithms (including semi-supervised and transfer learning algorithms) and their applications to bioinformatics.

    Repeat for Credit
    N

    Requisites:
    Prerequisite: Either CIS 732 or CIS 734, and instructor permission.

    Typically Offered
    Spring-Odd Years


    KSIS Course Search


  • CIS 835 - Neuro-Symbolic Artificial Intelligence: Deep Learning and Knowledge Representation

    Credits: 3

    State of the art in combining deep learning with symbolic artificial intelligence approaches based on the newest research publications on the topic.

    Repeat for Credit
    N

    Requisites:
    Prerequisite: Instructor permission

    Typically Offered
    Spring


    KSIS Course Search


  • CIS 836 - Knowledge Graphs

    Credits: 3

    State of the art in knowledge graph based data management and applications; based on the newest research publications on the topic.

    Repeat for Credit
    N

    Requisites:
    Prerequisite: Instructor permission

    Typically Offered
    Spring


    KSIS Course Search


  • CIS 841 - Verification and Validation

    Credits: 3

    Practical techniques for verifying and validating software including formal verification, software testing, reliability measurement and modeling.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 771 and either or CIS 740 or CIS 744.


    KSIS Course Search


  • CIS 842 - Specification and Verification of Reactive Systems

    Credits: 3

    Review of formal specification languages; architecture of concurrent and reactive systems; specification methods including: Z, Petri nets, temporal logic, state transition models; development and evaluation of system specifications; verification structures including layered systems, serialization, and predicate automata.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 771.


    KSIS Course Search


  • CIS 844 - Agent-Oriented Software Engineering

    Credits: 3

    Analysis, design, and implementation of large, complex, distributed, and adaptive software systems using agent-oriented paradigm. Will survey various modeling languages and agent-oriented methodologies.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 730, CIS 740.

    Typically Offered
    Spring


    KSIS Course Search


  • CIS 855 - High Assurance Systems

    Credits: 3

    Techniques for developing high assurance (safety critical, security critical, or mission-critical in nature) systems. Topics include writing requirements for safety-critical systems, formal architecture definition, risk management techniques including various forms of hazard analysis, safety systems, and verification and validation.

    Repeat for Credit
    N

    Requisites:
    Prerequisites: (CIS 771) Software Specification AND Java programming skills.

    Typically Offered
    Spring


    KSIS Course Search


  • CIS 860 - Advanced Database Systems

    Credits: 3

    Advanced topics in database and intelligent information systems. Possible topics include active, temporal, object-oriented, and multimedia databases, warehousing and data mining.

    Requisites:
    Prerequisite: CIS 761 or CIS 764.


    KSIS Course Search


  • CIS 861 - Data Science in Practice

    Credits: 3

    Application of data science paradigms, tools, and protocols to solve real-world problems within science and industry.

    Repeat for Credit
    N

    Requisites:
    Instructor consent

    Typically Offered
    Spring


    KSIS Course Search


  • CIS 864 - Data Engineering

    Credits: 3

    Advanced topics in database design and maintenance including performance monitoring, query optimization and tuning in centralized and distributed data systems.

    Requisites:
    Prerequisite: CIS 761 or CIS 764.


    KSIS Course Search


  • CIS 870 - Theory of Computability

    Credits: 3

    Formal models for computability; universal programs; Church’s thesis; unsolvable problems and reducibilities; partial recursive functions; recursive and recursively enumerable sets; s-m-n theorem and the recursion theorem.

    Requisites:
    Prerequisite: CIS 770.


    KSIS Course Search


  • CIS 890 - Special Topics in Computer Science

    Credits: 2-4

    Topics of the current state-of-the-art of computer science.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: Prerequisite varies with the announced topic.


    KSIS Course Search


  • CIS 895 - MSE Project

    Credits: 0-6

    This course takes the student through the process of developing a project. This process typically takes more than one semester to complete. Includes reviews and walkthroughs of the requirements, design, and implementation.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 740 or CIS 744, CIS 748, CIS 771, and three additional credits toward the MSE degree.


    KSIS Course Search


  • CIS 897 - Seminar in Computer Science

    Credits: 1

    Introduction to computing as a discipline; the relationship of computing to other disciplines; the interaction of computing and ethics; the development of a written and oral research proposal.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: full graduate standing in CIS (CR/NCR only).

    Typically Offered
    Fall, Spring, Summer


    KSIS Course Search


  • CIS 898 - Master’s Report in CIS

    Credits: 1-3

    Repeat for Credit
    Y

    Typically Offered
    Fall, Spring, Summer


    KSIS Course Search


  • CIS 899 - Research in Computer Science

    Credits: 1-6

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: CIS 897.


    KSIS Course Search


  • CIS 901 - Topics in Translator Design

    Credits: 3

    Topics involving incremental, extensible, conversational compilers; program development systems, portability and validation of compilers; compiler generators.

    Requisites:
    Prerequisite: CIS 801.


    KSIS Course Search


  • CIS 905 - Theory of Programming Languages

    Credits: 3

    Formal definition languages; operational and formal semantic models; equivalence of semantic models; formal properties of programming languages.

    Requisites:
    Prerequisite: CIS 806.


    KSIS Course Search


  • CIS 920 - Research Topics in Distributed Systems

    Credits: 3

    Topics on current state-of-the-art research in distributed systems.

    Requisites:
    Prerequisite: Permission of the instructor.


    KSIS Course Search


  • CIS 926 - Computation Structures

    Credits: 3

    Petri nets, flowgraph schemata, dataflow models, relationships between abstract computational models and hardware models and programming languages.

    Requisites:
    Prerequisite: CIS 771.


    KSIS Course Search


  • CIS 930 - Expert Systems

    Credits: 3

    Advanced theory and techniques in the development of expert systems. Focuses on knowledge acquisition and knowledge organization used in expert systems. Includes design, implementation, and evaluation of an expert system.

    Requisites:
    Prerequisite: CIS 830.


    KSIS Course Search


  • CIS 940 - Research Topics in Software Engineering

    Credits: 3

    Research on one of the topics in CIS 840.

    Requisites:
    Prerequisite: CIS 840.


    KSIS Course Search


  • CIS 960 - Theory of Data Base Systems

    Credits: 3

    Advanced topics in data base systems including distributed data bases, integrity, security, normalization, data base machines, performance models, query languages.

    Requisites:
    Prerequisite: CIS 840.


    KSIS Course Search


  • CIS 990 - Research Topics

    Credits: 2-3

    Study of current topics in computer science.

    Repeat for Credit
    Y

    Requisites:
    Prerequisite: Permission of the instructor.


    KSIS Course Search


  • CIS 999 - Research in Computer Science

    Credits: 1-18

    Repeat for Credit
    Y


    KSIS Course Search


Page: 1 | 2