Graduate Catalog | CSH | Anthropology | Biology | Chemistry | Criminal Justice & Criminology | Computer Science | English | Geography | Geological Sciences | History | Mathematical Sciences | Center for Medical Education | Modern Languages & Classics | Natural Resources & Enivronmental Management | Philosophy & REligious Studies |

Physics & Astronomy | Physiology & Health Science | Political Science | PsychologIcal Science | Social Work | Sociology | Speech Pathology & Audiology

 

 


COMPUTER SCIENCE


www.bsu.edu/cs

Robert P. Bell Building 455, 765-285-8641




PROGRAMS

 

The master of science (MS) degree is primarily for students with undergraduate degrees in computer science who plan to undertake further graduate study or apply computer science in a variety of fields. A minor in computer science is also offered.

      See the Science listing under the College of Sciences and Humanities, page 180, for the doctoral programs in science education and philosophy in environmental science.

 

Admission requirements

 

In addition to meeting the admission requirements of the Graduate School, applicants must have departmental approval for admission. Applicants must submit three letters of recommendation, a one-page statement of educational goals, and scores from the Graduate Record Examination (GRE). Students without an adequate computer science background will be required to take directed courses in which they earn an average grade of at least a B. No credit toward a degree will be granted for these courses.

 

MASTER OF SCIENCE IN COMPUTER SCIENCE

 

Required mathematics background courses (unless the student has credit in equivalent courses). No graduate credit given, but a GPA of at least 3.0 is to be maintained.

 

PREFIX   NO    SHORT TITLE     CR HRS

 

MATHS  161   Appl Calc 1 (3)

               162   Appl Calc 2 (3)

               217   Lin Algebra (4)

               221   Pbty Stats (3)

 

Required computer science
background courses (unless the
student has credit in equivalent
courses). No credit given toward the
degree, but a grade of at least a B is
to be earned in each course.

CS           120   Comp Sci 1              4

               121   Comp Sci 2              4

               124   Discr Struct              3

               230   Org Arch                  3

               324   Dsg Ana Algo          3

               335   Prog Lang                3

 

Thesis option

Required courses

CS           570   Thy Cmptn 1           3

               670   Thy Cmptn 2           3

               689   Res Methods            3

               690   Software Eng           3

THES      698   Thesis (1-6)             6

 

15 hours of electives (including at

least one 600-level course, other

than CS 699)

CS           527   Networks (3)

               530   System Prog (3)

               536   Database Dgn (3)

               538   Graphics (3)

               539   Curr Tpcs (3-6)

               545   Hum-Comp Int (3)

               555   Data Mining (3)

               556   Image Proc (3)

               557   Appl Cryptog (3)

               576   Op Systems (3)

               636   Adv Db Sys (3)

               638   Topics Graph (3)

               639   Seminar (3)

               642   Simulations (3)

               665   Ap Comp Geom (3)

               668   Graph Algo (3)

               675   Model Check (3)

               678   Compil Const (3)

               699   Read Honor (3)        

MATHS  562   Numer Anls 1 (3)

               563   Numer Anls 2 (3)    15

                                                    ———

                                                    33 hrs

 

Nonthesis option

Required courses

CS           570   Thy Cmptn 1           3

               670   Thy Cmptn 2           3

               689   Res Methods            3

               690   Software Eng           3

 

21 hours of electives (including at

least two 600-level courses, other

than CS 699)

CS           527   Networks (3)

               530   System Prog (3)

               536   Database Dgn (3)

               538   Graphics (3)

               539   Curr Tpcs (3-6)

               545   Hum-Comp Int (3)

               555   Data Mining (3)

               556   Image Proc (3)

               557   Appl Cryptog (3)

               576   Op Systems (3)

               636   Adv Db Sys (3)

               638   Topics Graph (3)

               639   Seminar (3)

               642   Simulations (3)

               665   Ap Comp Geom (3)

               668   Graph Algo (3)

               675   Model Check (3)

               678   Compil Const (3)

               699   Read Honor (3)

MATHS  562   Numer Anls 1 (3)

               563   Numer Anls 2 (3)    21

                                                    ———

                                                    33 hrs

 

MINOR IN COMPUTER SCIENCE

 

