IUPUI
Home About Courses Programs People Facilities Research Events

Course Descriptions

Main Menu Distributed Courses N-Series Courses Undergrad Courses Graduate Courses

Course Offerings

View CSCI Offerings Search By instructor

Related Links

Distributed Education Streaming Media Orientation Pages

Bulletins

2006 School of Science Bulletin Campus Bulletin
Graduate Courses in Computer Science

CSCI 50200

Compiling and Programming Systems

3 Credit Hours

P: 300. R: 470.

Fall. Basic principles of compilers and compiler design; control of translation, loading, and execution; symbolic coding systems; lexical and syntactic analysis; design and operation of assemblers and macroprocessors; and design of interpretive systems. Students are expected to complete a large programming project as part of the course.

CSCI 50300

Operating Systems

3 Credit Hours

P: 403.

Spring. Basic principles of operating systems: addressing modes, indexing, relative addressing, indirect addressing, stack maintenance; implementation of multitask systems; control and coordination of tasks, deadlocks, synchronization, and mutual exclusion; storage management, segmentation, paging, virtual memory, protection, sharing, and access control; file systems; resource management; and evaluation and prediction of performance.

CSCI 50400

Concepts in Computer Organization

3 Credit Hours

P: 402.

The fundamentals of computer hardware for computer scientists. An overview of the organization of modern computers, ranging from sequential to advanced machines. CISC, RISC, and vector processors; multiprocessors; virtual storage, hierarchical memory; interaction with O/S; connection models; high-level programming support; and cost/performance analysis.

CSCI 50600

Management of the Software Development Process

3 Credit Hours

A survey of the fundamental principles and concepts of managing a software project. Topics include life cycle models, standards and goals, cost estimation, risk analysis, tool use, component reuse, traceability, metrics, and process control and improvement. Students are required to apply management concepts using a project-based approach.

CSCI 50700

Object-Oriented Design and Programming

3 Credit Hours

An advanced exploration of the object-oriented model and programming. Topics range from a review of the object model to advanced concepts such as abstraction mechanisms, standard library/packages, OO design using an OO language, and the syntax and the semantics of constructs.

CSCI 51200

Numerical Methods for Engineers and Scientists

3 Credit Hours

P: MATH 351 or MATH 511; MATH 510; and knowledge of programming.

Not open to students with credit in 414. Not normally accepted for graduate credit in computer science programs. A survey of the useful methods of computation. Solution of nonlinear equations and systems of nonlinear equations. Numerical methods for systems of linear equations. Approximate differentiation and integration. Numerical solution of ordinary differential equations. Introduction to partial differential equations and elementary approximation methods.

CSCI 51400

Numerical Analysis

3 Credit Hours

P: 414 or equivalent.

Iterative methods for solving nonlinear equations, linear difference equations, applications to solution of polynomial equations, differentiation and integration formulas, numerical solution of ordinary differential equations, and round-off error bounds.

CSCI 51500

Numerical Analysis of Linear Systems

3 Credit Hours

P: knowledge of programming, and MATH 351 or MATH 511.

Computational aspects of linear algebra; linear equations and matrices; direct and iterative methods; eigenvalues and eigenvectors of matrices; error analysis.

CSCI 51600

Computational Methods in Applied Mathematics

3 Credit Hours

P: 265 and MATH 510 or consent of instructor.

A study of techniques such as direct integration, shooting, finite difference, finite elements, method of weighted residuals, and methods of characteristics for solving problems in fluid mechanics, solid mechanics, dynamics, and other fields of applied mathematics.

CSCI 52000

Computational Methods in Analysis

3 Credit Hours

P: 230 or equivalent, and MATH 351 or MATH 511.

A treatment of numerical algorithms for solving classical problems in real analysis with primary emphasis on linear and nonlinear systems of equations and on optimization problems; the writing, testing, and comparison of numerical software for solving such problems; and a discussion of the characteristics of quality software for implementing these algorithms.

CSCI 53600

Data Communication and Computer Networks

3 Credit Hours

P: 402.

