Skip Navigation

University Bulletin: Graduate Programs The George Washington University  

 
   
 

COMPUTER SCIENCE

Professors S.Y. Berkovich, R.S. Heller, H.-A. Choi, A. Youssef (Chair), B. Narahari, J.K. Hahn, R. Simha, R. Price Jones

Associate Professors S. Rotenstreich, A. Bellaachia, X. Cheng, P. Vora

Assistant Professors N. Zhang, G.A. Parmer, E. Drumwright, M. Clarkson, C. Monteleoni, H. Wee, T. Wood, G. Sibley

Professorial Lecturers D.C. Roberts, N. Brenner, G.J. Kowalski, S.H. Kaisler, M. Happel, R.A. Fernandez, M. Lancaster, G. Blankenship, D. Christian, S. Delahunty, D. Eisenreich, 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. Credit may be earned for only one course in each of the following pairs of courses: CSci 6341/ 4341, 6431/ 4431, 6441/ 2441, 6531/ 4531, 6331/ 4331, 6541/ 4541, 6532/ 4532.

6212 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 1311, 1112. (Fall and spring)

6213 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 6212. (Spring)

6221 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 1311, 1112. (Fall and spring)

6231 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 6221, 6212. (Spring)

6232 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 6461, 6212. (Fall)

6233 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 6231. (Fall)

6234 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 6221. (Spring)

6235 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 6221. (Fall)

6311 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 6212.

6312 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 6212. (Spring, even years)

6313 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 1311 and Math 1232. (Fall)

6318 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 6212. (On demand)

6331 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 6212. (Spring)

6341 Continuous Algorithms (3)

Simha and Staff

 

Overview of structures in continuous mathematics from a computational viewpoint. Main topics include continuous system simulation, computational modeling, probability, statistical techniques, next-event simulation, algorithms for continuous optimization, machine learning, neural networks, statistical language processing, robot control algorithms. Prerequisite: CSci 1311, 2113. (Spring)

6343

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 6212. (Fall, even years)

6351 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 6212. (Fall)

6421 Distributed and Cluster Computing (3)

Parmer and 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 6461. (Fall, odd years)

6431 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 6461. (Fall)

6433 Internet Protocols (3)

Cheng and 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 6221, 6431. (Fall)

6434 Design of Internet Protocols (3)

Cheng and Staff

 

Protocol specifications and formal description methods. Finite-state descriptions of Internet protocols. Specification and Description Language. Implementation of protocol specifications. Prerequisite: CSci 6212, 6433.

6441 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 6221, 6461, or equivalent. (Fall)

6442 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 6441. (Spring)

6443 Data Mining (3)

Bellaachia and Staff

 

Fundamental concepts of data mining. Algorithm techniques for data mining, including classification, clustering, association rules mining. Prerequisite: CSci 6441 or equivalent or permission of instructor. (Spring)

6448 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 1311 and either CSci 1132 or 1112. (Spring)

6451 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 6221, 6461. (Spring)

6461 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 1311, 1112, 2461. (Fall and spring) (Spring)

6511 Artificial Intelligence (3)

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 4511, 6212. (Fall)

6512 Adaptive Learning Systems I (3)

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 4511, 6212. (Fall)

6515 Natural Language Understanding (3)

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 6511. (Fall, odd years)

6519 Models of Cognition (3)

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 4511, 6212. (Spring, odd years)

6531 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 6461. (Fall)

6532 Information Policy (3)

Staff

 

Roles, issues, and impacts of computer-based information systems in national and international arenas, focusing on privacy, equity, freedom of speech, intellectual property, and access to personal and governmental information. Professional responsibilities, ethics, and common and best practices in information use. May be taken for graduate credit. (Fall)

6534 Information Security in Government (3)

Heller and Staff

 

Information assurance policies and standards in the federal government as mandated by legislation; security processes following NIST standards; technical tests and validation methods used in the federal government; review of federal threats and vulnerabilities; and government positions in information assurance. (Fall and spring)

6541 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 6531. (Spring)

6542 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 6541.

6547 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 6431, 6531.

6548 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 6541. (Fall)

6554 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 4554. (Spring)

6555 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 4554 or permission of instructor. (Fall)

6561 Design of Human-Computer Interface (3)

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 6221. (Spring)

6562 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 6221. (Fall)

6572 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 6212 or equivalent; programming experience in C/C++ or Java. (Spring)

6900 Colloquium (0)

Staff

 

Lectures by outstanding authorities in computer science. Topics to be announced each semester. (Fall and spring)

6907 Special Topics (1 to 3)

Staff

 

Topics to be announced in the Schedule of Classes. (Fall and spring)

6908 Research (arr.)

Staff

 

Applied research and experimentation projects, as arranged. May be repeated for credit.

6998-99 Thesis Research (3-3)

Staff

8211 Advanced Topics in 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 6212. (Spring, odd years)

8231 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 6232, 6233. (Fall, even years)

8331 Advanced 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 6331. (Fall)

8401 Advanced Topics in Systems (3)

Rotenstreich and Staff

 

Seminar on current research and developments in computer operating systems. May be repeated for credit. (Spring, even years)

8431 Advanced Topics in Computer Networks and Networked Computing (3)

Cheng 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 6461, 6212, 6433. (Fall, odd years)

8440

Advanced Topics in Data Management (3)

Berkovich and Staff

 

Seminar on current research and developments in computer database systems and information retrieval. May be repeated for credit. Prerequisite: CSci 6442 or 6451. (Fall, odd years)

8511

Advanced Topics in Artificial Intelligence (3)

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)

8531 Advanced Topics in Security (3)

Vora and Staff

 

Seminar on current research and developments in information assurance. May be repeated for credit. Prerequisite: CSci 6531. (Spring, even years)

8554

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 6554. (Fall, even years)

8900 Advanced Selected Topics (3)

Staff

 

Topics announced in the Schedule of Classes.

8901 Research and Evaluation Methods (3)

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 3115. (Fall)

8998 Computer Science Research (arr.)

Staff

 

Limited to students preparing for the Doctor of Philosophy qualifying examination. May be repeated for credit.

8999 Dissertation Research (arr.)

Staff

 

Limited to Doctor of Philosophy candidates. May be repeated for credit.

 

The George Washington University

© 2012 University Bulletin
The George Washington University All rights reserved.

Information in this bulletin is generally accurate as of fall 2011. The University reserves the right to change courses, programs, fees, and the academic calendar, or to make other changes deemed necessary or desirable, giving advance notice of change when possible.