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
|