Missouri State University

Skip search and site index

Office of the Registrar 

Department of Computer Science

203C Cheek Hall, Phone: (417) 836-4157, Fax: (417) 836-6659
Email: ComputerScience@missouristate.edu
Web Site: http://cs.missouristate.edu
Department Head: Professor Lloyd Smith, Ph.D.

Faculty (as of March 14, 2008)

Associate Professors: Edward H. Matthews, Ph.D.; Jamil M. Saquer, Ph.D.; Eric Shade, Ph.D.; Kenneth Vollmar, Ph.D.; Yang Wang, Ph.D.

Assistant Professors: Hui Liu, Ph.D.; Richard Martin, Ed.D.

Lecturers: Michael Scroggins, M.B.A.; Harry Shea, M.S.

Emeritus Professors: Melvin V. Foster, Ph.D.; Ivon H. Lowsley, Jr., Ph.D.

Accreditation

Computing Accreditation Commission (CAC) of ABET – Computer Science, B.S.

Credit by Examination

Credit by Examination is available. Refer to the Credit by Examination policy in the Academic Regulations section of the catalog for a listing of the courses.

Graduate Programs

The following graduate programs are available: Master of Natural and Applied Science degree with an area of emphasis in Computer Science. Refer to the Graduate Catalog for more information.

Accelerated Master of Natural and Applied Science degree: Eligible undergraduate students majoring in the College of Natural and Applied Sciences may apply for preliminary acceptance into the Master of Natural and Applied Science program after admission requirements for the accelerated masters program have been satisfied.  If approved, a maximum of 12 credit hours of approved 500-level or 600-level courses may be designated as “mixed credit” and counted toward both the undergraduate and graduate degree programs.  This option offers an opportunity for CNAS majors whose goals, academic capabilities, and career planning include graduate work, to complete the requirements for the masters degree in less time than would otherwise be possible.  See the Graduate Catalog or contact the MNAS program director for further information and guidelines.

For courses to be designated as Mixed Credit, the graduate advisor, undergraduate department head, and Graduate College dean must approve by signing the Permission for Mixed Credit form.  This form must be provided to the Office of the Registrar in Carrington Hall 320 no later than the end of the Change of Schedule Period for the semester. 

General Information

Computers for Learning Proficiency Examination: A proficiency examination to obtain waiver from completing the General Education/Computers for Learning requirement (CIS 101, CSC 101, CSC 111) is available. Credit hours are not granted for this examination. For more information, visit the web site at http://learning.missouristate.edu.

Majors

Computer Science (Non-Comprehensive)

Bachelor of Science
  1. General Education (see General Education section of catalog)

  2. Major Requirements

    1. CSC 130(3), 131(4), 232(4), 285(4), 325(3), 333(4), 335(3), 450(3), 460(3), 482(1)

    2. Select nine additional hours from eligible CSC courses numbered 300 or above with at least six hours from courses other than CSC 399 and 596.

    3. Related science and mathematics requirements: MTH 215(3), 261(5)*, 280(5)*, 345(3) or 540(3); PHY 203(5)*, 204(5), 220(4), 324(4); and one of the following courses: BIO 121(4)*, BMS 110(4)*, CHM 160(4)*, GLG 110(4)*, GRY 135(4)*, GRY 142(4)*
      * May also count toward General Education Requirements

  3. Minor Required (NOTE: The major requirements for Computer Science automatically satisfy the requirements for a minor in Mathematics, and all but two hours of the requirements for a minor in Physics.)

  4. General Baccalaureate Degree Requirements (see “Academic Programs and Requirements” section of catalog)

Minors

Computer Science

Bachelor of Arts
  1. CSC 130(3); and CSC 121(3) or CSC 125(4) or CSC 131(4)
  2. Nine additional hours from eligible CSC courses numbered 232 or above to bring total hours in minor to at least 15. Courses not eligible: CSC 399, 500, 505, and 510.

Computer Science

Bachelor of Science
  1. CSC 130(3); and CSC 121(3) or CSC 125(4) or CSC 131(4)
  2. Six additional hours from eligible CSC courses numbered 232 or above to bring total hours in minor to at least 12. Courses not eligible: CSC 399, 500, 505, and 510.

Informatics

