Computer Science

The computer science department educates students in a broad range of areas. Students take courses in the design and implementation of software systems and the algorithms (problem solving techniques) used to solve “real world” problems in business, industry, and engineering or as preparation for graduate study. Students are given both the depth and breadth of computer science so necessary to keep them competitive in today’s fast-changing world. While instruction and research are on the leading edge of computing, the department endeavors to promote proactive teaching practices and effective interactions between the students and faculty.

In addition to computer science courses, the department’s undergraduate program requires students to be educated in a broad range of general education courses. All computer science seniors are expected to take the capstone course that gives them “real world” experience working in teams composed of fellow students. These teams design, implement, test, and maintain actual software systems. (The sample curriculum shown below provides more detail.)

The computer science faculty has a broad range of scholarly interests which include computer security and privacy, databases and wireless systems, intelligent systems (artificial intelligence, machine learning, evolutionary computation), data mining, parallel and distributed processing, software engineering, computer networks, computer vision, mobile and pervasive computing, computational science, and algorithms. The research being done in these areas involves both undergraduates and graduates and supports the department’s crosscutting areas of excellence: big data, critical infrastructure protection, cyber physical systems, and smart computing. Faculty are not only actively doing research in these areas; they integrate their research experiences into the classroom.

Computer science graduates from Missouri S&T work in a variety of environments. Some work for large companies, others prefer smaller companies. Many of our graduates have started their own companies. Regardless of their choice of employment, Missouri S&T computer science graduates are in high demand as evidenced by the number of companies that specifically recruit our graduates.

The computer science department at Missouri S&T makes use of both its own computer learning center (CLC) as well as university CLCs. The department CLC contains a mix of Linux and Windows computing platforms.

Research laboratories provide support for both undergraduate and graduate students. These laboratories include:

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

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

For further information, visit the department’s web page at or contact us at 573-341-4491 or at

Bachelor of Science
Computer Science

A minimum of 128 credit hours is required for a Bachelor of Science degree in computer science and an average of at least two grade points per credit hour must be obtained. These requirements for the B.S. degree are in addition to credit received for algebra, trigonometry, and basic ROTC.

The computer science curriculum requires twelve semester hours in humanities, exclusive of foreign language, and must include ENGLISH 1160 or ENGLISH 3560. A minimum of nine semester hours is required in social sciences, including either HISTORY 1300, HISTORY 1310HISTORY 1200, or POL SCI 1200. Specific requirements for the bachelor degree are outlined in the sample program listed below.

All computer science majors must earn a "C" or better grade in all COMP SCI courses used to fulfill B.S. in computer science degree requirements as well as in COMP ENG 2210, COMP ENG 3150, and the required ethics elective.

Sample Course of Study

Freshman Year
First SemesterCreditsSecond SemesterCredits
COMP SCI 1010141COMP SCI 12003
COMP SCI 15703COMP SCI 15753
COMP SCI 15801COMP SCI 15851
MATH 12144MATH 12154
ENGLISH 11203ENGLISH 1160133
Humanities Elective53SP&M S 118543
 15 17
Sophomore Year
First SemesterCreditsSecond SemesterCredits
COMP SCI 22003COMP SCI 23003
COMP SCI 25003COMP ENG 2210123
PHYSICS 113534PHYSICS 213534
Statistics Elective63MATH 310873
Social Science Elective23Literature Elective53
 16 16
Junior Year
First SemesterCreditsSecond SemesterCredits
COMP SCI 31003COMP SCI 36003
COMP SCI 35003COMP SCI 38003
COMP ENG 31503Laboratory Science15
History Elective23Sci/Eng Elective103
Ethics Elective113Social Science Elective23
 15 17
Senior Year
First SemesterCreditsSecond SemesterCredits
COMP SCI 40963Cmp Sc Electives99
Cmp Sc Electives96Sci/Eng Elective103
Sci/Eng Elective103Free Elective85
Free Elective83 
 15 17
Total Credits: 128

Any science lecture-laboratory course or course pair totaling at least four hours credit. The laboratory is mandatory in all cases. These course(s) may be selected from: CHEM 1310 and CHEM 1319; CHEM 1351; BIO SCI 1113 and BIO SCI 1219; PHYSICS 1505 and PHYSICS 1509; GEOLOGY 1110 and GEOLOGY 1119; GEOLOGY 1120 and GEOLOGY 1129; BIO SCI 1223 and BIO SCI 1229BIO SCI 2353 and BIO SCI 2359.


