Computer Science

The computer science department offers comprehensive M.S. and Ph.D. degree programs that focus on computer network security, software engineering, web databases, wireless systems, intelligent systems, data mining, parallel and distributed processing pervasive computing, computer networks, scientific visualization, and algorithms. These research activities support the department’s two major areas of excellence: software engineering and critical infrastructure protection.

The computer science department at Missouri S&T makes use of both its own computer learning center (CLC) as well as university CLCs. The CLC contains a mix of Linux and Windows computing platform. Class sizes are kept small to facilitate student and faculty interactions. Research laboratories provide support for both undergraduate and graduate students. These laboratories include:

  • Advanced Networking and Cyber-Physical Systems Laboratory
  • Applied Computational Intelligence Laboratory
  • CReWMaN Laboratory
  • Critical Infrastructure Protection Laboratory
  • Cybersecurity Laboratory
  • Data Mining Laboratory
  • Pervasive and Mobile Computing Laboratory
  • Web and Wireless Computing (W2C) Laboratory & Net-Centric Center

Wired and wireless computer access is available to all students, faculty, and staff.

Financial Assistance

Financial assistance is available to graduate students in the form of research assistantships, teaching assistantships, fellowships, grading work, and other part-time employment opportunities. Applications for computer science assistantships can be found on the department’s web page or by contacting the department directly (see below). In addition, research opportunities for advanced students exist in the department and in research labs on campus.

Additional Information

Additional information about department emphasis areas, requirements, faculty, labs, and research opportunities can be found at http://cs.mst.edu or email csgradcoord@mst.edu or phone at 573-341-6642. More information about distance education can be obtained from http://dce.mst.edu.

Admissions Requirements

In addition to those requirements stated in the section of this catalog devoted to Admission and Program Procedures, the computer science department has additional requirements for each of its degree areas.

M.S. in Computer Science
(thesis or non-thesis)

A minimum GRE verbal score of 370/144 and for those whom English is not their native language, a TOEFL score of 570/230/89. Minimum GRE Quantitative Score >= 700/155. Written score >= 4.0.

An undergraduate GPA of 3.0/4.0 or better over the last 2 years or successful completion of 12 graduate hours in computer science as a “conditional” graduate student at Missouri S&T, with at least a 3.0 GPA, as per graduate requirements.

Applicants are expected to have strong mathematical skills, competency in a modern programming language, and knowledge of the following computer science core subjects:

  • Algorithms and Data Structures
  • Computer Organization/Architecture
  • Database and File Structures
  • Discrete Mathematics
  • Operating Systems

M.S. in Computer Science

Application is made to the Missouri S&T admissions office along with the required transcripts, statement of purpose and GRE verbal, quantitative, and analytical test scores.

The M.S. in computer science (thesis and non-thesis) is a 31 credit hour program. M.S. students are required to take and pass the graduate seminar course COMP SCI 6010.

Ph.D. in Computer Science

Application is made to the Missouri S&T admissions office along with the required transcripts and letters of recommendation. Applicants who do not have a graduate degree will normally request admission to the M.S. program first but, outstanding applications will be admitted directly into the Ph.D. program. Applicants must submit a letter outlining tentative research interests and career goals along with GRE verbal, quantitative, and analytical test scores.

Requirements for the Ph.D. in computer science include: Qualifier examination, comprehensive examination, dissertation and defense. The qualifier examination consists of two parts: (i) pass five selected CS graduate level lecture courses and meet the GPA requirements; (ii) conduct a literature study and pass both a written exam and an oral exam. The dissertation should report the results of original research that meets the standards of current disciplinary journal-quality research publications. In addition, Ph.D. students are required to take and pass the graduate seminar course COMP SCI 6010 for three semesters in their Ph.D. studies.

The Ph.D. program is under the guidance of an advisory committee which is appointed no later than the semester following passage of the qualifying exam.

Graduate Certificates via Distance Education

Graduate certificate programs give students the opportunity to increase their knowledge in specific areas of interest. These courses provide students with the latest knowledge and skills in strategic areas of computing and are presented by Missouri S&T faculty members who are experts in their fields. Most of the courses will be offered through distance education over the internet. Distance education courses use streaming internet video for course delivery. In this setting, students actively participate in classes through viewing the class on their computer while being interactively connected with the class by telephone. Lectures are archived so they may be reviewed at any time during the semester. Instructors are available outside of class time by e-mail and telephone. Where there is sufficient interest, some courses may be taught by traditional instruction methods at Missouri S&T and at off site locations such as Ft. Leonard Wood, St. Louis, and Springfield, MO.

Big Data Management & Analytics

Program Description:

As the size and availability of datasets increase, so too do the challenges in efficiently and effectively sharing, analyzing, and visualizing information. Proficiency in big data analytics requires knowledge in interdisciplinary areas including computer science, business information technology, mathematics and statistics, and electrical and computer engineering. Missouri S&T faculty have the expertise to provide a unique specialized graduate certificate program to teach practicing computing professionals and graduate students the skills that are necessary for the use and development of big data management, big data analytics, data mining, cloud computing, and business intelligence.

Admission Requirements:

The graduate certificate program is open to all individuals holding a BS degree in computer science, engineering, or a scientific discipline, and who have a minimum of two years of professional experience, or are currently accepted into a graduate degree program at Missouri S&T. The only additional requirement for students entering a graduate certificate program is that they satisfy the prerequisites for any course they take in the program.

The certificate program consists of four courses: two are core courses and two are elective courses. In order to receive a Graduate Certificate, the student must have an average graduate cumulative grade point average of 3.0 or better in the certificate courses taken.