Data communications: communication hardware technologies including local area and long-haul network hardware, circuit and packet switching, interfaces between computer and network hardware, and performance issues. Network architecture: protocol software and conceptual layering, reliable delivery over an unreliable channel, transport protocols, virtual circuits, datagrams, Internet working as a fundamental design concept, the client-server paradigm, naming and name binding, name servers, addressing and address resolution, routing and routing algorithms, congestion and flow control techniques, network file systems, distribution of computation, and DARPA Internet protocols TCP/IP as examples of protocol organization.

CSCI 53700

Introduction to Distributed Computing

3 Credit Hours

P: 503 and 536.

Introduction to the principles and methods in the design of distributed computing systems. It covers the fundamentals of distributed computing from four perspectives: underlying communication media, protocols and their implications; operating system issues; high-level language constructs; and distributed algorithms.

CSCI 53800

The Design of Interactive Systems

3 Credit Hours

Fundamental concepts and tools employed in designing the interaction between humans and machines and the mediating interfaces. Topics include: design problem, interface design concepts, experimental design and analysis, cognitive and predictive models, the design project, case studies, and applications.

CSCI 53900

Computing with Distributed Objects

3 Credit Hours

An introductory treatment of the distributed-object model and programming. The topics range from a review of the distributed and object models of computation to advanced concepts such as remote method invocations, object brokers, object services, open systems, and future trends for distributed-object systems.

CSCI 54100

Database Systems

3 Credit Hours

P: 443 or equivalent.

Spring. Fundamentals for the logical design of database systems. The entity-relationship model, semantic model, relational model, hierarchical model, network model. Implementations of the models. Design theory for relational databases. Design of query languages and the use of semantics for query optimization. Design and verification of integrity assertions, and security. Introduction to intelligent query processing and database machines.

CSCI 54300

Introduction to Simulation and Modeling of Computer Systems

3 Credit Hours

P: 265 and STAT 511 or equivalent.

Simulation: discrete event simulation, process-oriented simulation, generating random numbers, simulation languages, simulation examples of complex systems. Nondeterministic models: random variables, Poisson process, moment generating functions, statistical inference, and data analysis. Modeling: elementary queuing models, network of queues, and applications to performance evaluation of computer systems.

CSCI 54700

Information Storage and Retrieval and Natural Language Processing

3 Credit Hours

P: 541.

Complex data structures of fields within records, as well as clustered, multilist, and inverted files; key decoding by tree and randomized techniques; overall techniques of classical document retrieval systems, e.g., the MEDLARS and NASA systems; overall techniques of automatic document retrieval systems, e.g., TIP and SMART, the internal structure of SMART; question answering systems; and natural language translation.

CSCI 54800

Introduction to Bioinformatics

3 Credit Hours

P: 340, BIOL K483, CHEM C483, or MATH 511.

Analysis of biological data employing various computational methods to obtain useful information in the emerging area of bioinformatics. Topics include structures, functions and evolution of proteins and nucleic acids, retrieval and interpretation of bioinformation from the Internet, learning principles, algorithms and software for sequence alignment, similarity search of sequence databases, estimation of phylogenetic trees, structural prediction, and functional inference.

CSCI 54900

Intelligent Systems

3 Credit Hours

This course will discuss problems in the area of intelligent systems. Topics include the formalisms within which these problems are studied, the computational methods that have been proposed for their solution, and the real-world technological systems to which these methods have been applied.

CSCI 55000

Computer Graphics

3 Credit Hours

An introduction to computer graphics. Topics include the concepts, principles, algorithms, and programming techniques in 3D interactive computer graphics. Emphasis is on the development and applications of 3D graphic algorithms and methods.

CSCI 55200

Advanced Graphics and Visualization

3 Credit Hours

P: 550.

An introduction to data visualization methods and tools, and related graphics techniques. Students will explore a variety of data representation and modeling techniques, their corresponding visualization algorithms, and practical visualization applications in scientific, engineering, and biomedical fields.

CSCI 55600

Fault-Tolerant Computing

3 Credit Hours

P: 362.

