|
Professors S.Y. Berkovich, P.S. Bock, J.L. Sibert, R.S. Heller, C.D. Martin, H.-A. Choi, A. Youssef (Chair), B. Narahari, J.K. Hahn, R. Simha, R. Price Jones
Associate Professors S. Rotenstreich, A. Bellaachia, X. Cheng
Assistant Professors P. Vora, M. Burke, N. Zhang
Professorial Lecturers D.C. Roberts, T. Hanson, N. Brenner, G.J. Kowalski, S.H. Kaisler, M. Happel, A. Panchenko, R.A. Fernandez, M. Lancaster, G. Blankenship, D. Christian, S. Delahunty, D. Eisenreich, T. Grissom, A. Hennings, M. Pinkerton
See the School of Engineering and Applied Science for programs leading to the master’s, professional, and doctoral degrees. A certificate program in computer security and information assurance is offered by the Department of Computer Science.
Note: Consult the department about graduate courses listed here that may not be taken for credit if equivalent undergraduate courses have been taken for credit.
|
| 207 |
Scientific Databases and Knowledge Formation (3) |
Berkovich and Staff |
| |
Database management and information retrieval. Relational algebra and SQL query language. Advanced retrieval capabilities. Data mining. Rules of inductive inference. Classification, clustering, and machine learning techniques. Confronting the problems of complexity. Prerequisite: CSci 123 and either CSci 103 or 133. (Spring) |
| 210 |
Advanced Software Paradigms (3) |
Bellaachia and Staff |
| |
Object-oriented, procedural, functional, and concurrent software design paradigms; design patterns; software life-cycle concepts. Tradeoffs between compiled and interpreted languages. Examples from Ada, Java, C, C++, and Perl. Prerequisite: CSci 123, 133. (Fall and spring) |
| 211 |
Computer Architectures (3) |
Narahari and Staff |
| |
Concepts in processor, system, and network architectures; architecture of pipeline, superscalar, and VLIW/EPIC processors; multiprocessors and interconnection networks. Cache coherence and memory subsystem design for multiprocessor architectures. Parallel and distributed system architecture; internetworking. Prerequisite: CSci 123, 133, 135. (Fall and spring) |
| 212 |
Design and Analysis of Algorithms (3) |
Youssef and Staff |
| |
Design and analysis of algorithms. Turing machines; NP-Complete theory. Algorithmic techniques: divide-and-conquer, greedy, dynamic programming, graph traversal, backtracking, and branch-and-bound. Applications include sorting and searching, graph algorithms, and optimization. Prerequisite: CSci 123, 133. (Fall and spring) |
| 220 |
Theory of Computation (3) |
Narahari and Staff |
| |
Theoretical foundations of computer science. Formal languages and automata; regular expressions, context-free languages, parsing; Turing machines and complexity; partial recursive functions; undecidability; program correctness; fixed-point theory; formal specifications of software. Prerequisite: CSci 210, 212. (Spring) |
| 221 |
Advanced Data Structures (3) |
Berkovich and Staff |
| |
Sparse matrix transpose and multiplication. List insertion and deletion, lists of available space. In-order, preorder, and postorder traversal of trees. Topological sorting. Binary search trees, including AVL trees, B-trees, and tries. Dynamic hashing. Prerequisite: CSci 212. (Spring) |
| 223 |
Graph Theory and Applications (3) |
Choi and Staff |
| |
Undirected and directed graphs. Connectivity, partitions, cycles and matchings. Edge and vertex coloring, chromatic polynomials, and the four-coloring problem. Planar graphs and Kuratowski’s theorem. Properties of random graphs. Applications to a variety of problems. Prerequisite: CSci 212. (Spring, even years) |
| 224 |
Advanced Discrete Structures (3) |
Youssef and Staff |
| |
Discrete techniques in computer science. Algebraic structures, vector spaces, linear transforms, norms, matrices, complex numbers, convolution and polynomial multiplication, Fourier analysis, discrete Fourier transform, number theory. Applications to computer security, coding theory, and audiovisual signal processing. Prerequisites: CSci 123 and Math 32. (Fall) |
| 225 |
Data Compression (3) |
Youssef and Staff |
| |
Background on signals, information theory, transforms, human vision, and metrics. Lossless and lossy compression techniques. Video compression. Compression standards. Progressive transmission. Prerequisite: CSci 212. (Fall) |
| 226 |
Computational Biology Algorithms (3) |
Price Jones and Staff |
| |
Algorithms and models for DNA and protein sequence alignments, gene finding, identification of gene regulatory regions, sequence evolution and phylogenetics, RNA and protein structure, microarray and/or proteomics data analysis. Prerequisite: CSci 212 or equivalent; programming experience in C/CC+ or Java. (Spring) |
| 227 |
Numerical Solutions of Algebraic Systems (3) |
Berkovich and Staff |
| |
Numerical solutions of linear algebraic equations and the algebraic eigenvalue problem. Sparse matrix techniques. Solutions of nonlinear simultaneous equations. Interpolation and extrapolation. Prerequisite: CSci 212. (Fall, even years) |
| 228 |
Complex Systems (3) |
Simha and Staff |
| |
The edge-of-chaos phenomenon, phase transitions, power laws, small-world networks, Boolean networks, cellular automata, and complex dynamics. Applications to networks and biological systems. Prerequisite: CSci 212. (On demand) |
| 229 |
Computing Technology in Justice and Public Safety (3) |
Youssef and Staff |
| |
Issues, needs, and state of the art of information technology in justice and public safety; information sharing, integration, interoperability; XML, GJXDM (justice data model), and NIEM; web services; service-oriented architecture; communications issues; security and privacy aspects. (Fall and spring) |
| 232 |
Computer Networks (3) |
Cheng and Staff |
| |
Fundamental concepts in the design and implementation of computer communication networks and internet, their protocols, and applications. Layered network architectures, applications, network programming interfaces, transport, routing, data link protocols, local area networks, network management, and network security. Prerequisite: CSci 211. (Fall) |
| 233 |
Internet Protocols (3) |
Staff |
| |
Understanding of the layered protocols for the Internet. Interconnection of networks. The IP protocol and routing algorithms, switches, bridges, and routers. The transmission control protocol (TCP). Addressing and names. Application-specific protocols, FTP, TELNET, SMTP, SNMP, HTTP. Domain name services. Prerequisite: CSci 210, 232. (Fall) |
| 234 |
Design of Internet Protocols (3) |
Staff |
| |
Protocol specifications and formal description methods. Finite-state descriptions of Internet protocols. Specification and Description Language. Implementation of protocol specifications. Prerequisite: CSci 212, 233. |
| 235 |
Distributed and Cluster Computing (3) |
Staff |
| |
Overview of network programming. Interconnection networks and system architecture for clusters. Cluster design, benchmarking, management, and configuration. Distributed computing on the web and grids. Distributed naming, location, authentication, and high availability. Programming high-performance clusters. Prerequisite: CSci 211. (Fall, odd years) |
| 238 |
Computer System Performance (3) |
Narahari and Staff |
| |
Queuing models of computer systems and applications of queuing theory to computer modeling. Bounds on system performance. Mean-value analysis of computer systems. Modeling specific subsystems. Queuing models for analysis. Limitations of queuing models. Analysis of transaction processors and terminal-oriented systems. Prerequisite: CSci 211. (Fall, odd years) |
| 239 |
Comparative Computer Systems (3) |
Youssef and Staff |
| |
Structures of computers and a system description language. History, characteristics, and philosophies of different computer structures. Special-purpose processors, multiprocessors, networks, and time-shared systems. Comparison of computer families. Performance evaluation. Effects of software and technology on computer structures. Prerequisite: CSci 211. (Spring, odd years) |
| 241 |
Database Management Systems (3) |
Narahari and Staff |
| |
Design and architecture of relational database management systems; query languages, data models, index structures, database application design. Prerequisite: CSci 210, 211, or equivalent. (Fall) |
| 242 |
Database Systems (3) |
Narahari and Staff |
| |
Concepts in database systems. Relational database design. Editing, report generation, updating, schema refinement, tuning. Construction of database management systems. Conceptual and logical design of a database. Prerequisite: CSci 241. (Spring) |
| 243 |
Data Mining (3) |
Bellaachia and Staff |
| |
Fundamental concepts of data mining. Algorithm techniques for data mining, including classification, clustering, association rules mining. Prerequisite: CSci 241 or equivalent or permission of instructor. (Spring) |
| 244 |
Information Retrieval Systems (3) |
Berkovich and Staff |
| |
Information organization and retrieval of natural language data by digital computer systems; statistical, syntactic, and logical analysis of natural language; dictionary and thesaurus systems; searching strategies and cataloging. Large-scale file structures. Prerequisite: CSci 210, 211. (Spring) |
| 246 |
Compiler Optimization (3) |
Narahari and Staff |
| |
Overview of compilers, parsing techniques, code generation. Compiler optimization techniques, including register allocation, instruction scheduling. Compiler design for ILP processors. Prerequisite: CSci 210, 211, 212. (Fall, even years) |
| 251 |
Distributed Operating Systems (3) |
Rotenstreich and Staff |
| |
Architecture, concurrent processes, interprocess communication, distributed scheduling, distributed shared memory, distributed security, synchronization and elections, distributed agreement, transactions and replicated data. Prerequisite: CSci 210, 211, 212. (Fall) |
| 252 |
Component-Based Enterprise Software Development (3) |
Rotenstreich and Staff |
| |
Component-based software development for enterprise applications. Component models, multi-tier architecture. Specific case studies may include topics such as Enterprise Java Beans, DCOM, and COBRA. Prerequisite: CSci 210. (Fall) |
| 253 |
Object-Oriented Design (3) |
Rotenstreich and Staff |
| |
Object-oriented systems, software reusability, software modularity, top—down and bottom—up approaches, object classification, genericity, metaprogramming, concurrent object-oriented programming languages. Prerequisite: CSci 210. (Spring) |
| 254 |
Software Engineering (3) |
Rotenstreich and Staff |
| |
The life-cycle model. Requirements and specifications. Design models, structured and object-oriented design. Program development, PDL’s tools, configuration control. Program, unit, and integration testing. Program verification. Other development models. Development metrics. Computer-aided software engineering (CASE). Prerequisite: CSci 210, 212. (Spring) |
| 255 |
Software Engineering Development (3) |
Rotenstreich and Staff |
| |
Formal methods in software engineering. First-order logic, basic specification elements, rigorous proofs, formal development process, concurrency. Prerequisite: CSci 211, 212. (Fall) |
| 256 |
Software Testing and Quality (3) |
Rotenstreich and Staff |
| |
Flow graphs and path testing, transaction flow testing, data flow testing, software metrics, system testing, test planning and documentation, reliability, statistical testing. Prerequisite: CSci 254. (Fall) |
| 259 |
Advanced Object-Oriented Programming (3) |
Bellaachia and Staff |
| |
The design patterns of Gamma, Helm, Johnson, and Vlissides. The C++ Standard Template Library (STL), a generic programming paradigm that has been adapted to the C++ programming language, and is an extensible framework for generic and interoperable components. Prerequisite: CSci 210 or familiarity with C++, data structures, and object-oriented programming. (Spring) |
| 260 |
Design of Interactive Multimedia (3) |
Heller and Staff |
| |
History, theory, and development of multimedia concepts. Hardware components, platforms, and authoring tools. Scientific, technical, and cognitive foundations of various media including text, sound, graphics, and video. Interface design. Use of a media taxonomy as a design and evaluation tool. Completion of a multimedia portfolio required. Prerequisite: CSci 210. (Fall) |
| 261 |
Design and Implementation of Educational Software (3) |
Martin and Staff |
| |
History and types of computer-based learning (CBL). Models of learning theory and instructional design. Scripted and generative design strategies, use of authoring systems. Intelligent tutoring systems. Dissemination, legal issues. Overview of research issues in CBL. Project required. Prerequisite: CSci 260. (Spring) |
| 262 |
Computer Graphics Programming Tools (3) |
Hahn and Staff |
| |
Standard graphics and animation programming tools and packages. Lab-specific software tools for sound, motion control, and rendering. Hardware used for video recording and editing. Peripheral devices such as stereo glasses, head-mounted displays, and trackers. Prerequisite: CSci 185, 211. (Spring) |
| 263 |
Computer Graphics II (3) |
Hahn and Staff |
| |
Curves and surfaces. Spatial sampling and aliasing. Visible surface algorithms. Illumination and shading models, raytracing and radiosity. Image manipulation and texture mapping. Procedural models. Prerequisite: CSci 185. (Spring) |
| 264 |
Design of Human—Computer Interface (3) |
Sibert and Staff |
| |
Design of dialogues for interactive systems. Psychological, physiological, linguistic, and perceptual factors. Advantages and disadvantages of various interaction techniques, command language syntaxes, and data presentations. Design methodology and guidelines. Case studies, research readings, and projects. Prerequisite: CSci 210. (Spring) |
| 266 |
Computer Animation (3) |
Hahn and Staff |
| |
Euler angles and quaternions; articulated figure motion; forward and inverse kinematics; kinematic, physics based, and behavioral motion control; rendering problems (temporal aliasing); sound synthesis and synchronization; recording and editing techniques. Prerequisite: CSci 185 or permission of instructor. (Fall) |
| 270 |
Artificial Intelligence (3) |
Bock and Staff |
| |
Representation and space search. Heuristic search. Predicate calculus. Knowledge representation and knowledge engineering for expert systems. Rule-based, hybrid, and O-O systems. Semantic nets, frames, and natural language. Theorem provers. Overview of planning, learning, neural nets. Use of AI languages. Prerequisite: CSci 174, 212. (Fall) |
| 271 |
Adaptive Learning Systems I (3) |
Bock and Staff |
| |
Learning as an alternative to rule-based schemes for artificial intelligence. Deterministic and probabilistic simulation of games. Markovian and bounded-context systems. The algedonic process. Introduction to collective learning systems theory. Design, simulation, and evaluation of collective learning automata. Prerequisite: CSci 174, 212. (Fall) |
| 278 |
Models of Cognition (3) |
Bock and Staff |
| |
The central nervous system as a natural precedent for AI: structure and function of the neuron and neural networks; sensors and actuators; modular brain function. The cognitive process. Intelligence metrics. Genetics and self-organizing systems. Memory mechanisms. The psychological basis of learning and behavior. Prerequisite: CSci 174, 212. (Spring, odd years) |
| 283 |
Computer Security (3) |
Vora and Staff |
| |
Functional description of cryptographic primitives. Risk analysis. Policy models: security, confidentiality, integrity, hybrid. Design principles: access control, information flow, confinement. Assurance: formal methods, evaluation. Malicious logic: security effects of programming languages. Prerequisite: CSci 211. (Fall) |
| 284 |
Cryptography (3) |
Vora and Staff |
| |
Review of mathematical theory for cryptography. Classical ciphers. Modern block and stream ciphers. Symmetric and asymmetric systems. Digital signatures. Public key infrastructure. Authentication. Prerequisite: CSci 212. (Spring) |
| 286 |
Network Security (3) |
Zhang and Staff |
| |
Security protocols and applications in local, global, and wireless networks; IPSec and packet-level communication security systems; network authentication and key-exchange protocols; intrusion detection systems and firewalls; secure network applications; network worms and denial-of-service attacks. Prerequisite: CSci 283. (Spring) |
| 287 |
Computer Network Defense (3) |
Narahari and Staff |
| |
Offensive and defensive information warfare operations. Simulation of various attacks on and defenses of computer systems. Laws related to information warfare. History and literature related to information warfare attacks. Prerequisite: CSci 286. |
| 288 |
Wireless and Mobile Security (3) |
Cheng and Staff |
| |
Mobile Agents, Wireless Web, WAP, WEP, Peer-to-Peer Computing; secure routing; intrusion detection and authentication on wireless networks; security for handheld devices; encryption and cryptographic measures for wireless; real-time wireless security; security measures for embedded devices. Prerequisite: CSci 232, 283. |
| 289 |
E-commerce Security (3) |
Staff |
| |
Advanced technical topics in e-commerce security. X.500 registration systems, X.509/PKIX certification systems, secure payment methods, smart cards, authorization models in open distributed environments. Secure web systems, technologies, and applications. Prerequisite: CSci 286. (Fall) |
| 297 |
Special Topics (1 to 3) |
Staff |
| |
Topics to be announced in the Schedule of Classes. (Fall and spring) |
| 298 |
Research (arr.) |
Staff |
| |
Applied research and experimentation projects, as arranged. May be repeated for credit. |
| 299—300 |
Thesis Research (3—3) |
Staff |
| 301 |
Research and Evaluation Methods (3) |
Bock and Staff |
| |
Required for all computer science doctoral candidates. The scientific method; research/design requirements and objectives: qualitative, quantitative, and case studies; performance metrics; design procedures and control; sources of error and bias; evaluation tools; formal validation methods; documentation standards. Prerequisite: ApSc 115. (Fall) |
| 325 |
Advanced Topics in Computing Algorithms (3) |
Choi and Staff |
| |
Graph algorithms, strongly connected components, biconnected components, dominators in acyclic graphs, ordered trees, network flow, planarity testing, bipartite matching, theory of NP completeness, NP-complete problems. Design and analysis of approximation algorithms for NP-complete problems. Prerequisite: CSci 212. (Spring, odd years) |
| 326 |
Parallel Algorithms (3) |
Youssef and Staff |
| |
Design and analysis of parallel algorithms. Topics include shared- and distributed-memory parallel computation models, graph algorithms, divide-and-conquer algorithms, numerical problems, parallel algorithms for combinatorial optimization methods. Prerequisite: CSci 211, 212. (Spring, even years) |
| 332 |
Advanced Topics in Computer Networks and Networked Computing (3) |
Simha and Staff |
| |
Seminar on current research and developments in computer networks, Internet, networked computing, mobile computing and pervasive computing. May be repeated for credit. Prerequisites: CSci 211, 212, 233. (Fall, odd years) |
| 338 |
Advanced Topics in Distributed Systems (3) |
Cheng and Staff |
| |
Seminar on current research and developments in networks and distributed systems. May be repeated for credit. Prerequisite: CSci 234. (Fall, odd years) |
| 339 |
Advanced Topics in Computer Architecture (3) |
Narahari and Staff |
| |
Seminar on current research and developments in computer architecture. May be repeated for credit. Prerequisite: CSci 235. (Spring, even years) |
| 342 |
Security and Programming Languages (3) |
Simha and Staff |
| |
Seminar on current research and developments in computer programming languages, systems and paradigms. May be repeated for credit. Prerequisite: CSci 210. (Spring, odd years) |
| 343 |
Advanced Topics in Information Systems (3) |
Berkovich and Staff |
| |
Seminar on current research and developments in computer database systems and information retrieval. May be repeated for credit. Prerequisite: CSci 242 or 244. (Fall, odd years) |
| 351 |
Advanced Topics in Operating Systems (3) |
Rotenstreich and Staff |
| |
Seminar on current research and developments in computer operating systems. May be repeated for credit. Prerequisite: CSci 251. (Spring, even years) |
| 355 |
Advanced Topics in Software Engineering (3) |
Rotenstreich and Staff |
| |
Seminar on current research and developments in software engineering. Students develop a software package with the aid of available software tools such as requirement tool, design tool, code generators, testing tools, measurement tools, cost estimation tools. Prerequisite: CSci 255, 256. (Fall, even years) |
| 361 |
Advanced Topics in Interactive Multimedia (3) |
Heller and Staff |
| |
Seminar on current research and developments in interactive multimedia. Team projects encompassing system design, system production, productivity tools, project management, cost analysis, prototyping, testing, and evaluation. Prerequisite: CSci 260. (Spring, even years) |
| 362 |
Advanced Topics in Human—Computer Interaction (3) |
Sibert and Staff |
| |
Seminar on current research and developments in human—computer interaction. May be repeated for credit. Prerequisite: CSci 264. (Fall, odd years) |
| 367 |
Advanced Topics in Computer Graphics (3) |
Hahn and Staff |
| |
Seminar on current research and developments in computer graphics. Spatial and temporal anti-aliasing: hidden-surface algorithms: illumination models, radiosity, textural mapping. May be repeated for credit. Prerequisite: CSci 263. (Fall, even years) |
| 368 |
Advanced Topics in Animation and Virtual Reality (3) |
Hahn and Staff |
| |
Seminar on current research and developments in computer animation and virtual reality. May be repeated for credit. Prerequisite: CSci 266. (Spring, odd years) |
| 371 |
Adaptive Learning Systems II (3) |
Bock and Staff |
| |
Alternative memory structures. Selection and modification policies. Environmental models and evaluation policies. Metrics for performance evaluation of collective learning systems automata. Self-organizing, hierarchical networks of collective learning cells. Prerequisite: CSci 271. (Spring, odd years) |
| 372 |
Natural Language Understanding (3) |
Bock and Staff |
| |
The state of the art of natural language parsing and semantic understanding by computer systems. Review of formal, context-free, and transformational grammars and parsing. Augmented transition networks: problems of complexity, semantics, and context. Deterministic parsing and semantic parsing. Prerequisite: CSci 270. (Fall, odd years) |
| 377 |
Advanced Topics in Machine Intelligence and Cognition (3) |
Bock and Staff |
| |
Seminar on current research and developments in machine intelligence and cognitive science. May be repeated for credit. Prerequisite: Permission of the instructor. (Fall, even years) |
| 381 |
Advanced Topics in Cryptography (3) |
Vora and Staff |
| |
Linear and differential cryptanalysis. Cryptanalysis of AES. Factorization and primality. Computational and information-theoretic secrecy. Theory of secrecy. Zero-knowledge proofs. Secret sharing. Cooperative distributed cryptography. Provable security. Prerequisite: CSci 284. (Fall) |
| 386 |
Java Security Mechanisms (3) |
Staff |
| |
Theoretical overview and practical aspects of Java security solutions. Students develop individual Java security modules and integrate them into a complete Java security system. Prerequisite: CSci 283. (Spring) |
| 387 |
Advanced Topics in Information Security (3) |
Vora and Staff |
| |
Seminar on current research and developments in information assurance. May be repeated for credit. Prerequisite: CSci 283. (Spring, even years) |
| 390 |
Colloquium (0) |
Staff |
| |
Lectures by outstanding authorities in computer science. Topics to be announced each semester. (Fall and spring) |
| 398 |
Computer Science Research (arr.) |
Staff |
| |
Limited to students preparing for the Doctor of Philosophy qualifying examination. May be repeated for credit. |
| 399 |
Dissertation Research (arr.) |
Staff |
| |
Limited to Doctor of Philosophy candidates. May be repeated for credit. |