Bachelor of Science
  1. CSC 131(4), 232(4), 335(3), 487(3);
  2. MTH 261(5) or MTH 287(3); MTH 280(5) or MTH 288(3); BIO 550(3) or MTH 545(3)

Computer Science Courses

CSC 101 Computers for Learning 2(1-2), F,S

General Education Course (Basic Required Courses) Fundamental computer concepts including word processing, spreadsheets, accessing information and the responsible use of information and technology. Course may be waived by proficiency exam. Identical with CSC 101. Cannot receive credit for both CIS 101 and CSC 101.

CSC 111 Introduction to Computing 3(2-2), F,S

Prerequisite: eligible for MTH 261. General Education Course (Basic Required Courses) An introduction to computer hardware, software, and network resources relevant to the science major. Spreadsheets, word processing, databases, and computer-based mathematical software will be emphasized.

CSC 121 Introduction to BASIC Programming 3(3-0), S

Problem solving with computers, analysis of computational problems and development of algorithms for their solution. Algorithms will be implemented in the BASIC language utilizing personal computers.

CSC 125 Introduction to C++ Programming 4(3-2), F

Programming and problem-solving using C++. Language constructs for assignment, flow control, input/output and functions are studied and applied. Techniques of object-oriented programming are introduced.

CSC 130 The World of Computer Science 3(3-0), F,S

A broad overview of computer science, with topics ranging from the basic structure of a computer to artificial intelligence. Suitable for non-majors who want to learn more about computer science. Prospective computer science majors are encouraged to take preparatory mathematics courses concurrently with this course.

CSC 131 Introduction to Computer Science I 4(3-2), F,S

Prerequisite: CSC 130 or concurrent enrollment, and eligible for MTH 261. An introduction to software design methodology using a modern structured programming language. Topics will include: problem-solving techniques; high-level control structures, subprograms and modularity; simple, aggregate and user-defined data types; and fundamental algorithms. Program clarity, good coding style and effective documentation will be stressed.

CSC 197 Introductory Topics in Computer Science 1-3, D

Variable content course with topics that can change from semester to semester. Topics will be identified by title in the schedule of classes. The course may be repeated if a different topic is offered, however, no more than six credits may count toward any degree.

CSC 226 Special Languages 3(3-0), D

Prerequisite: CSC 121 or CSC 125 or CSC 131. A survey of modern higher level languages with emphasis on comparison of capabilities of languages. Choices of a language to be used in solving particular types of problems.

CSC 232 (132) Introduction to Computer Science II 4(3-2), F,S

Prerequisite: CSC 130; "C" or better in CSC 131; and MTH 215 or concurrent enrollment. A continuation of CSC 131. Topics will include: algorithm design; complexity analysis; abstract data types and encapsulation; basic data structures and their application, including stacks, queues, linked lists and binary trees; dynamic memory allocation; recursion; sorting and searching; debugging techniques.

CSC 285 Computer Architecture 4(4-0), F,S

Prerequisite: PHY 220 and CSC 131. Introduction to the architecture and internal operation of computers, including assembly language. A study of the major components, functional organization, and sequential operation of digital computers during program execution. Several computer architectures will be studied.

CSC 300 Service Learning in Computer Science 1, F,S

Prerequisite: 30 hours and concurrent registration in a Computer Science course designated as a service learning offering. This service component for an existing course incorporates community service with classroom instruction in Computer Science to provide an integrative learning experience that addresses the practice of citizenship and promotes an awareness of and participation in public affairs. Includes 40 hours of service that benefits an external community organization, agency, or public service provider. Approved service placements and assignments will vary depending on the specific course topic and learning objectives; a list of approved placements and assignments is available from the instructor and the Citizenship and Service Learning Office. May  be repeated but no more than two hours of service learning may count toward graduation.

CSC 325 Algorithms and Advanced Data Structures 3(3-0), F,S

Prerequisite: CSC 232 and either MTH 215 or MTH 315. This course should be taken as soon as possible after CSC 232. Algorithms and advanced data structures, including graphs, heaps, self-adjusting data structures, set representations and dynamic programming. Sample applications, including memory management and data compression. Introduction to NP-complete problems. Correctness proofs and efficiency analysis are stressed.

CSC 333 Languages and Machines 4(4-0), F,S