Concepts of fault-tolerant computing; phases of fault-tolerance; applications to commercial, communication, and aerospace systems; fault-tolerance in multiprocessor systems; diagnosis techniques; software fault-tolerance.

CSCI 56500

Programming Languages

3 Credit Hours

P: 300. R: 470.

Fall. An exploration of modern or unconventional concepts of programming languages, their semantics, and their implementations; abstract data types; axiomatic semantics using Hoare's logic and Dijkstra's predicate transformers; denotational semantics; functional, object-oriented, and logic programming; concurrency and Owicki-Gries theory. Example languages include ML, Ada, Oberon, LISP, PROLOG, and CSP.

CSCI 58000

Algorithm Design, Analysis, and Implementation

3 Credit Hours

P: 463 and 470.

Basic techniques for designing and analyzing algorithms: dynamic programming, divide-and-conquer, balancing, upper and lower bounds on time and space costs, worst case and expected cost measures. A selection of applications such as disjoint set union/find, graph algorithms, search trees, pattern matching. The polynomial complexity classes P, NP, and co-NP; intractable problems.

CSCI 58200

Automata and Formal Languages

3 Credit Hours

P: 470.

Spring. Finite automata, regular expressions; push-down automata, context-free grammars; and languages and behaviors. Closure properties, pumping lemmas, and decision procedures. Deterministic context-free languages and LR parsing; brief survey of the Chomsky hierarchy.

CSCI 58500

Mathematical Logic I MATH 585

3 Credit Hours

Students should register for MATH 585. P: MATH 351.

Formal theories for propositional and predicate calculus with study of models, completeness, and compactness. Formalization of elementary number theory; Turing machines, halting problem, and the undecidability of arithmetic.

CSCI 59000

Topics in Computer Science

3 Credit Hours

By arrangement. Fall, spring. Directed study for students who wish to undertake individual reading and study on approved topics.

CSCI 61400

Numerical Solution of Ordinary Differential Equations

3 Credit Hours

P: 514.

Numerical solution of initial-value problems by Runge-Kutta methods, general one-step methods, and multistep methods. Analysis of truncation error, discretization error, and rounding error. Stability of multistep methods. Numerical solution of boundary-value and eigenvalue problems by initial-value techniques and finite difference methods.

CSCI 61500

Numerical Solution of Partial Differential Equations

3 Credit Hours

P: 515 and MATH 523.

The numerical solution of hyperbolic, parabolic, and elliptic equations by finite difference methods; iterative methods Gauss-Seidel, overrelaxation, alternating direction for solving elliptic equations; discretization and round-off errors; explicit and implicit methods for parabolic and hyperbolic systems; the method of characteristics; the concept of stability for initial value problems.

CSCI 66000

Design of Translating Systems

3 Credit Hours

Systems design of higher-level programming languages and their processors; symbol tables, lexical scan, syntax scan, object code generation and optimization; boot-strapping techniques, higher-level translators, self-compilers, and decompilers; and heuristic generators.

CSCI 66100

Formal Compiling Methods

3 Credit Hours

P: 502.

Application of concepts developed in formal language and automata theory to the design of programming languages and their processors. Models of syntactic analysis, including canonical precedence, LRand LLparsing methods and variants; efficiency of each. Synthesis techniques, including symbol tables, storage administration, parameter mechanisms, garbage collection; optimization considerations. Models of synthesis, including level, affix, attributed grammars; prospects of fully automating compiler design. Applicative vs. procedural languages and their implementations based on semantic definition of a language LISP, Lucid and on proof-like techniques PROLOG, equational systems; merits of such approaches.

CSCI 69500

M.S. Project

maximum of 6 credit hours apply to degree 1-9 Credit Hours

P: consent of instructor.

The student integrates and applies the knowledge gained from the formal course work to formulate and execute a solution to a problem of practical importance. The faculty advisor and the sponsoring organization mentor, if applicable, provide guidance and evaluation.

CSCI 69800

Research M.S. Thesis

1-18 cr. Credit Hours

CSCI C591

Research Seminar for First-Year Graduate Students

0-1 Credit Hours

First-year seminar in research methods and current research directions of the faculty. Repeatable