COMPUTER SCIENCE AND
SYSTEMS ANALYSIS
(CSA-Engineering and Applied Science)
464/564 Algorithms (3)
Review of basic data structures and algorithms. Analysis of algorithms. Problem assessment and algorithm design techniques. Algorithm implementation considerations. Concept of NP-completeness. Analysis of algorithms selected from topics relevant to computer science and software engineering (sorting, searching, string processing, graph theory, parallel algorithms, NP-complete problems, etc.) Prerequisite: MTH 231 or discrete math and CSA 274 or equivalent.
465/565 Comparative Programming Languages (3)
Survey of programming languages and their accompanying paradigms. Basic principles of syntax, semantics, implementation, and pragmatics are addressed. The survey will include representatives from the families of imperative languages, functional languages, logic languages, and hybrid languages. Formal methods of definition and specification are introduced. Prerequisite: CSA 274 or equivalent.
471/571 Simulation (3)
Use of digital computer program to simulate operating characteristics of stochastic dynamic system. Topics: problems encountered in construction of simulation programs, random number generation, random variate sampling, programming in simulation compiler languages, problems in design of successful simulation investigations, design of simulation experiments, interpretations of simulated output, and verification and validation. Case studies and projects used. Prerequisite: Probablility and statistics, CSA 174 or equivalent, and CSA 372 or equivalent.
472/572 Software Engineering (3)
Study of all phases of the systems development life cycle. Topics covered are project identification and justification, requirements analysis techniques, data modeling, process modeling, systems design and specification techniques, prototyping, systems architecture alternatives, hardware selection, software design and construction. Several different approaches to systems development are studied. CASE tools that support the current systems development life cycle are utilized. Object oriented analysis and design concepts introduced. Emphasis on the application of concepts to a systems development team project. Prerequisite: CSA 385 or equivalent.
473/573 Automata, Formal Languages, and Computability (3)
Regular expressions. Closure properties. Sequential machines and finite state transducers. State minimization. Chomsky hierarchy grammars, pushdown acceptors and linear bounded automata. Closure properties of algorithms on grammars. Turing machine as acceptor and transducer. Universal machine. Computable and noncomputable functions. Halting problem. Prerequisite: CSA 274 or equivalent and MTH 231 or discrete math.
474/574 Compiler Design (3)
Examination of the nature of programming languages and programs which implement them. Compiler and interpreter design and implementation techniques. Review of grammars and languages (context free, context sensitive, regular). Design of interactive interfaces. Parsing of context free languages. Lexical analysis. Semantic analysis and code optimization. Prerequisite: CSA 274 or equivalent.
475/575 Software Systems Project (3)
Deals with the design, implementation, testing, and installation into production of a software system. The system to be developed will be identified and specified by students in other courses or will be provided by the instructor. Addresses the application of the senior students’ knowledge to perform a major open-ended design and implementation project. Students work in project teams that utilize their varied experience, learning styles and skills, and knowledge to achieve a successful software product. Elements of the design and implementation process are considered: establishment of objectives, synthesis, analysis, solution development, testing and evaluation. Students consider real-world constraints, such as economical and societal factors, security, privacy, aesthetics, and ethics. Prerequisite: CSA 472 or 572.
480/580 Special Problems (1-4; maximum 12)
Special systems problems decided by students in consultation with instructor. For students in departmental or university honors program. Prerequisite: permission of department chair prior to registration.
483/583 Statistical Forecasting (3)
Introduction to quantitative prediction techniques using historical time series. Involves extensive use of interactive computing facilities in developing forecasting models and considers problems in design and updating of computerized forecasting systems. Prerequisite: STA 401 or 462. Cross-listed with STA 483/583. Credit not awarded for both this course and DSC 444.
484/584 Manufacturing Planning Systems (3)
Introduction to quantitative techniques for analyzing manufacturing systems. Applies modeling and design tools used in previous courses to analyze manufacturing and production problems and design computerized manufacturing systems. Prerequisite: STA 301 or 368.
485/585 Advanced Database Systems (3)
Relational calculus. Query processing and optimization. Transaction processing: failure, recovery, and concurrency. Database security. Logic-based systems. Parallel, distributed, and client/server systems. Object-oriented database systems. Emerging database technologies. Prerequisite: CSA 385 or equivalent.
486/586 Introduction to Artificial Intelligence (3)
Basic concepts of artificial intelligence (AI) including problem solving, search knowledge representation, and rule-based systems covered with symbolic AI language such as PROLOG or LISP. Application areas (natural language understanding, pattern recognition, learning and expert systems) are explored. Prerequisite: CSA 274 or equivalent.
600 Independent Study (1-3)
Special problems in computer science, computer information systems, or operations research requiring reading and research, decided in consultation with the instructor and the student’s graduate adviser. Does not apply toward fulfillment of the requirements of the graduate program. Credit/no-credit only. Prerequisite: permission of instructor and department chair.
603 Computer Programming (4)
Introduction to the design and implementation of computer software. Algorithm development, refinement, and problem solving approaches. Introduction to fundamental algorithms and data structures such as lists, sets, stacks, queues. Prerequisite: Graduate standing in the Certificate in Software Development Program or permission of the instructor. 3 Lec. 1 Lab.
604 Computer Architecture (3)
Principles of Von Neumann computer architecture. Data representation and computer arithmetic. Memory hierarchy. CPU structure and instruction sets. Assembly language programming to better understand and illustrate computer architecture concepts. Performance considerations and alternative computer architectures. Prerequisite: CSA 271 or equivalent.
606 Data Structures (4)
Abstract data types and their implementation as data structures using object-oriented programming. Lists, stacks, queues, tables, trees, and graphs. Recursion, sorting, searching, and algorithm complexity. Three credit hours lecture, one credit hour lab. Prerequisite: CSA 603 and 607, or permission of instructor.
607 Introduction to Database Systems with Its Mathematical Foundations (3)
Discrete math topics relevant to this course including set theory, propositional calculus, first order logic, functions, relations, and equivalence relations, overview of database management, database system architecture and database modeling principles. Logical database design. The relational database model, relational integrity constraints, and relational algebra. Relational commercial database management systems and languages. Interactive database processing, view processing, and database application programming. Database integrity. Relational database design by normalization. Prerequistie: Graduate standing in the Certificate in Software Development program, or permission of instructor.
608 Computer Networks (3)
Introduction to data communications, computer networks, protocols, and distributed processing as well as relevant standards and underlying theory. Topics include network types, communication protocols, transmission methods and error detection. The course emphasizes internet technologies. Prerequisite: CSA 603.
610 Seminar in Systems Analysis (1-3)
Seminar topics in computer science, computer information systems, or operations research. Does not apply toward fulfillment of the requirements of the Master of Systems Analysis. Credit/no-credit only. Prerequisite: permission of instructor.
611 Seminar in the Teaching of Systems Analysis (1)
Required of all newly appointed graduate teaching assistants, this seminar deals with the practical problems encountered in teaching microcomputer applications or introductory systems analysis classes. Does not apply toward fulfillment of the requirements of the graduate program. Credit/nocredit only. Prerequisite: teaching responsibilities in computer science and systems analysis.
615 Mathematical Modeling (3)
Use of deterministic and stochastic mathematical models to study and optimize systems. This course includes an introduction to mathematical modeling and the study of linear programming, network models, Markov processes and queuing theory. Students will use computer software for model construction and problem solving. Prerequisites: credit in calculus, probability, statistics, or permission of instructor.
617 Advanced Networks (3)
Study of advanced networking techniques, client/ server programming, and distributed processing. Critical analysis of these areas develops as students learn the strengths and weaknesses of these technologies through assigned programming projects. Prerequisite: CSA 608 or equivalent.
618 Graphics for Simulation and Virtual Environments (3)
Study of hardware, software, and algorithms used in computer graphics. Instruction emphasizes the use of a scene graph-based API. Topics will include lighting, blending, texture mapping, non real-time rendering techniques such as radiosity and ray tracing. Prerequisite: CSA 606 or equivalent.
621 Advanced Software Engineering (3)
Analysis of current topics in software engineering. Government and industry standards in software quality assurance. Measuring quality (software metrics). Human factors. Man/machine interface design and alternatives. Analysis and specification tools including automated tools. Specification languages. Advanced design methodologies. Programming environments. Program proof of correctness. Time and space algorithm analysis. Testing and validation issues. Program and application generators. Emerging hardware and software technologies. Prerequisite: CSA 472/572.
624 Expert Systems (3)
Expert Systems architecture, knowledge representation, and inference techniques. Provides a combination of both theory and practice in expert systems. An Expert Systems tool is used to implement an expert system. Prerequisite: CSA 274 or 606.
626 Informational Retrieval Systems (3)
Introduction to information storage and retrieval (IR). Indexing, clustering, signature generation. Retrieval approaches: inverted files, cluster-based retrieval, signature files, hypertext, and multimedia systems. Special hardware for IR. Web-based IR and information filtering. Prerequisite: CSA 606 or equivalent.
627 Machine Learning (3)
Concepts and algorithms of machine learning including version-spaces, decision trees, instance-based learning, networks, evolutionary computation, Bayesian learning and reinforcement learning. Prerequisite: CSA 606 or equivalent.
628 Advanced Simulation (3)
Advanced simulation topics such as heuristic optimization techniques for simulation and distributed simulation as well as classical techniques such as experimental design, variance reduction, and comparison of alternative designs. Students will embed some of these techniques in an object-oriented simulation program. The effectiveness of these techniques will be investigated in complex simulation models such as queuing networks. Prerequisite: CSA 471/571.
690 Graduate Research (3)
Research problems in computer science, computer information systems, or operations research, decided upon in consultation with the instructor and student’s graduate adviser. Requires a public presentation of completed work. For grade only. Prerequisite: permission of instructor, student’s graduate adviser, and graduate director.
700 Research for Master’s Thesis (1-10; maximum 10)
Study under graduate faculty supervision of a research problem related to computer science, computer information system, or operations research. Approval and public presentation of a thesis proposal is required within the first three hours of thesis research. Upon completion of research, a thesis is prepared and defended before the advisory committee for approval. Minimum of two semesters of thesis research toward fulfillment of the thesis research requirement. Maximum of six credit hours of CSA 690 and 700 may be applied toward fulfillment of the thesis research requirement for the Master of Systems Analysis. Offered pass/fail. Prerequisite: permission of student’s graduate adviser.
|