Any nine credit hours of social science courses approved on the list maintained on the computer science website. One course must satisfy the Missouri and U.S. Constitution requirement. COMP SCI 4700 may be counted as a Social Science elective.


Either PHYSICS 1135 or PHYSICS 1111-PHYSICS 1119; either PHYSICS 2135 or PHYSICS 2111-PHYSICS 2119.


SP&M S 1185 or SP&M S 3283.


One literature and one humanities course approved on the list maintained on the computer science website.


One of STAT 3113, STAT 3115, STAT 3117, or STAT 5643.


MATH 3103 or MATH 3108.


Courses chosen from any field so that 128 hours are completed. These and only these courses may be taken pass/fail and only one course may be taken pass/fail each semester. Some courses such as algebra, trigonometry, MATH 1214, MATH 1215, MATH 1221, PHYSICS 1111, PHYSICS 1119, PHYSICS 1135, PHYSICS 2135, PHYSICS 2111, PHYSICS 2119, PHYSICS 1145, PHYSICS 2145 and the first two years of ROTC do not count toward the free electives.


Fifteen hours of elective COMP SCI courses excluding COMP SCI 2002, COMP SCI 4700, COMP SCI 2001 - Domain Exploration and Innovation Methods, COMP SCI 3001 - Skill Development for Entrepreneurs and Innovators, COMP SCI 4001 - Advanced Domain Exploration and Innovation Methods, COMP SCI 4001 - Interpersonal Dynamics for Entrepreneurs and Innovators, and all COMP SCI x9xx courses. At least nine hours must be 5000-level or higher. At least nine hours must be lecture courses.


Any nine hours chosen from departments that offer a degree associated with either the Discipline Specific Curricula Committee for Sciences or the Discipline Specific Curricula Committee for Engineering, excluding computer science.These may not be MATH 1208, MATH 1214, MATH 1215, MATH 1221, PHYSICS 1111, PHYSICS 1119, PHYSICS 1135, PHYSICS 2135, PHYSICS 2111, PHYSICS 2119PHYSICS 1145, or PHYSICS 2145.


One of PHILOS 3225, PHILOS 3235, PHILOS 4340, or PHILOS 4368.


Laboratory not required.


ENGLISH 1160 or ENGLISH 3560.


One of COMP SCI 1010BIO SCI 1201CHEM 1110, PHYSICS 1101, MATH 1101, or FR ENG 1100.

Computer Science Minor Curriculum

A student with a minor in computer science must meet the following requirements:

  1. A "C" or better grade in at least 18 credit hours of COMP SCI courses, excluding x9xx courses.
  2. A "C" or better grade in at least 9 credit hours of COMP SCI courses at the 2000 or higher level.
  3. A "C" or better grade in two of the following courses: COMP SCI 3100, COMP SCI 2200, COMP SCI 3200, COMP SCI 2300, COMP SCI 2500, COMP SCI 3500 and COMP SCI 3800.
  4. At most 6 of the 18 credit hours can be transfer credits and transfer classes must show a "C" or better grade.

COMP SCI 1001 Special Topics (LAB 0.0-6.0)

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

COMP SCI 1010 Introduction To Computer Science (LEC 1.0)

This course is devoted to an introduction of various areas of Computer Science, the faculty members, and lab equipment. Computer ethics will be discussed in several lectures.

COMP SCI 1200 Discrete Mathematics for Computer Science (LEC 3.0)

A rigorous treatment of topics from discrete mathematics which are essential to computer science. Principal topics include: formal logic (propositional & predicate), proof techniques, mathematical induction, program correctness, sets, combinatorics, probability, relations, functions, matrices, graph theory and graph algorithms. Prerequisite: A grade of "C" or better in both Comp Sci 1570 and one of Math 1120, Math 1140, Math 1208, and Math 1214.

COMP SCI 1570 Introduction To Programming (LEC 3.0)

Programming design and development using C++. Emphasis placed on problem solving methods using good programming practices and algorithm design and development. Topics included are syntax/semantics, logical, relational and arithmetic operators, decision branching, loops, functions, file I/O, arrays, output formatting, C-strings, and an introduction to Object-Oriented Programming including the development and use of classes. Prerequisite: Accompanied by Comp Sci 1580.