PREFIX   NO    SHORT TITLE     CR HRS

 

12 hours from

CS           527   Networks (3)

               530   System Prog (3)

               536   Database Dgn (3)

               538   Graphics (3)

               545   Hum-Comp Int (3)

               555   Data Mining (3)

               556   Image Proc (3)

               557   Appl Cryptog (3)

               570   Thy Cmptn 1 (3)

               576   Op Systems (3)

               636   Adv Db Sys (3)

               638   Topics Graph (3)

               639   Seminar (3)

               642   Simulations (3)

               665   Ap Comp Geom (3)

               668   Graph Algo (3)

               670   Thy Cmptn 2 (3)

               675   Model Check (3)

               678   Compil Const (3)

               689   Res Methods (3)

               690   Software Eng (3)

               699   Read Honor (3)

MATHS  562   Numer Anls 1 (3)

               563   Numer Anls 2 (3)    12

                                                    ———

                                                    12 hrs

 

DOCTOR OF EDUCATION (EdD and PhD) WITH MAJOR IN COMPUTER SCIENCE

 

EdD program in science education and PhD program in philosophy in environmental science with computer science as the major area is available. See the Science listing on page 180 under the College of Sciences and Humanities for details.

 

COGNATE IN THEORY OF COMPUTING

 

This cognate is aimed at the EdD in science candidate who already has the background course work in computer science that is required of all candidates entering the master of science degree program in computer science, as well as the relevant mathematical background prerequisites to the program.

 

Degree requirements

 

PREFIX   NO    SHORT TITLE     CR HRS

 

CS           570   Thy Cmptn 1           3

               668   Graph Algo              3

               670   Thy Cmptn 2           3

                                                    ———

                                                     9 hrs

 

Electives (choose two courses for

the 15-credit-hour cognate, or five

courses for the 24-hour cognate.)

CS           538   Graphics (3)

               555   Data Mining (3)

               557   Appl Cryptog (3)

               638   Topics Graph (3)

               639   Seminar (3)

               642   Simulations (3)

               665   Ap Comp Geom (3)

               675   Model Check (3)

               678   Compil Const (3)

               699   Read Honor (3)

MATHS  562   Numer Anls 1 (3)

               563   Numer Anls 2 (3)     

                                                    ———

                                                 6 or 15 hrs

Up to 9 hours of 500-level courses permitted on the 15-hour cognate; up to 12 hours of 500-level courses permitted on the 24-hour cognate.

A total of 9 hours of CS 699 may be earned for the 24-hour cognate and a total of 6 hours of CS 699 may be earned for the

15-hour cognate.

 

PRE-MASTERS OF COMPUTER SCIENCE CERTIFICATE

 

PREFIX   NO    SHORT TITLE     CR HRS

 

Required courses

CS           524   Dsg Ana Algo          3

               535   Prog Lang                3

               570   Thy Cmptn 1           3

Electives, 9 hours from

CS           527   Networks (3)

               530   System Prog (3)

               536   Database Dgn (3)

               538   Graphics (3)

               545   Hum-Comp Int (3)

               547   Net Security (3)

               555   Data Mining (3)

               556   Image Proc (3)

               576   Op Systems (3)        9

                                                    ———

                                                     18 hrs

 

COMPUTER SCIENCE (CS)

 

515 Game Programming. (3) An introduction to game programming. Topics include active and passive rendering, sprite animation, collision detection, audio playback, input devices, deployment, and applications of artificial intelligence.

      Prerequisite: CS 324.

      Not open to students who have credit in CS 315.

 

517 Introduction to Programming. (3) Software development using a high-level programming language (such as C++ or Java) for a wide range of information system applications. Structured programming, data types, functions, arrays, pointers, and recursion. Applications from areas of interest.

Not open to graduate majors in computer science.

 

524 Design and Analysis of Algorithms. (3) Topics include: analysis of algorithms; dynamic programming; probabilistic algorithms, examples of geometric, combinatorial and graph algorithms, pattern matching; introduction to NP-completeness. Hours do not apply to master's degree in computer science.

Prerequisite: CS 121 or equivalent and either MATHS 161 or 165 or equivalent.

 