Students admitted to the certificate program will have non-degree graduate status, but will earn graduate credit for the courses they complete. If the four course sequence approved by the graduate advisor is completed with a grade of B or better in each of the courses taken, the student will upon application be admitted to the M.S. program in Computer Science as long as they have a B.S. in Computer Science, Electrical Engineering, or Computer Engineering, and as long as they meet the minimum undergraduate GPA requirements and core computer science course requirements. All Computer Science certificate courses and up to one non-Computer Science certificate course taken by the students admitted to the program will count towards their computer science M.S. degree. Once admitted to the program, a student will be given three years to complete the program as long as a B average is maintained in the courses taken.

Curriculum:

The big data management and security certificate program consists of four courses. Students will be responsible for prerequisite knowledge as determined by course instructors and listed in the Graduate Catalog. With the approval of the department, appropriate courses may be substituted for a certificate course if that course is not available.

The following courses are required:
COMP SCI 5402Introduction to Data Mining3
COMP SCI 6304Cloud Computing and Big Data Management3
Select one of the following courses:
IS&T 5420Business Analytics and Data Science3
COMP ENG 6330Clustering Algorithms3
or ELEC ENG 6830 Clustering Algorithms
or SYS ENG 6214 Clustering Algorithms
or COMP SCI 6405 Clustering Algorithms
or STAT 6239 Clustering Algorithms
ERP 5410Use of Business Intelligence3
COMP SCI 6301Web Data Management and XML3
COMP SCI 6302Heterogeneous and Mobile Databases3
Select one of the following courses:
COMP SCI 5300Database Systems3
IS&T 6444Essentials of Data Warehouses3
COMP SCI 6402Advanced Topics in Data Mining3
STAT 5814Applied Time Series Analysis3

*There is an overlap between the course offerings for this graduate certificate and other graduate certificates. No course can be used to satisfy the requirements for more than one certificate.

Big Data Management & Security

Program Description:

Significant data growth leads to challenges in efficiently and securely sharing, accessing, and analyzing big data. Proficiency in big data management and security requires knowledge in interdisciplinary areas including computer science, business information technology, mathematics and statistics, and electrical and computer engineering. Missouri S&T faculty have the expertise to provide a unique specialized graduate certificate program to teach practicing computing professionals and graduate students the skills that are necessary for the use and development of big data securely and efficiently.

Admission Requirements:

The graduate certificate program is open to all individuals holding a BS degree in computer science, engineering, or a scientific discipline, and who have a minimum of two years of professional experience, or are currently accepted into a graduate degree program at Missouri S&T. The only additional requirements for students entering a graduate certificate program is that they satisfy the prerequisites for any course they take in the program.

The certificate program consists of four courses chosen from three areas. In order to receive a Graduate Certificate, the student must have an average graduate cumulative grade point average of 3.0 or better in the certificate courses taken.

Students admitted to the certificate program will have non-degree graduate status, but will earn graduate credit for the courses they complete. If the four course sequence approved by the graduate advisor is completed with a grade of B or better in each of the courses taken, the student will upon application be  admitted to the M.S. program in Computer Science as long as they have a B.S. in Computer Science, Electrical Engineering, or Computer Engineering, and as long as they meet the minimum undergraduate GPA requirements and core computer science course requirements. All Computer Science certificate courses and up to one non-Computer Science certificate course taken by the students admitted to the program will count towards their computer science M.S. degree. Once admitted to the program, a student will be given three years to complete the program as long as a B average is maintained in the courses taken.

Curriculum:

The big data management and security certificate program consists of four courses. Students will be responsible for prerequisite knowledge as determined by course instructors and listed in the Graduate Catalog. With the approval of the department, appropriate courses may be substituted for a certificate course if that course is not available.

Choose one of the following:
COMP SCI 6304Cloud Computing and Big Data Management3
IS&T 5420Business Analytics and Data Science3
Choose one of the following:
COMP SCI 5402Introduction to Data Mining3
COMP SCI 6301Web Data Management and XML3
COMP SCI 6302Heterogeneous and Mobile Databases3
COMP ENG 6330Clustering Algorithms3
or ELEC ENG 6830 Clustering Algorithms
or SYS ENG 6214 Clustering Algorithms
or COMP SCI 6405 Clustering Algorithms
or STAT 6239 Clustering Algorithms
STAT 5814Applied Time Series Analysis3
Choose two of the following:
COMP SCI 6601Privacy Preserving Data Integration and Analysis3
COMP SCI 6600Formal Methods in Computer Security3
COMP SCI 6605Advanced Network Security3

*There is an overlap between the course offerings for this graduate certificate and other graduate certificates. No course can be used to satisfy the requirements for more than one certificate.

Computational Intelligence Certificate

Recent advances in information technology and the increased level of interconnectivity that society has achieved through Internet and broadband communication technology created systems that are very much different. The world is facing an increasing level of systems integration leading towards systems of systems (SoS) that adapt to changing environmental conditions. The number of connections between components, the diversity of the components and the way the components are organized can lead to different emergent system behavior. Computational Intelligence tools are an integral part of these systems in enabling adaptive capability in their design and operation.

This graduate certificate program provides practicing engineers the opportunity to develop the necessary skills in the use and development of computational intelligence algorithms based on evolutionary computation, neural networks, fuzzy logic, and complex systems theory. Engineers can also learn how to integrate common sense reasoning with computational intelligence elective courses such as data mining and knowledge discovery.

Admission

The graduate certificate program is open to all individuals holding a BS degree in an engineering or hard scientific discipline who have a minimum of two years of professional experience or are currently accepted into a graduate degree program at Missouri S&T.

The certificate program consists of four courses, two core courses and two elective courses. In order to receive a Graduate Certificate, the student must have an average graduate cumulative grade point average of 3.0 or better in the certificate courses taken.