COMP SCI 1575 Data Structures (LEC 3.0)

A continuation of Object-Oriented Programming, with emphasis on the efficient organization of data through Abstract Data Types and Data Structures. Topics include Linked Lists, Vectors, Stacks, Queues, Trees, Hash Tables, Graphs and their use in a variety of algorithms. Recursive programming techniques are also covered. This course is programming intensive. Prerequisite: Grade of "C" or better in Comp Sci 1570.

COMP SCI 1580 Introduction To Programming Laboratory (LAB 1.0)

Practical applications of concepts learned in Computer Science 1570. Hands-on instruction in C++ developing, debugging, and testing programming projects. Prerequisite: Accompanied by Comp Sci 1570.

COMP SCI 1585 Data Structures Laboratory (LAB 1.0)

Hands-on instruction in programming development tools such as version control systems, integrated development environments, debuggers, profilers, and event-based programming environments. Exercises will complement the concepts presented in Comp Sci 1575. Prerequisite: Preceded or accompanied by Comp Sci 1575.

COMP SCI 1970 Basic Scientific Programming (LEC 2.0)

Introduction to the structure of programs and programming techniques in Fortran to solve science and engineering problems. Topics include data representation, basic solutions of numerical problems and the debugging and verification of programs. Prerequisite: Entrance requirements.

COMP SCI 1971 Introduction To Programming Methodology (LEC 2.0)

Basic structured programming and problem solving techniques using C++. Development, debugging, and testing of programs, data representation. Topics to include syntax/semantics, operators, loops, decision branching, arrays, file I/O. This course is a terminal course for non-majors and is not sufficient for entry into Computer Science 1510.

COMP SCI 1972 Introduction to MATLAB Programming (LEC 2.0)

Programming design and development using MATLAB for non-CS majors. Strong emphasis placed on algorithmic problem solving methods using good programming practices. Introduction to built-in functions including plotting, as well as logical/relational/arithmetic operators, decision branching, loops, functions, file I/O, datastructures, and output formatting. Prerequisite: Accompanied by Comp Sci 1982 and a "C" or better grade in either Math 1208 or Math 1214.

COMP SCI 1980 Computer Programming Laboratory (LAB 1.0)

A laboratory to accompany Comp Sci 1970 which emphasizes the designing, writing and debugging of programs in Fortran. Prerequisite: Accompanied by Comp Sci 1970.

COMP SCI 1981 Programming Methodology Laboratory (LAB 1.0)

A hands-on introduction to structured programming in C++. Development, coding, debugging, and execution of programming concepts discussed in Computer Science 1971. Prerequisite: Accompanied by Computer Science 1971.

COMP SCI 1982 MATLAB Programming Laboratory (LAB 1.0)

Practical application of concepts learned in Comp Sci 1972. Hands-on instruction in MATLAB developing, debugging and testing programming projects. Prerequisite: Accompanied by Comp Sci 1972.

COMP SCI 2001 Special Topics (LAB 0.0 and LEC 0.0)

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

COMP SCI 2002 Cooperative Work Training (IND 1.0-5.0)

On-the-job experience gained through cooperative education with industry, with credit arranged through departmental cooperative advisor. Grade received depends on quality of reports submitted and work supervisors evaluation. Not more than 9 hours may be applied to the B.S. degree.

COMP SCI 2200 Theory of Computer Science (LEC 3.0)

This course will cover the theoretical underpinnings of computer science. In particular, this course will cover the following topics: basic computability and formal language concepts, regular languages, context free languages, recursively-enumerable languages, and classes P, NP, and NP-completeness. Prerequisite: A grade of "C" or better in both Comp Sci 1200 and Comp Sci 1575.

COMP SCI 2300 File Structures and Introduction to Database Systems (LEC 3.0)

Course covers major topics in file structures and database systems including techniques for disk access and organization, record and file structures, index structures, sequential file, dense/sparse and secondary indexes, B-trees, range queries, insertion/deletion, hash tables, fundamentals of database systems, the ER model, relational model, algebra and SQL. Prerequisite: A grade of "C" or better in Comp Sci 1575.

COMP SCI 2500 Algorithms (LEC 3.0)