527 Internetworking. (3) The hardware and software of computer networks and distributed processing. Develops the important design parameters and a general design methodology.

      Prerequisite: CS 324.

      Not open to students who have credit in CS 327.

 

530 System Programming. (3) Considers the computer system from the points of view of its architecture, operating system, and applications. Topics include processor organization, peripheral devices, I/O programming, system programs, monitor services, file organization, and real-time applications.

      Prerequisite: CS 230.

      Not open to students who have credit in CS 430.

 

535 Programming Languages. (3) Study of principles of programming languages. Emphasizes language paradigms and important features, structures, characteristics, and formal syntax of modern high-level programming languages. Examples of languages in each paradigm will be studied. Hours do not apply to master's degree in computer science.

Prerequisite: CS 230 or equivalent.

 

536 Database Design. (3) An introduction to database design, including physical representation, modeling, database systems, and implementation.

      Prerequisite: CS 324.

      Not open to students who have credit in CS 436.

 

538 Computer Graphics. (3) Methods of developing, modifying, and rendering graphics displays. Emphasizes the design and writing of graphics software for both two- and three-dimensional displays. Knowledge of a structured high-level language is required.

      Prerequisite: CS 324.

      Not open to students who have credit in CS 438.

 

539 Current Topics. (3) In-depth study of a topic taught in a seminar format. Topics will be posted in the department before registration.

      Prerequisite: CS 324, 335.

      A total of 9 hours of credit may be earned, but no more than 6 in any one semester or term.

 

545 Human-Computer Interaction. (3) Investigation into the principles and practice of user interface design, evaluation, and implementation. Topics include user-centered design, graphical user interface programming, evaluation methods, and software architectures.

      Prerequisite: CS 324.

 

547 Computer, Information, and Network Security. (3) Topics include encryption, decryption, protocols, viruses, network security, authentication, legal and ethical issues, and security in operating systems, databases, e-commerce, Internet, wireless. Algorithms, protocols, applications such as RSA, DES, SSL, Firewalls, Digital Signatures, and VPNs, and emerging topics will be explored.

      Prerequisite:  CS 121.

 

555 Data Mining. (3) Topics include data preprocessing, clustering analysis, data classification, mining association rules, data mining and database, complex data mining, Web mining, new application in data mining such as intrusion detection and bio-informatics.

      Prerequisite: CS 324.

      Not open to students who have credit in CS 455.

 

556 Image Processing. (3) Project based, dealing with basic principles of digital image processing and computer vision. Topics: digital image formats, geometric operations on digital images, filtering, histogramming, binarization of grayscale images, labeling binary images, perimeter and area determination, thinning operations, object recognition using global features, edge detection processes, and other topics as time permits.

      Prerequisite: CS 324.

 

557 Applied Cryptography. (3) Introduction of basic principles and application of cryptography. Topics include encryption, decryption, private and public key systems, and their mathematical foundation: divisibility and Euclidean algorithms, arithmetic of congruences, and large prime numbers. Projects are implementations of related algorithms. LISP and JAVA are recommended languages.

      Prerequisite: CS 324.

 

570 Theory of Computation 1. (3) Mathematical logic; alphabets and languages; finite automata, regular and nonregular languages, and Kleene’s theorem; regular grammars; pushdown automata and context-free grammars; Turing and Post machines; recursive and recursively enumerable languages; the Chomsky Hierarchy.

Prerequisite: CS 324 or permission of the instructor.

Not open to students who have credit in CS 470.

 

576 Operating Systems. (3) Investigate the functions and structure of computer operating systems, processors, and memory. Topics include process control, concurrency, scheduling, security, and file systems. Introduces topics in systems programming, including I/O programming, signals, and IPC.

      Prerequisite: CS 230, 324.

      Not open to students who have credit in CS 376.

 

597 Multitier Web Architectures. (3) Topics include n-tier architectures, data access and application logic layers, Web services, scalability, advanced XML, service-oriented architectures, object access protocols, and Web site administration and security. Projects will be used to reinforce concepts.

      Prerequisite: CS 324.

      Not open to students who have credit in CS 397.

 

614 (514) Web Programming. (3) Technical foundations for rich, interactive Web sites and current topics in Web programming. Client and server side Web programming to enable Web 2.0 applications.

      Open only to non computer science graduate students.

 