Prerequisite: CSC 232; and CSC 285 or concurrent enrollment; and MTH 215. A study of two classes of languages: formal languages (regular, context-free, and computable) and their associated machines (finite automata, pushdown automata, and Turing machines); and programming languages, including the essential features of imperative, functional, object-oriented, and logic programming languages, together with their design and implementation on modern computers and virtual machines. Includes a substantial number of programming assignments, most of which are language interpreters or machine simulators, to be implemented using a functional programming language that emphasizes recursion and higher-order functions. As a semester project, students must research a new programming language and use it to write a nontrivial application.

CSC 335 Database System Concepts 3(3-0), F

Prerequisite: CSC 121 or CSC 125 or CSC 131. A study of modern database systems and their underlying concepts. Core topics include the relational model, SQL, database design theory, query processing, file structures, transactions, and concurrency. Programming projects provide practical experience in developing GUI database applications.

CSC 365 Internet Programming 3(3-0), S

Prerequisite: CSC 121 or CSC 125 or CSC 131. An introduction to paradigms and languages used in Internet and World Wide Web programming. These include modern tools for client-side and server-side programming and dynamic Web page generation. Advanced topics, such as security and XML, will be covered as time allows.

CSC 399 Cooperative Education in Computer Science 1-3, D

Prerequisite: permission of department head. The opportunity to earn academic credit in a planned learning process that integrates academic training with a supervised work experience. This is a variable content course that may be repeated to a total of 6 semester hours. Does not count toward any Computer Science minor.

CSC 421 Numerical Analysis I 3(3-0), D

Prerequisite: MTH 280. Recommended: CSC 125 or CSC 131. Solution of systems of linear and nonlinear equations, interpolation, integration, approximation, matrix computations. Problem solution will include the use of software. Identical with MTH 421. Cannot receive credit for both CSC 421 and MTH 421.

CSC 422 Numerical Analysis II 3(3-0), D

Prerequisite: MTH 303 and MTH 421. Solution of initial and boundary value problems in ordinary and partial differential equations, simulation, and optimization. Problem solution will include the use of software. Identical with MTH 422. Cannot receive credit for both CSC 422 and MTH 422.

CSC 423 Digital Simulation 3(3-0), D

Prerequisite: CSC 232 and either MTH 345 or MTH 540. The study of simulation techniques. Topics will include: probability distributions, statistical testing, random number generators, design of simulation experiments, language structures for simulation, and study of a simulation language.

CSC 425 Computer Graphics 3(3-0), F

Prerequisite: CSC 232 and either MTH 215 or MTH 315. Introduction to the hardware and software components of graphics systems. Development of algorithms for two-dimensional graphics including windowing, clipping, and transformations; algorithms for three dimensional graphics including viewing, transformations, and removal of hidden lines and surfaces. Data structures for graphics and interactive techniques will be stressed. May be taught concurrently with CSC 625. Cannot receive credit for both CSC 425 and CSC 625.

CSC 435 Data Mining 3(3-0), D

Prerequisite: CSC 232 or permission. This course studies the emerging technology of data mining—the automated extraction of patterns and information from data. The focus will be on understanding the algorithms underlying data mining and on the practical use of those algorithms. Students will use data mining software to analyze collections of data. May be taught concurrently with CSC 635. Cannot receive credit for both CSC 435 and CSC 635.

CSC 440 Introduction to Artificial Intelligence 3(3-0), S

Prerequisite: CSC 325. Techniques of artificial intelligence including study of expert systems, natural language processing, search strategies, computer vision and robotics. May be taught concurrently with CSC 640. Cannot receive credit for both CSC 440 and CSC 640.

CSC 445 Computer Speech, Music and Images 3(3-0), D

Prerequisite: CSC 232 or permission. This is an applied course focusing on the technical aspects of computer-based multimedia-speech, music, audio, and video. In any given semester, the focus may be more on audio or image processing, or it may be equally balanced between the two. Topics include multimedia data capture and representation, methods of data compression, multimedia information retrieval, and multimedia standards. May be taught concurrently with CSC 645. Cannot receive credit for both CSC 445 and CSC 645.

CSC 450 Introduction to Software Engineering 3(3-0), F,S

