Courses of Instruction
COMPUTER SCIENCE AND SYSTEMS ANALYSIS (CSA-Engineering and Applied Science)
141 Personal Computer Applications (2)
Survey course for students who have not taken a computer course and wish to become computer literate. Includes description of hardware and operating characteristics of computers, and an introduction to the use of commercial software packages such as word processing, data base management, graphics, and spreadsheet programs. Extensive hands-on use of microcomputers. Not open to CSA majors and students with regular business standing. Credit not awarded for both CSA 141 and CIT 154. Graded credit/no credit.
MPF 151 Computers, Computer Science, and Society (3)
Perspective on the potential and limitations of computing technology. Topics include problem-solving in computing, computers as thinking machines, and the impact of computing on societies. Exposes students to programming languages and various computer tools. Not open to CSA and MIS majors. V.
153 Introduction to C/C++ Programming (3)
Introduction to use of C/C++ programming language as an aid to solving problems. Students design, write, and implement programs.
157 Introduction to COBOL Programming (3)
Introduction to use of COBOL as a language for solving business problems which process large amounts of data. Students design, write, and implement COBOL programs. Not open to CSA majors.
MPF 163 Introduction to Computer Concepts and Programming (3)
Introduction to computers in data processing, survey of various hardware and software concepts, and analysis and solution of problems by computer programming. Lecture/laboratory, project-oriented course to provide numerous opportunities to analyze problems, formulate alternative solutions, implement solutions, and assess their effectiveness. No prior knowledge of computer concepts or programming assumed. Prerequisite: high school algebra and trigonometry. V.
MPT 174 Fundamentals of Programming and Problem Solving (3)
An introduction to computer programming in a contemporary language. Algorithm development, refinement, and problem solving approaches. Data types and control structures. Program debugging and testing, Interactive input/output. Single and multi-dimensional arrays. Simple sorting and searching algorithms. Introduction to classes, objects, and object-oriented programming.
220 Professional Practice (0)
Students participating in computer technology associate’s degree co-op program register for this course during semesters when they are on work assignment. This enables students to maintain continuing student status with the university.
270 Special Topics (3)
Special topics in computer science, computer information systems, or operations research. Prerequisite: permission of instructor.
MPT 271 Object-Oriented Programming (3)
The design and implementation of software using object-oriented programming techniques including inheritance, polymorphism, and composition. Students will analyze program specifications and identify appropriate objects and classes. Additional programming topics include recursion, using existing class libraries, exception handling, file IO and graphical user interfaces. Credit not awarded for both CSA 271 and 279. Prerequisite: CSA 174 with a grade of C- or better or equivalent.
MPT 273 Optimization Modeling (3)
Use of deterministic models and computers to study and optimize systems. Includes an introduction to modeling, calculus-based models, financial models, spreadsheet models, and linear-programming models. Prerequisite: MTH 251.
MPT 274 Data Abstraction and Data Structures (3)
Abstract data types and their implementation as data structures using object-oriented programming. Use of object-oriented principles in the selection and analysis of various ADT implementations. Sequential and linked storage representations: lists, stacks, queues, and tables. Nonlinear data structures: trees and graphs. Recursion, sorting, searching, and algorithm complexity. Prerequisite: CSA 271 with a grade of C- or better and MTH 231.
MPT 275 Data Processing and File Design (3)
Structure and syntax of COBOL. Built-in data structures in COBOL. Sequential file processing and direct access file processing; hashing, overflow handling. Implementation of a variety of logical file organization techniques using COBOL file access methods. Standard data processing techniques. Prerequisite: CSA 174 or equivalent.
278 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. Cross listed with ECE 278.
283 Data Communication and Networks (3)
Introduction to data communications, computer networks, protocols, and distributed processing as well as relevant standards and underlying theory. Topics include communication codes, transmission methods, interfacing, error detection, communication protocols, communications architectures, switching methods, and network types. Local area network and internetwork technologies are studied. The client/server model of distributed processing addressed. Students design and implement data communications and network-based software. Prerequisite: CSA 271 or permission of instructor.
320 Professional Practice (0)
Students participating in the computer science and systems analysis co-op program register for this course during semesters when they are away from Oxford on work assignment. This enables students to maintain continuing student status with the university.
361 Societal and Ethical Issues in Computing (3)
An examination of the ethical, legal, and social responsibilities of the practicing professional computer scientist. Issues addressed include computers and privacy, computer crime, public safety, intellectual property and professional codes of ethics. Key issues will normally be considered through case studies. Prerequisite: junior standing.
371 Linear and Nonlinear Programming Models (3)
Presentation of theory, computational techniques, and general applications of linear, integer, and parametric programming; decomposition and network flow principles. Prerequisite: MTH 222 or 231 and CSA 273 or equivalent.
MPT 372 Stochastic Modeling (3)
Survey of methods of stochastic operations research including reliability, Markov processes, queuing theory, and decision theory. Computer used for modeling and solving problems. Prerequisite: STA 401 or concurrent registration, or STA 368.
381 Operating Systems (3)
Introduction to operating systems concepts. The operating system as a resource manager. Principles for the design and implementation of operating systems. User interface programming in current operating systems. Process scheduling and deadlock prevention. Memory management, virtual memory, paging, and segmentation. Interrupt processing. Device management, I/O systems and I/O processing. Security and protection. Examples of operating systems including distributed and open systems. Prerequisite: CSA 274 and 278.
383 Client Server Programming (3)
An introduction to developing client/server based software solutions. Students will study various architectures and approaches including web-based and custom server systems. Students will design and construct both clients and servers using multiple platforms and systems. Prerequisites: CSA 274, 283.
385 Database Systems (3)
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. File structures for database systems. Prerequisite: CSA 274 or concurrent registration.
386 Introduction to Computer Graphics (3)
Introduction to techniques to create images on the computer. Covers graphics hardware and software, animation, mathematical theory behind 2- and 3-dimensional translation, rotation, and scaling, and areas of graphics application such as computer-aided design. Programming required. Prerequisite: CSA 274 and MTH 231.
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.
467 Computer and Network Security (3)
Fundamentals of network, operating system and application security. Students will study and implement a variety of security techniques including defense, response and forensics. Extensive analysis, reading and writing will be integral to this course. Prerequisite: CSA 283 and CSA 383, or permission of instructor.
470/570 Special Topics (3)
Advanced topics in computer science, computer information systems, or operations research. Prerequisite: Permission of instructor.
MPT 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: Probability 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.
MPC 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.
491 Undergraduate Research (1-4, max. 10)
Research problems in computer science, systems analysis, or operations research, chosen in consultation with a faculty advisor. Requires a public presentation of completed work. For grade only. Prerequisites: Permission of instructor and approval of department chair.
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. Program testing, debugging, and documentation. Introduction to fundamental algorithms and data structures. 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.
608 Computer Networks (3)
Fundamentals of data communications, computer networks, protocols, and distributed processing as well as relevant standards and underlying theory. Topics include communication protocols, communications architectures routing, Domain Name Services, switching methods and network topologies. Students will explore local area network and internetworking technologies including telecom, DSL, cable, wireless and satellite Internet solutions. Students will be introduced to network security issues including encryption, firewalls, tunneling, and Virtual Private Networks. Programming topics include basic networking applications using sockets through an introduction to creating distributed applications. The client/server model of distributed processing will be addressed. 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 algorithim analysis. Testing and validation issues. Program and application generators. Emerging hardware and software technologies. Prerequisite: CSA 472/572 or equivalent.
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.
General Bulletin Home | Search | Top | Miami University Main Page |