Students will solve recurrence relations, analyze algorithms for correctness and time/space complexity, apply these analysis techniques to fundamental dynamic programming, greedy, shortest-path, minimal spanning trees, and maximum flow algorithms and validate these analyses through programming. Prerequisite: A grade of "C" or better in both Comp Sci 1200 and Comp Sci 1575; preceded by a grade of "C" or better in either Math 1208 or Math 1214, or accompanied by either Math 1208 or Math 1214.

COMP SCI 2501 Java and Object Oriented Design (LEC 3.0)

This course will cover Basic Java, Applets, Application, Classes, interfaces, Strings, Arrays, Generics, inheritance, Polymorphism, Algorithm and Object Oriented Design, Software Testing, Exception Handling, File I/O. The use of Graphical User Interfaces in program design and introduction to Software Life Cycle. Project included. Prerequisite: A "C" or better grade in Comp Sci 1570.

COMP SCI 2889 Introduction To Computer Organization And Assembly (LEC 3.0)

A detailed study designed to teach the building blocks of a computer system, assembly language programming and the basic computer organization concepts. Subjects include digital logic, performance issues, machine & assembly language, binary arithmetic, and the structure of an ALU. Prerequisites: Comp Sci 1510 and Comp Sci 1200.

COMP SCI 3001 Special Topics (LEC 0.0 and LAB 0.0)

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

COMP SCI 3010 Seminar (IND 0.0-6.0)

Discussion of current topics.

COMP SCI 3100 Software Engineering I (LEC 3.0)

Development of methodologies useful in the software engineering classical life cycle. This includes: requirements, design, implementation, and testing phases. These methodologies are reinforced through utilization of a CASE tool and a group project. Prerequisite: A "C" or better grade in Comp Sci 2500 and at least Junior standing.

COMP SCI 3200 Introduction To Numerical Methods (LEC 3.0)

Finite difference interpolation, numerical differentiation and integration, linear systems of equations, solution of nonlinear equations, numerical solution of ordinary differential equations, computational techniques and the programming of a large number of problems on digital computers. Prerequisites: Program competency and a "C" or better grade in either Math 1215 or Math 1221.

COMP SCI 3500 Programming Languages And Translators (LEC 3.0)

Covers basic design of programming languages, compilers and interpreters. The concepts of syntax, variables, expressions, types, scope, functions, procedures, statements, I/O, exception handling and concurrency are introduced. The manner in which various programming languages handle these concepts is discussed. Prerequisite: A "C" or better grade in Comp Sci 2200.

COMP SCI 3600 Introduction to Computer Security (LEC 3.0)

This course encompasses threats and vulnerabilities, trust and security policies, and enforcement. Specific topics include access control, risk management, systems and applications life cycle, physical security, key management, transmission security, and cryptography. Prerequisite: A "C" or better grade in Comp Sci 2500.

COMP SCI 3601 Digital Forensics (LEC 3.0)

Planning/managing incidents and response related to digital forensics; identifying, collecting, and preserving digital evidence; live/dead approaches covering systems as a whole emphasizing file system forensics; analysis and interpretation of artifacts culminating in a final project consisting of a collection, analysis, and report; legal and ethical issues. Prerequisites: A "C" or better grade in both COMP SCI 3600 and COMP SCI 3800.

COMP SCI 3800 Introduction to Operating Systems (LEC 3.0)

This course teaches the concepts, structure, and mechanisms of Operating Systems. Topics include process management, concurrency, synchronization, deadlock, multithreading, memory management, scheduling, and internetworking. Special emphasis is given to Unix and its modern-day derivatives. Prerequisites: A grade of "C" or better in all of Comp Sci 1575, Comp Sci 1200, and Comp Eng 3150.

COMP SCI 3803 Computer Organization (LEC 3.0)

A detailed study of computer organization concepts and the components of a computer system including control unit, microprogrammming, pipelining, memory hierarchy, cache design, virtual memory, I/O devices, and a brief introduction to parallel processors. Prerequisites: A "C" or better in both Comp Eng 2210 and Comp Sci 1510.

COMP SCI 4000 Special Problems (IND 0.0-6.0)

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

COMP SCI 4001 Special Topics (LAB 0.0 and LEC 0.0)

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

COMP SCI 4010 Seminar (IND 0.0-6.0)

Discussion of current topics. Prerequisite: Senior standing.

COMP SCI 4096 Software Systems Development I (LEC 3.0)

Class members will work in small teams to develop a complete software system beginning with end-user interviews and concluding with end-user training. Prerequisites: 100 credit hours completed and a grade of "C" or better in both Comp Sci 3100 and one of Phil 3225, Phil 3235, Phil 4340, or Phil 4368.