Prerequisite: CSC 325. Principles, techniques and tools used to effect the orderly production of medium and large scale computer programs will be studied. These techniques will be applied to programming projects with students working in teams and managing all phases of a programming project.

CSC 460 Theory of Computer Operating Systems 3(3-0), F,S

Prerequisite: CSC 285 and CSC 325. A study of the concepts and implementation techniques used on modern operating systems. Core topics include processes, threads, interprocess communication, deadlocks, memory management, file systems, I/O systems, security and distributed systems.

CSC 465 Computer Networks 3(3-0), F

Prerequisite: CSC 232. An introduction to the theory, concepts and techniques upon which modern computer networks and telecommunication systems are based. The emphasis will be on layered network architectures, the design frameworks for both local and wide area networks and communication protocols. May be taught concurrently with CSC 665. Cannot receive credit for both CSC 465 and CSC 665.

CSC 467 Wireless Networks 3(3-0), S

Prerequisite: CSC 465. An introduction to the fundamental theory, concepts and techniques of wireless communication, wireless networks, and wireless applications. Students will gain an understanding of the significance that wireless systems and user mobility have on the construction and handling of a data or telecommunications network. Topics include wireless and ad hoc networks, enabling technologies, multiplexing, protocol design, network security, and quality of service. May be taught concurrently with CSC 667. Students cannot receive credit for both CSC 467 and CSC 667.

CSC 482 Seminar in Computer Science 1(1-0), F,S

Prerequisite: CSC 333 and CSC 460 (or concurrent enrollment). Current trends and ethics in computer science with consideration given to future opportunities in the field. A written report and successful completion of the computer science assessment test will be required.

CSC 487 Computing for Bioinformatics 3(3-0), D

Prerequisite: any one of CSC 121, CSC 125, CSC 131, CSC 232, BMS 231, BIO 235, or CHM 350. This course focuses on computational techniques used in bioinformatics. Topics will include nucleotide and amino acid data representation, sequence alignment, coding sequence prediction, and use of statistical models. Students will learn to use bioinformatics libraries with a script language such as Python or Perl. May be taught concurrently with CSC 687. Cannot receive credit for both CSC 487 and CSC 687.

CSC 490 (397) Advanced Topics in Computer Science 1-4, D

Prerequisite: CSC 232. Variable content course with advanced topics that can change from semester to semester. Topics may be identified by title in the schedule of classes. The course may be repeated if a different topic is offered, however, no more than six credits may count toward any degree. May be taught concurrently with CSC 690. Cannot receive credit for both CSC 490 and CSC 690.

CSC 500 Hardware, Software, and Troubleshooting Personal Computers 3(2-2), D

An introduction to the installation, maintenance, troubleshooting, upgrading, simple repair, and management of personal computers found in educational settings. This course will provide numerous laboratory experiences providing hands-on experience with the goal of enabling students to support personal computer laboratories found in PK-12 schools. This course cannot be taken for credit toward a computer science major or minor.

CSC 505 Web-Based Resources in Educational Settings 2(2-0), D

An introduction to the design, implementation, and management of World Wide Web resources over the Internet and Intranet networks. Topics include Internet overview, web authoring, web programming, server setting and maintenance. The objective of the course is to know tools (HTML, JAVAscript, and JAVA applets, and Internet Server software, and Navigator/Internet Explorer software packages), and their applicability in WWW design and management in PK-12 school settings. This course cannot be taken for credit toward a computer science major or minor.

CSC 510 Networking and Telecommunications in Educational Settings 2(2-0), D

An introduction to networking and data communications from an educator's perspective. The course will examine the necessary computer hardware, software, and personnel resources relevant to networking and data communication requirements in various educational settings. Local Area Networks, Wide Area Networks, Network Interconnections, and the Internet will be addressed. This course cannot be taken for credit toward a computer science major or minor.

CSC 521 Compiler Construction 4(3-2), D

Prerequisite: CSC 333. Topics include lexical analysis, parsing, symbol tables, type checking, run-time organization, code generation, basic code optimization, and the use of compiler development tools. The student must write a complete compiler for a small imperative programming language.

CSC 526 Methods of Optimization 3(3-0), D

Prerequisite: CSC 421 or MTH 421;  and MTH 533. Convex sets, classical optimization of functions, constrained optimiution, search techniques, linear and nonlinear optimization, applications to applied problems.

