About Miami
Academics
Admission
Living at Miami
University Offices
General Bulletin 2008-2010

Courses of Instruction

COMPUTER SCIENCE AND SYSTEMS ANALYSIS (CSA-Engineering and Applied Science)

141 Personal Computer Applications (2)

An introductory course for students who wish to become computer literate in common personal computer applications. The course emphasizes the use of Miami's computer resources, word processing, spreadsheet and presentation programs, with some exposure to common security and database management programs. Extensive hands-on use of personal computers. Not open to CSA majors and students with regular business standing. Credit not awarded for both CSA 141 and CSA 148 or CIT 154. Graded credit/no credit.

148 Business Computing (3)

An introduction to business-oriented computer skills. Extensive hands-on use of electronic spreadsheets and database software. Examples and exercises will stress problem-solving in a business context. Credit not awarded for both CSA 148 and CSA 141 or CIT 154.

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 mathematical and scientific 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.

251 Introduction to Game Programming (3)

Introduction to computer programming techniques used in games and visual simulations. Simple data and control structures, mathematical foundations, transformations, rendering algorithms and interfaces. This course is designed for non Computer Science majors.

253 Programming Languages (1-2)

Presents syntax and semantics of a particular programming language currently popular in industrial or academic settings. Addresses construction of programs in the language. Applications of the language presented. Coverage of good programming style and software engineering concepts addressed in context of the language. Not applicable to CSA electives requirement for a CSA major. Offered infrequently.

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 or CSA 271 with a grade of C- or better and MTH 222, MTH 251 and ECE 287.

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.

348 Applied Software Engineering (3)

Study of all phases of the systems development life cycle: project identification and justification, requirements analysis, data modeling, process modeling, design and specification techniques, prototyping, systems architectures, software design and construction. Object oriented analysis and design. Prerequisite: CSA 274.

361 Societal & 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 either CSA 278 or ECE 387.

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.

MPC 448/449 Senior Design Project (2, 1-2)

Student teams, with varied academic backgrounds, conduct major open-ended research/design projects. Elements of the design process are considered as well as real-world constraints, such as economic and societal factors, marketability, ergonomics, safety, aesthetics, and ethics. 448: feasibility studies performed; 449: implementation, testing, and production of design. Non-majors can register for 3-4 credits; (448) 2 credits, (449) 1-2 credits. Prerequisite: senior standing in student's major. Cross-listed with MME and ECE 448/449.

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.

466/566 Bioinformatics Computing Skills (3)

Programming in Perl and MatLab. Use of BLAST, BioPerl, BioPHP, and MatLab Bioinformatics Toolbox. Emphasis placed on biological database design, implementation, management, and analysis. Prerequisite(s): Programming course and BOT 116, or BOT 342, or permission of instructor. Cross-listed with BOT/MBI/ ZOO 466/566.

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 variety 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.

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.

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.

487 Game Design and Implementation (3)

Study of architectures, algorithms, and software design patterns used in computer games. Students work with a game engine to design and implement several kinds of games. Topics include animation techniques, physics simulation, user controls, graphical methods, and intelligent behaviors. Prerequisite: CSA 386.

491 Undergraduate Research (1-4; maximum 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. 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. Prerequisite: 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.

609 Accelerated Discrete Math (1)

This course introduces discrete structures and proof techniques at a graduate level. Topics covered include sets, inductive reasoning, proof strategies, and relations. Prerequisite(s): Graduate standing in Computer Science.

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.

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 Foundations of Software Engineering (3)

Foundational theories for software engineering; Topics include project management, modeling notations, refinements processes, verification and validation, and evolution. Prerequisite(s): CSA 348 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