COMP SCI 4097 Software Systems Development II (LEC 3.0)

This course is an optional continuation of Comp Sci 397. Those interested in project management should take this course since participants become officers or group leaders in the class "corporation." This course is especially important for those going straight into industry upon graduation. Students with coop experience may find this course redundant. Prerequisite: A "C" or better grade in Comp Sci 4096.

COMP SCI 4099 Undergraduate Research (IND 0.0-6.0)

Designed for the undergraduate student who wishes to engage in research. Does not lead to the preparation of a thesis. Not more than six (6) credit hours allowed for graduation credit. Subject and credit to be arranged with the faculty supervisor.

COMP SCI 4489 Multimedia Systems (LEC 3.0)

This course introduces the concepts and components of Multimedia information systems. Topics include: Introduction to Multimedia Data, Multimedia Date Compression, Techniques and Standards, Indexing and Retrieval, Data Storage Organization, Communication and Synchronization, Applications-Media-OnDemand Systems, Video Conferencing, Digital Libraries. Prerequisite: A "C" or better grade in Comp Sci 1510.

COMP SCI 4600 Computer Communications And Networks (LEC 3.0)

Network architecture model including physical protocols for data transmission and error detection/correction, data link concepts, LAN protocols, internetworking, reliable end to end service, security, and application services. Students will implement course concepts on an actual computer network. Prerequisite: A "C" or better grade in Comp Sci 3800.

COMP SCI 4601 Computer Network Concepts And Technology (LEC 3.0)

This course will introduce computer network concepts and will survey the current and evolving technology for the construction, operation, and management of those networks. Both hardware and software issues will be addressed with a focus on local area networks. Prerequisite: A "C" or better grade in Comp Sci 3800.

COMP SCI 4700 Intellectual Property For Computer Scientists (LEC 3.0)

A presentation of the relationship between the law of intellectual property and computer science. Topics include the application of copyright principles to computer programs, protection of computer programs through patents and trade secret law, and the effect of various agreements which are frequently encountered by the computer scientist. Prerequisite: Senior or graduate standing.

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 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 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 Computer Networks (LEC 3.0)

This course focuses on the Internet and the general principles of computer networking. It covers the TCP/IP model from the application layer to the link layer in a top-down approach. It also exposes students to multimedia networking, network security, wireless and mobile networks. It is a networking class targeted for entry-level graduate students. This course has additional requirements beyond CS4600 on network performance modeling and analysis, development and implementation of complex communication protocols. Credit will not be given if previously have taken CS4600 or CpE 4410/5410. Prerequisite: A "C" or better grade in Comp Sci 3800.

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 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.

Randy Lawrence Canis, Adjunct Professor
JD University of Missouri-Columbia

Sajal K Das, St. Clair Endowed Chair Professor
PHD University of Central Flordia

Yanjie Fu, Assistant Professor
DBA Rutgers University

Mike Gosnell, Assistant Teaching Professor
MS University of Missouri-Rolla

Zhishan Guo, Assistant Professor
PHD University of North Carolina

Wei Jiang, Associate Professor
PHD Purdue University

Jennifer Leopold, Associate Professor
PHD University of Kansas

Dan Lin, Associate Professor
PHD National University of Singapore

Sanjay Kumar Madria, Professor
PHD Indian Institute of Technology, India

George Markowsky, Department Chair
PHD Harvard University

Linda Markowsky, Assistant Research Professor
PHD University of Maine

Bruce M McMillin, Professor
PHD Michigan State University

Angel Ricardo Morales, Assistant Teaching Professor
PHD Texas Tech University

Clayton E Price, Associate Teaching Professor; Freshman/Transfer Advisor
MASTER University of Missouri - Rolla

Chaman L Sabharwal, Professor
PHD University of Illinois-Urbana

Sahra Sedighsarvestani, Associate Professor
PHD Purdue University-W. Lafayette

Daniel R. Tauritz, Associate Professor
PHD Leiden University

Patrick Taylor, Assistant Teaching Professor
PHD University of Massachusetts

Donald C Wunsch II, Professor1
PHD University of Washington

Zhaozheng Yin, Associate Professor
PHD Pennsylvania State University

Peizhen Zhu, Assistant Teaching Professor
PHD University of Colorado-Denver

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