Students admitted to the certificate program will have non-degree graduate status but will earn graduate credit for the courses they complete. The core courses will be offered alternatively by the responsible departments, but students will need to specify one of the three graduate programs at the time of application as each program has different admission requirements. These departments are Engineering Management and Systems Engineering, Computer and Electrical Engineering, and Computer Science. If the four course sequence approved by the graduate advisor is completed with a grade of B or better in each of the courses taken, the student will be admitted to the MS program they applied. The certificate courses taken by students admitted to the program will count toward the MS.

Once admitted to the program, a student will be given three years to complete the program as long as a B average is maintained in the courses taken.

Core Courses
Computational Intelligence
Select one of the following:
Introduction to Neural Networks and Applications
Introduction To Artificial Intelligence
Evolutionary Computing
Select two of the following not taken as a core course:
Introduction to Neural Networks and Applications
Neural Networks Control and Applications
Introduction To Artificial Intelligence
Evolutionary Computing
Advanced Topics In Artificial Intelligence
Advanced Evolutionary Computing
Deep Learning
Clustering Algorithms
Adaptive Dynamic Programming
Advanced Topics in Data Mining
Markov Decision Processes

Cyber Security

Protecting information systems is key to protecting the nation's critical infrastructures. Only through diligence and a well-trained workforce will be able to adequately defend the nation's vital information resources. Cyber Security has one of the largest demands for an educated workforce within the federal, state, and industry domains.

Admission:

The only entrance requirement for students entering a graduate certificate program is they they hold a bachelor's degree and satisfy the prerequisites for any course they take in the program. Once admitted to the program, the student must take the designated courses. In order to receive a graduate certificate, the student must have an average graduate grade point average of 3.0 or better in the certificate courses taken. Students admitted to the certificate program will have non-degree graduate status; however, if they complete the four-course sequence with a grade of B or better in each of the courses taken, they will be eligible to be admitted to the MS program in computer science if they apply and if they meet all other prerequisites for the degree. The certificate courses taken by students admitted to the MS program will count towards their master's degrees. Students who do not have all of the prerequisite courses necessary to take the courses in the certificate program will be allowed to take "bridge" courses at either the graduate or undergraduate level to prepare for the formal certificate courses. Once admitted to the program, a student will be given three years to complete the program so long as he/she maintains a B average in the courses taken.

Required courses:
COMP SCI 5601Security Operations & Program Management3
COMP SCI 5602Introduction to Cryptography3
Two courses from the following list:
COMP SCI 6600Formal Methods in Computer Security3
COMP SCI 6601Privacy Preserving Data Integration and Analysis3
COMP SCI 6304Cloud Computing and Big Data Management3
COMP SCI 6605Advanced Network Security3

Information Assurance and Security Officer Essentials

Protecting information systems is key to protecting the nation’s critical infrastructures. Only through diligence and a well-trained workforce will we be able to adequately defend the nation’s vital information resources. Missouri S&T’s certificate is Certified by the National Security Agency (NSA) Committee on National Security Systems (CNSS) for National Standards 4011 (National Training Standard for Information Systems Security (INFOSEC) Professionals) and 4014E (Information Assurance Training Standard for Information Systems Security Officers (ISSO)).

Information Systems and Cloud Computing Certificate

The information systems and cloud computing certificate is tailored to the working professional who wants to expand their knowledge of advanced data management technologies. Data mining and knowledge discovery, heterogeneous and mobile databases and cloud computing form the core of the study.

Software Design and Development Certificate

The software design and development certificate provides an attractive option for the working professional to expand their experience in software engineering. The core of four classes gives a treatment of software project management in its many roles, from overall project management and process improvement to the management of individual life-cycle components, including software deployment and evolution. Specialized coursework gives depth in advanced object-oriented design, requirements, software quality, testing theory and practice, and an advanced treatment of software metrics.

Systems and Software Architecture Certificate

The systems and software architect fills a critical role in today’s development process, transforming market inputs into the requirements and architecture specification of a product that independent (often remote) development teams can implement. Requests from industrial partners have led to a focused graduate certificate training program.

Wireless Networks and Mobile Systems Certificate

The Wireless Networks and Mobile Systems Certificate is designed to provide students an intensive treatment in wireless systems and applications. Program coverage includes network architecture and protocols, computer communication and networking basics, principles of network security, and techniques for preventing, detecting and recovering from attacks, as well as advanced topics that address the specific issues and challenges in the wireless and mobile environment, including wireless network provisioning and deployment, location and mobility management, security and privacy, attacks and countermeasures, mobile computing applications, and data management in networked sensor systems.

Choose four courses from the following:
COMP SCI 3610Introduction to Computer Networks3
COMP SCI 6600Formal Methods in Computer Security3
COMP SCI 6604Mobile, IoT and Sensor Computing3
COMP SCI 6605Advanced Network Security3
COMP SCI 6302Heterogeneous and Mobile Databases3
COMP SCI 6303Pervasive Computing3