616 (516) Digital Animation. (3) Introduces tools and skills needed to create digital animations. Students work with different development environments, techniques, interface designs, and audio/visual sequences.

      Open only to non computer science graduate students.

 

629 Special Topics. (1-6) Special topics in computer science for non-CS graduate students. Topics will be posted by the department prior to registration.

      A total of 6 hours of credit may be earned, but no more than 3 in any one semester or term.

 

636 Advanced Database Systems. (3) Topics include knowledge representation and ontology concepts, object database concepts, database security and authorization, distributed databases, client-server architectures, Internet databases, and emerging database technologies and applications. Programming of both database techniques and application servers is based on current technologies such as ORACLE.

      Prerequisite: CS 536.

 

638 Advanced Topics in Computer Graphics. (3) Topics will be chosen from current research areas in computer graphics and from advanced topics in classical computer graphics. Possible topics include fractals, ray tracing, animation techniques, and geometric modeling.

      Prerequisite: CS 538.

 

639 Seminar in Computer Science. (3) Readings and conferences assigned in some particular problem or group of problems in computer science.

      Prerequisite: CS 324, 335.

 

642 Simulation Techniques. (3) An introduction to the principles and applications of simulation. Use of higher-level languages and simulation languages as applied to system studies. Use of examples from different subjects to carry out simulation. 

      Prerequisite: CS 121; MATHS 221.

 

665 Applied Computational Geometry. (3) Topics such as algorithms for polygon triangulation, polygon partitioning and their applications, convex hulls in two and three dimensions and their applications, Voronoi diagrams and their applications, search and intersection algorithms, robot motion planning, and implementation of algorithms.

Prerequisite: CS 324 or permission of the instructor.

 

668 Graphs, Algorithms, and Applications. (3) Concepts of graph theory. Algorithms for graph traversal, shortest paths, connectivity, spanning trees, and matchings. Applications of graphs to computer programming, software engineering, VLSI design, networks and flows, and parallel programming.

Prerequisite: CS 324 or permission of the instructor.

 

670 Theory of Computation 2. (3) Computability and decidability; introduction to the theory of computational complexity; the classes sP and NP; NP-completeness; examples of some NP-complete problems; nondeterminism and parallel computation; proving the correctness of programs.

Prerequisite: CS 570.

 

675 Model Checking. (3) Overview of formal verification techniques in software engineering; system modeling with automata; temporal logics; algorithms and techniques of model checking; study and use of model checkers such as SPIN; applications of model checking to critical systems in industry.

      Prerequisite: CS 324, 335.

 

678 Compiler Construction. (3) Review of context-free grammars and basic parsing concept, compiler organization, and construction of components for a compiler.

      Prerequisite: CS 570.

 

689 Research Methods. (3) Discussions on research areas in computer science, scientific methods of research, and dissemination of research. Requirements include presentations and written reports that demonstrate proficiency in presentation tools and techniques, statistical and experimental design techniques, and library and literature searches.

      Prerequisite: 6 hours of CS graduate courses.

 

690 (697) Software Engineering. (3) Software engineering principles and concepts. The software life cycle, structured specifications, design tools and

techniques, software reliability, and verifying program correctness.

      Prerequisite: CS 324 and 3 computer science graduate courses or permission of the instructor.

      Not open to students who have credit in CS 495.

 

691 Software Requirements and Design. (3) Methods, tools, and notations for requirements capture, analysis and design. Unified Modeling Language (UML), logic and algebraic specification, prototyping, use cases, domain modeling, software architecture, design patterns, refactoring, software reuse.

      Prerequisite: CS 690.

692 Software Verification and Validation. (3) Concepts and techniques for testing software; unit, integration, system, and regression testing; test coverage, test case generation, tools for automated testing. Verification of nonfunctional properties.

      Prerequisite: CS  690.

 

699 Reading and Honors. (3) Special advanced work not offered in other courses. Requirements include a final written report and a presentation in the departmental colloquium series.

      Prerequisite: CS 324, 335; permission of the department chairperson.

      A total of 6 hours of credit may be earned, but no more than 3 in any one semester or term.

      A total of 12 hours of combined CS 539, 639, and 699 credit may be earned.