Computer Science
500 West 15th Street
325 Computer Science Bldg.
Rolla, MO 65409
(573) 341-4491
csdept@mst.edu
Areas of Excellence
The Missouri S&T computer science department has identified the following research and teaching areas of interest to focus on in the next several years. We will continue our tradition of providing a strong foundation for our students, and these areas of excellence will help students identify additional options to broaden their academic and research backgrounds, as well as their professional opportunities.
Missouri S&T's Computer Science program provides a full unified software lifecycle experience over the entire course of the student's CS education at Missouri S&T. This experience includes software project management in its many roles, ranging from overall project management and process improvement to the management of individual lifecycle components, including software deployment and evolution. Missouri S&T's software engineering research program specializes in software quality, software testing, hardware/software co-design, and formal methods of software specification and verification, software requirements engineering and software process improvement, and algorithm theory.
To obtain an emphasis in Software Engineering, the student takes the following courses as part of their M.S. degree program:
Requirements Engineering, (CS 409): elicitation of software requirements
Software Testing and Quality Assurance (CS 307): unit, subsystem, system, object-oriented, and specification, testing, software quality
Object Oriented Analysis and Design (CS 308): principles, mechanisms, and methodologies in object-oriented analysis and design
Software Engineering II (CS 406): software metrics used in the life cycle
Critical Infrastructure Protection
Critical Infrastructure Protection is a multi-disciplinary study dedicated to improving the security, reliability, and survivability of the infrastructures that play a vital role in the effective functioning of our nation. Missouri S&T's specialty focuses on the critical hardware/software integrated systems that make up the nation's critical infrastructures. Missouri S&T's CS department focuses on the Software Engineering aspects of Critical Infrastructure Systems, Wireless Computing Technologies, Artificial Intelligence, Distributed Computing, Security, Fault Tolerance, and Visualization. The intention is to improve the quality, survivability, security, and reliability of critical systems using the broadest-based technology possible, to grow a workforce aware of and trained in security (physical and cyber), and to stimulate the economic viability of US corporations and institutions by improving the security, reliability, and survivability of their critical infrastructures.
To obtain an emphasis in Critical Infrastructure Protection, the student takes at least four out of the following courses as part of their M.S. degree program (two of them must be at 400 level):
Distributed Operating Systems (CS 384): algorithms used in the creation of modern (distributed) operating systems
Distributed Systems Theory and Analysis (CS 484): advanced analysis using formal methods
Computer Communications and Networks (CS 365): network architecture model, security, and wireless with implementations
Advanced Topics in Wireless Networking (CS 485):cellular networks, ad hoc networks, wireless LAN'S and security
Computer Security (CS 463): vulnerabilities and threats to information in cyberspace, principles and techniques for preventing and detecting threats, and recovering from attacks
Mobile and Sensor Data Management (CS 467): architectures, Mobile-IP, broadcasting, replication, caching fault tolerance, ad hoc and sensor routing, keys
Software Testing and Quality Assurance (CS 307): unit, subsystem, system, object-oriented, and specification, testing, software quality
Object Oriented Analysis and Design (CS 308): principles, mechanisms, and methodologies in object-oriented analysis and design
Bioinformatics is any application of computational methods to address biological problems. Although often used to refer to analysis of genomic information, bioinformatics is defined broadly by the NSF and NIH as "research, development, or application of computational tools and approaches for expanding the use of biological, medical, behavioral or health data, including those to acquire, store, organize, archive, analyze, or visualize such data." Missouri S&T's bioinformatics research program specializes in visualization of biological data sets, parallel algorithm development and algorithmic theory for biological data analysis, and management of biological databases.
To obtain an emphasis in Bioinformatics, the student takes the following courses as part of their M.S. degree program:
Data Base Systems (CS 338): normalization and functional dependencies, transaction models, concurrency and locking, time stamping, serializability, recovery techniques, and query planning and optimization
Data Mining & Knowledge Discovery (CS 434): data knowledge representation and knowledge acquisition, machine learning and neural networks
Bioinformatics (CS 311): application of computational methods to biology with problems in molecular, structural, morphological, and bio diversity informatics
Advanced Bioinformatics (CS 401 soon to be CS 411): a continuation of CS 311
Java GUI and Visualization (CS 342): Java classes with an eye towards algorithm visualization
Web Data Management and XML (CS 437): semi-structured data models and XML, query languages such as Xquery, XML indexing, and mapping of XML views and schema management change detection, web mining and security