CSC 596 Special Readings 1-3, F,S

Prerequisite: CSC 325 and permission of department head. Periodic conferences with an advisor are required. May be repeated to a total of 6 hours.

CSC 625 Computer Graphics 3(3-0), F

Prerequisite: CSC 232, and MTH 215 or MTH 315. An introduction to computer graphics, with an emphasis on application programming. Algorithms for two dimensional graphics, including windowing, clipping, and transformations; algorithms for three dimensional graphics, including viewing, transformations, and removal of hidden lines and surfaces. Data structures for graphics and interactive techniques will be stressed. May be taught concurrently with CSC 425; if so, students in CSC 625 will do additional work beyond that required for CSC 425. Cannot receive credit for both CSC 625 and CSC 425.

CSC 635 Data Mining 3(3-0), D

This course studies the emerging technology of data mining - the automated extraction of patterns and information from data. The focus will be on understanding the algorithms underlying data mining and on the practical use of those algorithms. Students will use data mining software to analyze collections of data. May be taught concurrently with CSC 435. Cannot receive credit for both CSC 635 and CSC 435.

CSC 640 Artificial Intelligence 3(3-0), S

Prerequisite: CSC 625 or permission. Techniques of artificial intelligence, including study of expert systems, natural language processing, search strategies, computer vision and robotics. May be taught concurrently with CSC 440; if so, students in CSC 640 will do additional work beyond that required for CSC 440. Cannot receive credit for both CSC 640 and CSC 440.

CSC 645 Computer Speech, Music and Images 3(3-0), D

This is an applied course focusing on the technical aspects of computer-based multimedia—speech, music, audio, and video. In any given semester, the focus may be more on audio or image processing, or it may be equally balanced between the two. Topics include multimedia data capture and representation, methods of data compression, multimedia information retrieval, and multimedia standards. May be taught concurrently with CSC 445. Cannot receive credit for both CSC 645 and CSC 445.

CSC 665 Computer Networks 3(3-0), F

Prerequisite: CSC 232. An introduction to the theory, concepts and techniques upon which modern computer networks and telecommunication systems are based. The emphasis will be on layered network architectures, the design frameworks for both local and wide area networks and communication protocols. May be taught concurrently with CSC 465; if so, students in CSC 665 will do additional work beyond that required for CSC 465. Cannot receive credit for both CSC 665 and CSC 465.

CSC 667 Wireless Networks 3(3-0), S

Prerequisite: CSC 465 or CSC 665. An introduction to the fundamental theory, concepts and techniques of wireless communication, wireless networks, and wireless applications. Students will gain an understanding of the significance that wireless systems and user mobility have on the construction and handling of a data or telecommunications network. Topics include wireless and ad hoc networks, enabling technologies, multiplexing, protocol design, network security, and quality of service. May be taught concurrently with CSC 467. Students cannot receive credit for both CSC 667 and CSC 467.

CSC 687 Computing for Bioinformatics 3(3-0), D

Prerequisite: any one of CSC 121, CSC 125, CSC 131, CSC 232, BMS 231, BIO 235, or CHM 350. This course focuses on computational techniques used in bioinformatics. Topics will include nucleotide and amino acid data representation, sequence alignment, coding sequence prediction, and use of statistical models. Students will learn to use bioinformatics libraries with a script language such as Python or Perl. May be taught concurrently with CSC 487; if so, students in CSC 687 will do additional work beyond that required for CSC 487. Cannot receive credit for both CSC 687 and CSC 487.

CSC 690 Advanced Topics in Computer Science 1-4, D

Detailed consideration of advanced topics in the field of Computer Science. Topics will change, and this course may be repeated with differing topics. May be taught concurrently with CSC 490. Cannot receive credit for both CSC 690 and CSC 490.

CSC 698 Research in Computer Science 1-4, F,S

Prerequisite: permission of department head. Supervised research in computer science. May be repeated, but no more than 6 hours may count toward the Master of Natural and Applied Science degree.

CSC 699 Thesis 1-6, D

Prerequisite: permission of instructor. Independent research and study connected with preparation of thesis. No more than 6 hours may count toward the Master of Natural and Applied Science degree.