All students must take 6 units of thesis or project work.
CS 600 Principles of Media Arts and Computer Science (3)
CS 610 Synthesis of Media Arts and Computer Science (3)
CS 620 Multimedia Project Development (3)
CS 697 Field Project (6)
CS 699 Thesis (6)
Required core: 15 credit hours
With completion of these courses, students begin the process of integrating their special interests with the commitment to maintain an interdisciplinary, collaborative attitude. Students are expected to develop a focused program of study in conjunction with an adviser. They are encouraged to be innovative in the development of their focus.
Electives: 21 credit hours
Choose 21 credit hours (seven courses, from any approved graduate-level courses in computer science, mathematics, or media arts. Students may be able to add courses from psychology, education, art, music, or other disciplines, depending on interests. Students working towards a master of science degree must choose courses from computer science, mathematics, or a discipline offering a master of science degree.
Program Total: 36 credit hours
Computer Science (CS), Courses in
CS 511. Computer Programming for Educators (3); Fa, Sp
This is an in-depth study of the BASIC and LOGO programming languages, two of the most popular computer programming languages for use in the educational environment. This course will have a strong pedagogic component, and all students will develop lesson plans for teaching computer programming in the secondary school.
CS 512. Scripting Languages (3); 2, 2 Fa, Sp
This course is an introduction to high-level scripting languages. This course uses script programming to teach the basic ideas of programming and to introduce the object-oriented paradigm. It does not, however, teach the complexities of a standard third-generation language. It is meant as an introduction for students who wish to understand programming principles without learning the details.
CS 514. The C++ Programming Language (3); 2, 3 Fa, Sp
This course is an in-depth study of the C++ programming language. The significant features of the language will be discussed with special emphasis on those that relate to object-oriented programming.
CS 515. JAVA Programming (3); 2, 2 Fa
This course is an introduction to object-oriented programming language. Numerous programs will be written to exercise the material covered. Prerequisite: Permission of instructor.
CS 516. Advanced Computer Programming with Data Structures (3); 2, 3 Sp
This course explores the principles of software engineering, including debugging and testing, string processing, internal searching and sorting, simple data structures, recursion, and object-oriented programming. In addition, students explore how to best teach the material. Prerequisite: CS 514 with a C or better or permission of instructor.
CS 518. Multimedia Programming (3); 2, 2 Fa, Sp
This course is an introduction to programming multimedia applications. Numerous programs will be written to exercise the material covered. Prerequisite: Programming experience and permission of instructor.
CS 521. Advanced Data Structures and Algorithm Development (3); Fa, Sp
This course is an investigation of computer data structures with an emphasis on the design and development of efficient algorithms for solving a wide variety of common computing problems. The course also covers the analysis and measurement of the performance of algorithms. Prerequisite: Grades of at least C in CS 345, CS 350, and MATH 317.
CS 525. Computer Hardware Installation and Maintenance (1); 0, 2 Fa, Sp
This course is a practical investigation of the processes involved in the installation and debugging of complex computer hardware systems including disk controllers, sounds and graphic boards, communication hardware, and various peripherals. Students will work on their own and in teams to build computer systems.
CS 526. Computer Software Installation and Maintenance (1); 0, 2 Fa, Sp
This course is a practical investigation of the processes involved in the installation of complex computer software, including operating systems, communication packages, and Windows®-based programs. Students will work on their own and in teams to both prepare computers for installation and actually install a wide range of computer software. Prerequisite: CS 525 or permission of instructor.
CS 527. UNIX and Systems Administration (1); 0, 2 Fa, Sp
This course is a hands-on introduction to the UNIX operating system with an emphasis on system administration and networking. Prerequisite: Graduate standing and knowledge of at least one other operating system.
CS 528. C and UNIX (3); 3, 0 Fa, Sp
This course explores C programming language and system programming on UNIX and LINUX™ operating systems. Prerequisite: CS 527 or permission of instructor.
CS 531. Database Management (3); 3, 0 Fa, Sp
This course explores the development of the major types of database systems, providing the framework for some experience with at least one database model. Assignments will include accessing, updating, and organizing a database. The use of a relational model will be emphasized along with various database inquiry systems, including natural language-like systems. Prerequisite: CS 516 with a minimum grade of C or permission of instructor.
CS 532. Advanced Database Management (3); Fa, Sp
This course is an investigation into advanced topics in information management and retrieval. The focus of the course may change from year to year. Some example topics that may be taught include multimedia databases, building digital libraries, relational or object oriented implementation, building database-driven websites, text and image information retrieval, and data mining. Students will be expected to read and report on research literature related to the course topic. Prerequisite: Permission of instructor.
CS 535. Selected Topics in Computer Science (1 – 4 VC); Fa, Sp
Course in a topic or topics in computer science. May be repeated with change of content.
CS 536. Human-Computer Interaction (3); 3, 0 Fa, Sp
This course investigates theory and practice in human-computer interaction. Students will study the impact of human perception and cognition on user interface design and learn to use tools for building graphical user interface (GUIs) and speech interfaces. In addition, each student will design and implement a user interface. Prerequisite: CS 516 with a minimum grade of C or permission of instructor.
CS 542. Computer Systems Architecture (3); 3, 0 Fa, Sp
This course acquaints the student with the way a computer works internally. Topics to be covered include basic logic design, data coding, parity generation and detection, number representation and arithmetic, and computer architecture. Prerequisites: CS 341 and CS 516 with a minimum grade of C or permission of instructor.
CS 543. Operating Systems (3); Fa, Sp
This course is a study of the concepts associated with the modern operating system. Topics will include supervisors, command processors, device drivers, interrupt handlers, queue managers, resource managers, memory allocation schemes, process activation and control, and timesharing or multitask control. Prerequisite: CS 341.
CS 551. Software Engineering (3); Fa, Sp
This course is a study of the concepts and techniques of software engineering. Emphasis will be object-oriented design principles, the integration of systems analysis methodologies into software engineering, and topics such as formal specifications and proof of program correctness. Prerequisite: CS 350.
CS 555. Computer Graphics (3); Fa, Sp
This course provides an introduction to the applications and basic techniques involved in the general field of computer graphics. The course will be a combination of surveying the different hardware and software used in graphic systems and of implementing some basic graphic algorithms. Students will have access to SGI hardware and software. Prerequisite: CS 516, MATH 331 or permission of instructor.
CS 556. Internet Services (3); 2, 2 Fa, Sp
This course is an introduction to telecommunications and the Internet. This course introduces the use of Internet for both research and problem solving. Students will be expected to develop tools for enhancing and accessing the Internet.
CS 557. Computer Networks (3); Fa, Sp
This course is a study of the major concepts of computer networks and data communications. Topics discussed will include data communication networking, computer communications architectures and protocols as well as applications including local area networks (LAN) and wide area networks (WAN). Cross-listed as: MIS 520.
CS 558. Network Management (3); Fa, Sp
This course explores the application of networking concepts related to the management of LANs. Includes topics related to repair, setup, management and maintenance of LANs. Prerequisite: CS 557, MIS 520 or experience with computer networks, with permission of instructor.
CS 59. Network Security (3); Fa, Sp
This course addresses security issues for TCP/IP-based and NT networks, access control and communications security. Prerequisite: CS 557, MIS 520, or permission of instructor.
CS 561. Programming Languages (3); Fa, Sp
This course is a comparative study of programming languages and their features. The course develops an understanding of the organization of programming languages, especially the run-time behavior of programs. Students will gain experience with a variety of languages. Prerequisite: CS 245 and one other programming language course.
CS 562. Compiler Design (3); Fa, Sp
This course is a formal treatment of programming language interpreter, translator, and compiler design concepts. Topics include lexical analysis, parsing, code generation, and code optimization. Emphasis will be on the theoretical aspects of parsing context-free languages, translation specifications, and machine-independent code improvement. Programming projects that demonstrate various concepts will be assigned. Prerequisite: CS 561.
CS 563. Web Programming (3); 2, 2 Fa, Sp
This course is an introduction to programming on the Internet. Prerequisite: Permission of instructor.
CS 564. Network Programming (3); Fa, Sp
This course extends the students’ knowledge and practice in analysis, design, and programming of computer networks. Prerequisites: CS 245 and CS 528.
CS 571. Artificial Intelligence (3); Fa, Sp
This course is a general introduction to the theories and problems involved in the development of computer-based intelligence systems with specific emphasis on knowledge representation and search. The focus will be on artificial intelligence research that provides information for the understanding of human intelligence and on application research in areas such as expert systems, natural language systems, and intelligent computer-aided instruction.
CS 572. Cognitive Science (3); Fa, Sp
This course is an interdisciplinary investigation of the foundations of human knowledge representation and understanding, the functioning of the human mind, and how these impact on recent computer technologies. Cross-listed as: PSY 572 and Phil 572.
CS 573. Artificial Neural Networks (3); Fa, Sp
This course examines basic neurobiology, neural networks, single neuron models, single-layer perceptrons, multi-layer perceptrons, radial basis function networks; committee machines; Kohonen networks, and applications of neural networks. Prerequisites: CS 245 and MATH 273
CS 574. Machine Learning Algorithms (3); Fa, Sp
This course studies different machine learning techniques/paradigms, including decision trees, neural networks, genetic algorithms, Bayesian leaning, rule learning, and reinforcement learning. The applications of these techniques to problems in data analysis, knowledge discovery and data mining are discussed. Prerequisites: CS 245, MATH 320, MATH 345 (Stat) recommended.
CS 575. Image Processing (3); Fa, Sp
The course provides mathematical foundations and practical techniques for digital manipulation of images such as preprocessing, segmentation, Fourier domain processing, and compression. Prerequisites: CS 245 and MATH 320.
CS 576. Animation and Visualization (3); Fa, Sp
Computer-based graphical representations, or visualizations, or scientific processes and phenomena have become commonplace in scientific communities. For example, geologists like to visualize plate tectonics; meteorologists like to visualize weather systems; and computer scientists like to visualize algorithms. After briefly surveying the use of visualization in scientific communities, this course pursues an in-depth investigation of its theoretical underpinnings, from the three diverse perspectives: the cognitive perspective, the social perspective, and the cultural perspective. Prerequisites: CS 245, MATH 320.
CS 577. Parallel and Distributed Programming (3); Fa, Sp
This course introduces algorithms and techniques for programming highly parallel computers. Topics covered include trends in parallel and distributed computing; shared address space and message passing architectures; design issues for parallel algorithms; converting sequential algorithms into equivalent parallel algorithms; synchronization and data sharing; improving performance of parallel algorithms; interconnection network topologies, routing, and flow control; and latency limits on speedup of algorithms by parallel implementations. Design, coding, performance analysis, debugging and other aspects of parallel algorithm development will be covered. Prerequisites: CS 245 and CS 421.
CS 590. Independent Study (1 – 4 VC); Fa, Sp
Independent study arranged with an instructor. Prerequisite: Permission of instructor.
CS 592. Independent Research (1 – 4 VC); Fa, Sp
Independent research arranged with an instructor. Prerequisite: Permission of instructor.
CS 600. Principles of Media Arts and Computer Science (3); Fa
This course is an interdisciplinary investigation of the terminology, roots, assumptions and principles that underlie the merging disciplines of computer science, mass communications, and design studies. Cross-listed as: MART 600.
CS 610. Synthesis of Media Arts and Computer Science (3); Sp
This course is an interdisciplinary synthesis of the principles that underlie the merging disciplines of computer science, mass communications, and design studies. Cross-listed as: MART 610.
CS 620. Multimedia Project Development (3); Fa
This course is a study of the processes, techniques, and tools used in the development of sophisticated multimedia-based projects. The course focuses on both the theoretical and practical aspects of multimedia design and programming. A key component of the course is the completion of a project that combines the various tools and techniques discussed in the course. The course will also involve student presentations on the research related to their thesis or project. Prerequisites: CS or MART 600 or 610.
CS 635. Selected Topics in Computer Science (3); Fa, Sp
Course in a topic or topics in computer science. May be repeated with change of content. Prerequisite: CS 535 in the same topic area.
CS 650. Seminar: Project Development (1); Fa, Sp
This course is a seminar that focuses on the process of writing a thesis or project with specific emphasis on literature search. Students will propose a topic and develop an annotated bibliography using as many different search modalities as possible. Cross-listed as: MART 650.
CS 651. Seminar: Literature Review and Methodology (1); Fa, Sp
This course is a seminar that focuses on the process of developing a formal thesis/project proposal as well as writing the first and second chapters of a thesis or project. Prerequisite: CS 650. Cross-listed as: MART 651.
CS 652. Seminar: Interdisciplinary Reports (1); Fa, Sp
This course is the presentations by students of their process on their thesis or project. The focus will be on interdisciplinary presentations that allow students from one discipline to understand a subject from another discipline and on the development of collaborative efforts. Prerequisite: CS 651. Cross-listed as: MART 652.
CS 697. Field Project (1 –6 VC); Fa, Sp
Individual field research and writing in preparation of a graduate field project (equivalent to a thesis). Prerequisite: Permission of instructor.
CS 699. Thesis (1 –6 VC); Fa, Sp
Individual research and writing in preparation of a graduate thesis. Prerequisite: Permission of instructor.
Mathematics (MATH), Courses in
MATH 501. Discrete Chaos and Fractals (3); Fa, Sp
This course is an introduction to fractal geometry and discrete dynamics in one dimension. Topics include stability of one-dimensional maps, periodic points, bifurcations, period three orbis, Sharkovsky’s theorem, Schwarzian derivative, chaos in one, metric spaces, transitivity, conjugacy, fractals, fractal dimension, Julia and Mandelbrot sets. Prerequisite: MATH 317 and MATH 275 with a minimum grade of C or permissions of instructor.
MATH 502. Discrete Dynamical Systems and Chaos (3); Fa, Sp
This course is a continuation of MATH 401 in higher dimensions. Topics include discrete linear dynamical systems, orbits, stability, spectral decomposition theorem, affine systems, nonlinear dynamical systems, bounded invariance, global stability of fixed points, sinks, repellers and saddles, bifuraction, attractors, Li-Yorke chaos, hyperbolic Anosov toral automorphism, and more on fractal dimension. Prerequisite: MATH 320 and MATH 501 with a minimum grade of C.
MATH 504. Intro to Numerical Analysis (3); Fa, Sp
This course is an introduction to numerical methods for determining the roots of nonlinear equations, numerical interpolation and integration, and numerical methods for approximating solutions to ordinary differential equations. Prerequisite: MATH 320, and MATH 325 and permission of instructor.
MATH 506. College Geometry (4); 3, 2 Fa, Sp
This course is a rigorous treatment of the elements of Euclidena geometry and hyperbolic geometry. Prerequisite: MATH 317 with a grade of C or better, or permission of instructor.
MATH 507. Mathematical Models (3); Fa, Sp
This course is an overview of model construction with many different examples. The course includes differential equations, Markov chains, linear programming, zero sum games, graphs, and queues, with computer simulations of some of the above. Prerequisite: MATH 320 and MATH 325 with a grade of C or better.
MATH 510. Optimization Techniques (3); Fa, Sp
This course is a study of unconstrained and constrained optimization computational algorithms. Prerequisite: MATH 320 and MATH 343 with a C or better.
MATH 515. Intro to Cryptography (3); Fa, Sp
This is an introductory course on the mathematics of cryptography. Topics include column transposition, monoalphabetic and polyalphabetic ciphers, the one-time pad, the Hill cipher, and cipher machines. Prerequisite: MATH 317 with a grade of C or better.
MATH 517. Mathematical Statistics II (3); Fa, Sp
This course is a continuation of MATH 345 covering the topics of contingency tables, multiple regression, analysis of variance, and other special topics in mathematical statistics including multivariate topics. Prerequisite: MATH 345 with a C or better.
MATH 519. Modern Methods of Cryptography (3); Fa, Sp
This course is a study of modern methods of cryptography and their applications. Topics include the Data Encryption Standard, the RSA public-key cryptosystem, digital signatures, and quantum cryptography. Prerequisite: MATH 515 with a grade of C or better.
MATH 525. Introduction to Real Analysis (3); Fa, Sp
This course gives students a solid background in theoretical graduate analysis, stressing the theory and deeper understanding of calculus. Students are introduced to proofs that motivate them toward clear thought and understanding of limits, continuity, differentiation, and series. This provides a rigorous training in mathematical thinking. Prerequisites: MATH 301, MATH 320, and MATH 273 with a minimum grade of C.
MATH 526. Intro to Complex Variable (3); Fa, Sp
This course is an introduction to the properties of analytic functions. Topics include mappings, limits, continuity, differentiation, Cauchy-Riemann equations, harmonic functions and branch points, definite integrals and the Cauchy-Goursat theorem, Cauchy integral formula, maximum modulus theorem, Liouville’s theorem, fundamental theorem of algebra, Taylor and Laurent series, residues and poles, analytic continuation and Poisson integral. Prerequisite: MATH 525 with a minimum grade of C.
MATH 532. Abstract Algebra (3); Fa, Sp
Topics from groups, rings, and field theory. Prerequisite: MATH 313 and MATH 331.
MATH 535. Selected Topic in Mathematics (1 –4 VC); Fa, Sp
Course in a topic or topics in mathematics. May be repeated with change of content.
MATH 544. Matrix Theory with Applications (3); Fa, Sp
This course is a study of advanced topics in linear algebra and the theory of matrices with emphasis on computer-based applications. Topics include eigenvalues, eigenvectors, similarity, characteristic and minimal polynomials, diagonalizable matrices, and symmetric matrices, Jordan canonical form, vector and matrix norms, spectral radius, stable matrices, functions of matrices, nonnegative matrices and Perron-Frobenius theory, differential equations, stability, location of eigenvalues, Rayleigh quotient and Gersgorin’s theorem, matric polynomials, solvents and analytic matrix functions. Prerequisite: MATH 317, MATH 320 and MATH 325 with a minimum grade of C.
MATH 550. Seminar in Mathematics (1 –4 VC); Fa, Sp
Seminar course in a topic or topics in mathematics.
MATH 560. Applied Multivariate Statistics I (3); Fa, Sp
This course is an introductory matrix analysis for statistics, multivariate distributions, multiple regression, multiple analysis of variance and covariance, principal component analysis, and canonical correlations. Prerequisite: MATH 320. A continuation of MATH 560, including discriminant analysis, factor analysis, categorical techniques, distance concepts, and cluster analysis. Prerequisite: MATH 560.
MATH 590. Independent Study (1 –4 VC); Fa, Sp
Independent study arranged with an instructor. Prerequisite: Permission of instructor.
MATH 592. Independent Research (1 –4 VC); Fa, Sp
Individual, directed research arranged with an instructor. Prerequisite: Permission of instructor.
This degree is under the College of Arts and Sciences