COMP SCI 5000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 5001 Special Topics (LEC 0.0-6.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 5040 Oral Examination (IND 0.0)

After completion of all other program requirements, oral examinations for on-campus M.S./Ph.D. students may be processed during intersession. Off-campus M.S. students must be enrolled in oral examination and must have paid an oral examination fee at the time of the defense/comprehensive examination (oral/ written). All other students must enroll for credit commensurate with uses made of facilities and/or faculties. In no case shall this be for less than three (3) semester hours for resident students.


COMP SCI 5099 Research (IND 0.0-16)

Investigations of an advanced nature leading to the preparation of a thesis or dissertation. Consent of instructor required.


COMP SCI 5100 Agile Software Development (LEC 3.0)

Understand principles of agile software development and contrast them with prescriptive processes. Specifically: Eliciting, organizing, and prioritizing requirements; Design processes; Understand how a particular process promotes quality; Estimate costs and measure project progress and productivity. Prerequisite: A "C" or better grade in Comp Sci 3100.


COMP SCI 5101 Software Testing And Quality Assurance (LEC 3.0)

It covers unit testing, subsystem testing, system testing, object-oriented testing, testing specification, test case management, software quality factors and criteria, software quality requirement analysis and specification, software process improvement, and software total quality management. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5102 Object-Oriented Analysis And Design (LEC 3.0)

This course will explore principles, mechanisms, and methodologies in object-oriented analysis and design. An object-oriented programming language will be used as the vehicle for the exploration. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5200 Analysis Of Algorithms (LEC 3.0)

The purpose of this course is to teach the techniques needed to analyze algorithms. The focus of the presentation is on the practical application of these techniques to such as sorting, backtracking, and graph algorithms. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5201 Object-Oriented Numerical Modeling I (LEC 3.0)

A study of object-oriented modeling of the scientific domain. Techniques and methodologies will be developed enabling the student to build a class library of reusable software appropriate for scientific application. Applications will be drawn from mechanics, finance, and engineering. Prerequisites: A grade of "C" or better in both Comp Sci 3200 and Comp Sci 1575; a grade of "C" or better in one of Math 3108, 3103, 3329.


COMP SCI 5202 Object-Oriented Numerical Modeling II (LEC 3.0)

A continued study of object-oriented modeling of the scientific domain. Advanced applications include models posed as balance laws, integral equations, and stochastic simulations. Prerequisite: A "C" or better grade in Comp Sci 5201.


COMP SCI 5203 Mathematical Logic I (LEC 3.0)

A mathematical introduction to logic with some applications. Functional and relational languages, satisfaction, soundness and completeness theorems, compactness theorems. Examples from Mathematics, Philosophy, Computer Science, and/or Computer Engineering. Prerequisite: Philos 3254 or Math 5105 or Comp Sci 2500 or Comp Eng 2210. (Co-listed with Math 5154, Philos 4354 and Comp Eng 5803.).


COMP SCI 5204 Regression Analysis (LEC 3.0)

Simple linear regression, multiple regression, regression diagnostics, multicollinearity, measures of influence and leverage, model selection techniques, polynomial models, regression with autocorrelated errors, introduction to non-linear regression. Prerequisites: Math 2222 and one of Stat 3111, 3113, 3115, 3117, or 5643. (Co-listed with Stat 5346).


COMP SCI 5205 Real-Time Systems (LEC 3.0)

Introduction to real-time (R-T) systems and R-T kernels, also known as R-T operating systems, with an emphasis on scheduling algorithms. The course also includes specification, analysis, design and validation techniques for R-T systems. Course includes a team project to design an appropriate R-T operating system. Prerequisites: COMP ENG 3150 or COMP SCI 3800. Co-listed with Comp Eng 5170.


COMP SCI 5300 Database Systems (LEC 3.0)

This course introduces the advanced database concepts of normalization and functional dependencies, transaction models, concurrency and locking, timestamping, serializability, recovery techniques, and query planning and optimization. Students will participate in programming projects. Prerequisite: A "C" or better grade in both Comp Sci 1200 and Comp Sci 2300.


COMP SCI 5400 Introduction To Artificial Intelligence (LEC 3.0)

A modern introduction to AI, covering important topics of current interest such as search algorithms, heuristics, game trees, knowledge representation, reasoning, computational intelligence, and machine learning. Students will implement course concepts covering selected AI topics. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5401 Evolutionary Computing (LEC 3.0)

Introduces evolutionary algorithms, a class of stochastic, population-based algorithms inspired by natural evolution theory (e.g., genetic algorithms), capable of solving complex problems for which other techniques fail. Students will implement course concepts, tackling science, engineering and/or business problems. Prerequisite: A "C" or better grade in both Comp Sci 2500 and in a Statistics course.


COMP SCI 5402 Introduction to Data Mining (LEC 3.0)

The key objectives of this course are two-fold: (1) to teach the fundamental concepts of data mining and (2) to provide extensive hands-on experience in applying the concepts to real-world applications. The core topics to be covered in this course include classification, clustering, association analysis, data preprocessing, and outlier/novelty detection. Prerequisites: A grade of "C" or better in all of Comp Sci 2300, Comp Sci 2500, and one of Stat 3113, Stat 3115, Stat 3117 or Stat 5643.


COMP SCI 5403 Introduction to Robotics (LEC 3.0)

This course provides an introduction to robotics, covering robot hardware, fundamental kinematics, trajectories, differential motion, robotic decision making, and an overview of current topics in robotics. Prerequisite: A grade of "C" or better in both Math 3108 and Comp Sci 1575. (Co-listed with Comp Eng 5880 and Elec Eng 5880).


COMP SCI 5404 Introduction to Computer Vision (LEC 3.0)

This course introduces foundational theories and analysis methods in computer vision. Topics will include camera model and geometry, description of visual features, shape analysis, stereo reconstruction, motion and video processing, and visual object recognition. Prerequisite: A "C" or better grade in both Math 3108 and Comp Sci 2500.


COMP SCI 5405 Java Gui & Visualization (LEC 3.0)

Fundamentals of Java Swing Foundation Classes, Java System Language Specifics, Graphical User Interfaces, Images, Audio, Animation, Networking, and Threading. Visualization of Algorithms. GUI Elements include Event Driven Programming, Interaction with Mouse and KeyBoard, Window Managers, Frames, Panels, Dialog Boxes, Borders. Prerequisite: A "C" or better grade in Comp Sci 2500 or equivalent.


COMP SCI 5406 Interactive Computer Graphics (LEC 3.0)

Applications and functional capabilities of current computer graphics systems. Interactive graphics programming including windowing, clipping, segmentation, mathematical modeling, two and three dimensional transformations, data structures, perspective views, antialiasing and software design. Prerequisite: A "C" or better grade in both Comp Sci 3200 and Comp Sci 2500.


COMP SCI 5407 Introduction to Virtual Reality (LEC 3.0)

Fundamentals: creative and digital skills. Houdini interface (Scene View, Network, Parameter panes), design facets (networks of nodes, navigation of networks interactive 3D modeling and visualization, digital assets, animation, lights, cameras, rendering), and simple applications of particles, dynamics, and fluids (Shattering, Destruction, Smoke, Fire). Prerequisites: A grade of "C" or better in both Comp Sci 2500 and Math 3108.


COMP SCI 5408 Game Theory for Computing (LEC 3.0)

This course introduces the mathematical and computational foundations of game theory, and its applications to computer science (e.g., cybersecurity, robotics and networking). Topics include decision rationality, game representations, equilibrium concepts (e.g., Nash equilibrium), Bayesian games, dynamic games, cooperative game theory, and mechanism design. Prerequisites: A grade of "C" or better in both Comp Sci 2500 and Math 3108, and in one of Stat 3113, Stat 3115, Stat 3117, or Stat 5643. (Co-listed with Comp Eng 5320).


COMP SCI 5409 Applied Social Network Analysis (LEC 3.0)

In this course students will learn how to use networks to model and analyze relationships between people, artifacts, and ideas. Analyses will include identification of both communities and key individuals, and the modeling of diffusion processes such as the transmission of diseases. Methods will be practiced in programming assignments using Python. Prerequisites: A grade of "C" or better in Comp Sci 2500.


COMP SCI 5420 Introduction to Machine Learning (LEC 3.0)

This course introduces foundational theories and techniques in machine learning. Topics will include basics of machine learning, learning theory, various regression and classification models, as well as unsupervised learning methods. Students will implement course concepts in intensive programming assignments and mini-projects. Prerequisite: A grade of "C" or better in Comp Sci 2500, Math 3108, and one of Stat 3113, Stat 3115, Stat 3117, or Stat 5643.


COMP SCI 5500 The Structure of a Compiler (LEC 3.0)

Review of Backus normal form language descriptors and basic parsing concepts. Polish and matrix notation as intermediate forms, and target code representation. Introduction to the basic building blocks of a compiler: syntax scanning, expression translation, symbol table manipulation, code generation, local optimization, and storage allocation. Prerequisite: A "C" or better grade in both Comp Sci 3500 and Comp Sci 2500.


COMP SCI 5600 Advanced Computer Networks (LEC 3.0)

This course focuses on the principles of computer networking. It covers the TCP/IP model from the application layer to the physical layer. It is targeted toward entry-level graduate students. It also exposes students to wireless and mobile networks. It involves network performance modeling and analysis, and implementing communication protocols. Prerequisites: A grade of "C" or better in Comp Sci 3610.


COMP SCI 5601 Security Operations & Program Management (LEC 3.0)

An overview of information security operations, access control, risk management, systems and application life cycle management, physical security, business continuity planning, telecommunications security, disaster recovery, software piracy, investigations, ethics and more. There will be extensive reporting, planning and policy writing. Prerequisite: A "C" or better grade in all of: operating systems, computer networking, and a writing emphasized course.


COMP SCI 5602 Introduction to Cryptography (LEC 3.0)

Introduces fundamentals of modern cryptography. Topics include basic number theory, public & private key encryption schemes, cryptographic hash functions, message authentication codes, elliptic curve cryptography, Diffie-Hellman key agreements, digital signatures, PUFs, quantum cryptography, and generation of prime numbers and pseudo-random sequences. Prerequisites: A grade of "C" or better in COMP SCI 5200 or a grade of "B" or better in COMP SCI 2500.


COMP SCI 5700 Bioinformatics (LEC 3.0)

The course will familiarize students with the application of computational methods to biology, as viewed from both perspectives. It will introduce problems in molecular, structural, morphological, and biodiversity informatics, and will discuss principles, algorithms, and software to address them. Prerequisites: A grade of "C" or better in both one of Bio Sci 1113 or Bio Sci 1213 and one of Comp Sci 1570 and Comp Sci 1580 or Comp Sci 1971 and Comp Sci 1981. (Co-listed with Bio Sci 5323).


COMP SCI 5701 Experiential Entrepreneurship for Computer Scientists (LEC 3.0)

Students will work in teams mentored by experienced entrepreneurs to generate innovative ideas and transform them into business models for economically viable knowledge tech companies. Experiential learning will be used in live customer discovery, prototyping and market validation. The prototyping phase will contain a significant computer science component. Prerequisites: A grade of "C" or better in Comp Sci 3100 or Comp Sci 4090.


COMP SCI 5800 Distributed Computing (LEC 3.0)

This is an introduction to the fundamentals of distributed computing. Topics include a review of communication between distributed processes, causality, distributed state maintenance, failure detection, reconfiguration and recovery, distributed mutual exclusion, clock synchronization, and leader election. Students will implement select course concepts. Prerequisites: A grade of "C" or better in both Comp Sci 3800 and Comp Sci 2500.


COMP SCI 5801 The Structure Of Operating Systems (LEC 3.0)

The hardware and software requirements for operating systems for uniprogramming, multiprogramming, multiprocessing, time sharing, real time and virtual systems. The concepts of supervisors, interrupt handlers, input/output control systems, and memory mapping are discussed in detail. Prerequisite: A "C" or better grade in Comp Sci 3800.


COMP SCI 5802 Introduction to Parallel Programming and Algorithms (LEC 3.0)

Parallel and pipelined algorithms, architectures, network topologies, message passing, process scheduling and synchronization. Parallel programming on clusters. Cost, speedup and efficiency analysis. Prerequisite: A "C" or better grade in both Comp Sci 3800 and Comp Sci 2500.


COMP SCI 5803 Introduction to High Performance Computer Architecture (LEC 3.0)

Overviews high performance architecture of computing systems and covers various architectural/hardware and software/algorithmic means that enhance performance. Uniprocessor and concurrent systems are investigated. Various computational models are studied and linked to commercial systems. Prerequisite: A "C" or better grade in both Comp Eng 3150 and Comp Sci 2500. (Co-listed with Comp Eng 5110).


COMP SCI 6000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 6001 Special Topics (LEC 0.0-6.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 6010 Seminar (RSD 1.0)

Discussion of current topics.


COMP SCI 6040 Oral Examination (IND 0.0)

After completion of all other program requirements, oral examinations for on-campus M.S./Ph.D. students may be processed during intersession. Off-campus M.S. students must be enrolled in oral examination and must have paid an oral examination fee at the time of the defense/comprehensive examination (oral/ written). All other students must enroll for credit commensurate with uses made of facilities and/or faculties. In no case shall this be for less than three (3) semester hours for resident students.


COMP SCI 6050 Continuous Registration (IND 1.0)

Doctoral candidates who have completed all requirements for the degree except the dissertation, and are away from the campus must continue to enroll for at least one hour of credit each registration period until the degree is completed. Failure to do so may invalidate the candidacy. Billing will be automatic as will registration upon payment.


COMP SCI 6099 Research Special Topics (IND 0.0-16)

Investigations of an advanced nature leading to the preparation of a thesis or dissertation. Consent of instructor required.


COMP SCI 6100 Software Engineering II (LEC 3.0)

A quantitative approach to measuring costs/productivity in software projects. The material covered will be software metrics used in the life cycle and the student will present topical material. Prerequisite: A "C" or better grade in Comp Sci 3100.


COMP SCI 6101 Software Requirements Engineering (LEC 3.0)

This course will cover advanced methods, processes, and technique for discovering, analyzing, specifying and managing software requirements of a software system from multiple perspectives. It will discuss both functional and non-functional requirements analysis. Prerequisite: A "C" or better grade in Comp Sci 3100.


COMP SCI 6102 Model Based Systems Engineering (LEC 3.0)

Provides the student with understanding of the use of models to represent systems and validate system architectures. The student will gain proficiency in using a systems modeling language and shifting systems engineering from a document centric to a model centric paradigm. Prerequisites: Graduate Standing. (Co-listed with SYS ENG 6542).


COMP SCI 6200 Algorithmics II (LEC 3.0)

Covers selected classical and recent developments in the design and analysis of algorithms, such as sophisticated data structures, amortized complexity, advanced graph theory, and network flow techniques. Prerequisite: A "C" or better grade in Comp Sci 5200.


COMP SCI 6201 Theory Of Computation (LEC 3.0)

Turing machines and other machines. Godel numbering and unsolvability results. Machines with restricted memory access and limited computing time. Recursive functions, computable functionals and the classification of unsolvable problems. Prerequisite: A "C" or better grade in Comp Sci 2200.


COMP SCI 6202 Markov Decision Processes (LEC 3.0)

Introduction to Markov Decision Processes and Dynamic Programming. Application to Inventory Control and other optimization and control topics. Prerequisite: Graduate standing in background of probability or statistics. (Co-listed with Comp Eng 6310, Mech Eng 6447, Aero Eng 6447, Sys Eng 6217 and Eng Mgt 6410).


COMP SCI 6203 Network Information Analysis (LEC 3.0)

Modeling techniques and analytical methods to study the interaction of information and networks focusing on models and properties of network structures, and diffusion of information over networks. Expected outcomes are systematic inference of information encoded in network structures, and effective methods to disseminate or gather information from networks. Prerequisites: A "C" or better grade in Comp Sci 5200.


COMP SCI 6204 Applied Graph Theory for Computer Science (LEC 3.0)

This course covers advanced concepts in graph theory and their applications. Graphs offer an excellent modeling and analysis tool for solving a wide variety of real-life problems. Emphasis will be on understanding concepts, theory, and proof techniques, and how to develop "cool" and "elegant" solutions for applications. Students will conduct projects. Prerequisite: A grade of "C" or better in Comp Sci 5200.


COMP SCI 6300 Object-Oriented Database Systems (LEC 3.0)

This course will include a study of the origins of object-oriented database manipulation languages, their evolution, currently available systems, application to the management of data, problem solving using the technology, and future directions. Prerequisite: A "C" or better grade in Comp Sci 5102.


COMP SCI 6301 Web Data Management and XML (LEC 3.0)

Management of semi-structured data models and XML, query languages such as Xquery, XML indexing, and mapping of XML data to other data models and vice-versa, XML views and schema management, advanced topics include change-detection, web mining and security of XML data. Prerequisite: A "C" or better grade in Comp Sci 5300.


COMP SCI 6302 Heterogeneous and Mobile Databases (LEC 3.0)

This course extensively discusses multidatabase systems (MDBS) and mobile data access systems (MDAS). Moreover, it will study traditional distributed database issues within the framework of MDBSs and MDASs. Prerequisite: A "C" or better grade in Comp Sci 5300.


COMP SCI 6303 Pervasive Computing (LEC 3.0)

Pervasive computing aims to seamlessly integrate computing with our everyday activities, so that people do not need to be aware of computing artifacts. This course will introduce various techniques needed to realize pervasive computing, such as position tracking and ad-hoc networking. Prerequisite: A grade of "C" or better in one of Comp Sci 4600, Comp Sci 5600, or Comp Eng 5410.


COMP SCI 6304 Cloud Computing and Big Data Management (LEC 3.0)

Covers facets of cloud computing and big data management, including the study of the architecture of the cloud computing model with respect to virtualization, multi-tenancy, privacy, security, cloud data management and indexing, scheduling and cost analysis; it also includes programming models such as Hadoop and MapReduce, crowdsourcing, and data provenance. Prerequisites: A grade of 'C' or better in both COMP SCI 5800 and either COMP SCI 5300 or COMP SCI 5402.


COMP SCI 6400 Advanced Topics In Artificial Intelligence (LEC 3.0)

Advanced topics of current interest in the field of artificial intelligence. This course involves reading seminal and state-of-the-art papers as well as conducting topical research projects including design, implementation, experimentation, analysis, and written and oral reporting components. Prerequisite: A "C" or better grade in one of Comp Sci 5400, Comp Sci 5401 or Comp Eng 5310.


COMP SCI 6401 Advanced Evolutionary Computing (LEC 3.0)

Advanced topics in evolutionary algorithms, a class of stochastic, population-based algorithms inspired by natural evolution theory, capable of solving complex problems for which other techniques fail. Students will conduct challenging research projects involving advanced concept implementation, empirical studies, statistical analysis, and paper writing. Prerequisite: A "C" or better grade in Comp Sci 5401.


COMP SCI 6402 Advanced Topics in Data Mining (LEC 3.0)

Advanced topics of current interest in the field of data mining. This course involves reading seminal and state-of-the-art papers as well as conducting topical research projects including design, implementation, experimentation, analysis, and written and oral reporting components. Prerequisite: A "C" or better grade in Comp Sci 5001 Introduction to Data Mining. (Co-listed with Comp Eng 6302 and Sys Eng 6216).


COMP SCI 6404 Computer Graphics And Realistic Modeling (LEC 3.0)

Algorithms, data structures, software design and strategies used to achieve realism in computer graphics of three-dimensional objects. Application of color, shading, texturing, antialiasing, solid modeling, hidden surface removal and image processing techniques. Prerequisite: A "C" or better grade in Comp Sci 5406.


COMP SCI 6405 Clustering Algorithms (LEC 3.0)

An introduction to cluster analysis and clustering algorithms rooted in computational intelligence, computer science and statistics. Clustering in sequential data, massive data and high dimensional data. Students will be evaluated by individual or group research projects and research presentations. Prerequisite: At least one graduate course in statistics, data mining, algorithms, computational intelligence, or neural networks, consistent with student's degree program. (Co-listed with Comp Eng 6330, Elec Eng 6830, Sys Eng 6214 and Stat 6239).


COMP SCI 6406 Machine Learning in Computer Vision (LEC 3.0)

Introduces machine learning fundamentals in current computer vision research. Topics include modeling complex data densities, regression and classification models, graphical models such as chains, trees, and grids, temporal models such as particle filtering and models for visual recognition such as deep learning. Students will implement select course topics. Prerequisites: A grade of "C" or better in either Comp Sci 5402 or Comp Sci 5404. (Co-listed with Comp Eng 6340).


COMP SCI 6407 Internet of Things with Data Science (LEC 3.0)

This course aims to provide both a theoretical understanding and hands-on experience of Internet of Things and Data Science. Part 1 addresses fundamental concepts, key technologies, and development platforms of IoT. Part 2 addresses applied machine learning and data analysis using Python. Part 3 discusses a variety of research topics in IoT-DS. Prerequisites: Graduate standing with reasonable educational background in computer networks, data mining or machine learning, probability and statistics, and programming languages.


COMP SCI 6500 Theory Of Compiling (LEC 3.0)

Properties of formal grammars and languages, language-preserving transformations, syntax-directed parsing, classes of parsing methods and the grammars for which they are suited, control flow analysis, and the theoretical framework of local and global program optimization methods. Prerequisite: A "C" or better grade in Comp Sci 5500.


COMP SCI 6600 Formal Methods in Computer Security (LEC 3.0)

The course presents various vulnerabilities and threats to information in cyberspace and the principles and techniques for preventing and detecting threats, and recovering from attacks. The course deals with various formal models of advanced information flow security. A major project will relate theory to practice. Prerequisites: A grade of "C" or better in both Comp Sci 4610 and Comp Sci 5200.


COMP SCI 6601 Privacy Preserving Data Integration and Analysis (LEC 3.0)

This course covers basic tools, in statistics and cryptography, commonly used to design privacy-preserving and secure protocols in a distributed environment as well as recent advances in the field of privacy-preserving data analysis, data sanitization and information retrieval. Prerequisite: A "C" or better grade in both Comp Sci 5300 and Comp Sci 3600.


COMP SCI 6602 Network Performance Analysis (LEC 3.0)

Provides an introduction to performance modeling and analysis of computer networks. Topics include stochastic processes; performance measurement and monitoring; quantitative models for network performance, e.g., Markovian models for queues; simulation; and statistical analysis of experiments. Prerequisites: Comp Eng 5410 or Comp Sci 4600; Stat 3117 or 5643. (Co-listed with Comp Eng 6440).


COMP SCI 6603 Advanced Topics in Wireless Networks (LEC 3.0)

Introduces the fundamentals and recent advances in wireless networking. Coverage includes cellular networks, wireless and mobile ad hoc networks, wireless mesh networks, sensor networks and wireless LANs with a focus on network operation. Special topics selected from the literature on wireless network security will also be addressed. Prerequisite: A "C" or better grade in Comp Sci 4600 or equivalent.


COMP SCI 6604 Mobile, IoT and Sensor Computing (LEC 3.0)

Architectures of mobile and wireless computing systems; Location data management, Broadcasting and indexing, replication/caching, fault tolerance; Wireless networks and resource management; Sensor networks and ad hoc routing, wireless network security, sensor data security; Internet of Things (IoT); resource management and edge computing, and IoT security. Prerequisites: Comp Sci 4601 or equivalent.


COMP SCI 6605 Advanced Network Security (LEC 3.0)

Topics covered include network security issues such as authentication, anonymity, traceback, denial of service, confidentiality, forensics, etc. in wired and wireless networks. Students will have a clear, in-depth understanding of state of the art network security attacks and defenses. Prerequisite: A "C" or better grade in either Comp Eng 5420 or Comp Sci 4600.


COMP SCI 6800 Distributed Systems Theory And Analysis (LEC 3.0)

Analysis of the problems of state maintenance and correctness in concurrent computing systems using formal methods such as Hoare Logic, Temporal Logic, and Symbolic Model Checking. Prerequisite: A "C" or better grade in Comp Sci 5800.


COMP SCI 6801 Topics in Parallel and Distributed Computing (LEC 3.0)

Introduction of parallel and distributed computing fundamentals and advanced research topics. Students present research papers selected from the current literature on P&D computing paradigms. A term paper and oral presentation are required. Prerequisite: A "C" or better grade in Comp Sci 5802 or equivalent background. (Co-listed with Comp Eng 6110).


Graduate Faculty members are listed under the specific discipline most closely allied with their graduate faculty status which may not necessarily reflect the department in which current appointment is held.

Avah Banerjee, Assistant Professor
PHD George Mason University

Nan Cen, Assistant Professor
PHD Northeastern University
Visible-Light Networking, Internet-of-Things, 5G New Radio, Broadband Wireless Networking, Wireless Multimedia Networks, Optimization, Protocol Design and AI for Wireless Networks.

Sajal K Das, St. Clair Endowed Chair Professor
PHD University of Central Flordia
Wireless and sensor networks; mobile and pervasive computing; cyber-physical systems and smart environments; smart healthcare and smart grid; big data; parallel, distributed and cloud computing; security and privacy; systems biology; social networks and social computing; applied graph theory and game theory.

Samuel Frimpong, Professor, Robert H. Quenon Chair in Mining Engineering1
PHD University of Alberta, Canada

Mike Gosnell, Assistant Teaching Professor
MS University of Missouri-Rolla
Programming fundamentals and software engineering, operating systems, discrete mathematics for computer science, relational database systems, parallel, distributed, and grid computing.

Gerry Howser, Associate Teaching Professor
PHD Missouri University of Science and Technology
Cyber-Physical Systems Security, Mathematical Security Models, and Mathematical Methods in Computing.

Jennifer Leopold, Associate Professor
PHD University of Kansas
Qualitative spatial reasoning, programming languages, scientific visualization, ontologies, database accessibility and analysis.

Xin Liang, Assistant Professor
PHD University of California

Tony Luo, Associate Professor
PHD National University of Singapore
Internet of Things, Machine Learning, Security, Trust, and Privacy.

Sanjay Kumar Madria, Professor
PHD Indian Institute of Technology, India
Cloud computing security, wireless computing and mobile data management.

George Markowsky, Professor
PHD Harvard University
CyberSecurity

Bruce M McMillin, Professor
PHD Michigan State University
Cyber-physical security, distributed systems, formal methods in software engineering.

Venkata Sriram Siddhardh Nadendla, Assistant Professor
PHD Syracuse University
Cyber-Physical-Human Systems; Statistical Inference & Machine Learning; Nudge & Persuasion; Security, Fairness, Transparency and Trust.

Chaman L Sabharwal, Professor
PHD University of Illinois-Urbana
Spatial reasoning, graphics, robotics, vision and parallel algorithms.

Jagannathan Sarangapani, Professor
PHD University of Texas-Arlington
Rutledge Emerson Endowed Chair Professor in Electrical Engineering. Systems and control, cyber physical systems and security, wireless/sensor networks, robotics/autonomous systems, and prognostics.

Sahra Sedigh Sarvestani, Associate Professor
PHD Purdue University, W. Lafayette
Embedded systems, environmental and structural monitoring, wireless sensor networks, dependability of critical infrastructures, system and information quality assurance.

Patrick Taylor, Assistant Teaching Professor
PHD
Data structures, introduction to computer security, introduction to programming, bioinformatics.

Ardhendu Tripathy, Assistant Professor
PHD Iowa State University

Costas Tsatsoulis, Professor and Vice Chancellor of Research and Graduate Studies
PHD Purdue University

Donald C Wunsch II, Professor1
PHD University of Washington
Mary K. Finley Missouri Distinguished Professor of Computer Engineering. Clustering, neural networks reinforcement learning, approximate dynamic programming, adaptive dynamic programming, adaptive critic designs, adaptive resonance theory, fuzzy systems, evolutionary computation, particle swarm optimization, nonlinear regression, memristors, game of go (Baduk, Weichi), traveling salesman problem, prisoner's dilemma problem, robotic swarms, bioinformatics, self-healing critical infrastructure, smart grid, critical infrastructure and cybersecurity.

San Yeung, Assistant Teaching Professor
MS Missouri University of Science and Technology
File Structures, Introduction to Database Systems, and Introduction to Operating Systems.

Peizhen Zhu, Assistant Teaching Professor
PHD University of Colorado-Denver
Introduction to MATLAB programming, discrete mathematics for computer science, introduction to numerical methods and algorithms.

Superscripts 1, 2, 3, 4, 5, and 6 in the faculty listing refer to the following common footnotes:
1 Registered Professional Engineer
2 Registered Geologist
3 Certified Health Physicist
4 Registered Architect
5 Board Certified, American Academy of Environmental Engineers
6 LEED AP Certified