Old Dominion University
A to Z Index   |   Directories

College of Sciences


Computer Science


Resources

Graduate Course Information

CS510 Computer-Based Productivity I

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Provides students with challenges of business environments in developing a technology based project. Students identify a societal problem, identify solutions, define project solutions, develop project objectives, conduct feasibility analysis, establish organizational group structure to meet project objectives and develop formal specifications. Students make formal technical project presentations and develop web documentation. Students prepare a draft grant proposal.

CS511 Computer-Based Productivity I

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Students write professional and non-technical documents and continue the development of the project defined in CS 410. Written work is reviewed and returned for corrective rewriting. Students will design and develop a project prototype, and demonstrate the prototype to a formal panel along with delivering the formal product specifications and a draft formal grant proposal. (qualifies as a CAP experience) (This is a writing intensive course.).

CS517 Computational Methods and Software

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Algorithms and software for fundamental problems in scientific computing. Topics: properties of floating point arithmetic, linear systems of equations, matrix factorizations, stability of algorithms, conditioning of problems, least-squares problems, eigenvalue computations, numerical integration and differentiation, nonlinerar equations, iterative solution of linear systems.

CS 518 Web Programming

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Overview of Internet and World Wide Web; web servers and security, HTTP protocol; web application and design; server side scripts and database integration, and programming for the Web.

CS531 Web Server Design

General Information: 3 credits. Laboratory work required.
CS531 Prerequisites: Familiarity with Internet and network (including socket) programming.
Description: Extensive coverage of the hypertext transfer protocol (HTTP), specifications and commentary (IETF RFCs), and implications for servers and clients. Students will develop a web server providing common HTTP functionality and implementing all HTTP (including unsafe and conditional) methods, content negotiation, transfer and content encoding, basic & digest authentication, and server-side execution of programs (i.e., dynamic resources). Frequent in-class demonstrations of progress and protocol conformance will be required.

CS541 App Development for Smart Devices

General Information: 3 credits. Laboratory work required.
CS541 Prerequisites: Knowledge of Java
Description: Project-oriented coverage of the principles of application design and development for Android platform smart devices. Topics include user interface; input methods; data handling; network techniques; localization and sensing. Students are required to produce a professional-quality mobile application.

CS550 Database concepts

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
CS550 Prerequisites: Familiarity with elementary set theory, propositional logic, and any two programming languages are expected; a course in finite mathematics or discrete structures is recommended.
Description: Three level database architecture. The relational database model and relational algebra. SQL and its use in database procedures and with conventional programming languages. Entity relationship modeling. Functional dependencies and normalization. Transactions, concurrency and recovery.

CS551 Software Engineering Survey

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Evaluation of software development methodologies. Topics include: software life cycle models, software specification and design methodologies, informal specification techniques, formal specifications, design tools, software analysis, quality assurance, life cycle management, software costing models and complexity.

CS554 Network Management

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: The administration of computer networks and their interaction with wide area networks: network topologies for local and wide area networks, common protocols and services, management of distributed file services, routing and configuration, security, monitoring and trouble-shooting.

CS555 Introduction to Networks and Communications

General Information: Lecture 3 hours; 3 credits.
Description: Internet and the 5-layered protocol architecture for the Internet, applications built on top of data networks, specifically the Internet, the web, the transport layer, TCP and UDP protocols, the network layer, the data link layer, also some of the technologies for the physical layer.

CS556 Database Administration I

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Programming in SQL and PL/SQL and hands-on development of DBA administration skills in the ORACLE database environment. Creating database objects, querying and manipulating, and PL/SQL programming constructs. Setup and administer databases. Create, organize, and manage database files, users, privileges and other resources.

CS557 Database Administration II

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Prerequisite: CS456/556
Description: Advanced DBA administration skills in the Oracle database environment. Topics in planning and implementing backup and recovery of the database. Performance optimization and tuning of database and applications including memory and disk structures. Configuration and maintenance of clients and servers in a network environment.

CS558 Unix System Administration

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Prerequisite: experience with UNIX. Laboratory work required
Description: Aspects of administering a SOLARIS/UNIX operating system in a networked environment are covered. Topics covered include installation, file system management, backup procedures, process control, user administration, device management, Network File Systems (NFS), Network Information Systems (NIS), UNIX security, Domain Name Services (DNS), and integration with other operating systems.

CS560 Computer Graphics

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: An introduction to graphical systems and methods. Topics include basic primitives, windowing, transformations, hardware, interaction devices, 3-D graphics, curved surfaces, solids, and realism techniques such as visible surface, lighting, shadows, and surface detail. Requires project involving OpenGL programming.

CS562 Cybersecurity Fundamentals

General Information: Lecture 3 hours; 3 credits.
Description: Introduction to networking and the Internet protocol stack; Vulnerable protocols such as HTTP, DNS, and BGP; Overview of wireless communications, vulnerabilities, and security protocols; Introduction to cryptography; Discussion of cyber threats and defenses; Firewalls and IDS/IPS; Kerberos; Transport Layer Security, including certificates; Network Layer Security.

CS563 Cryptography for Cybersecurity

General Information: Lecture 3 hours; 3 credits.
Prerequisite: CS 270
Description: Mathematical foundations including information theory, number theory, factoring, and prime number generation; Cryptographic protocols including basic building blocks and protocols; Cryptographic techniques including key generation and key management, and applications; Cryptographic algorithms--DES, AES, Stream Ciphers, Hash functions, digital signatures, etc.

CS564 Networked System Security

General Information: Lecture 3 hours; 3 credits.
Description: Authentication in cyber systems including password-based, address-based, biometrics-based, and SSO systems; Authorization and accounting in cyber systems; Securing wired and wireless networks; Secured applications including secure e-mail services, secure web services, and secure e-commerce applications; Security and privacy in cloud environments.

CS565 Information Assurance

General Information: Lecture 3 hours; 3 credits.
Description: Introduction to information assurance. Metrics, planning and deployment; identity and trust technologies; verification and evaluation, incident response; human factors; regulation, policy languages, and enforcement; legal, ethical, and social implications; privacy and security trade-offs; system survivability; intrusion detection; fault and security management.

CS575 Introduction to Computer Simulation

General Information: Lecture 3 hours; 3 credits.
Description: Efficient implementation methods. Time management. Planning and design of simulation experiments. Statistical issues in simulation. Generation of random numbers and stochastic variates. Programming with graphically- and text-based simulation languages. Verification and validation of simulation models. Distributed simulation. Special topics such as HLA will be discussed.

CS576 Systems Programming

General Information: Lecture 3 hours; 3 credits.
Description: This course is to help students fully understand and utilize the internal workings and capabilities provided by modern computing, networking and programming environments. Topics include: Shell Script Programming, X Windows (Xlib and Motif), UNIX internals (I/O, Processes, Threads, IPC and Signals), Network Programming (UDP/TCP Sockets and Multicasting) and Java Systems Programming (SWING, Multithreading and Networking).

CS578 Computational Geometry, Methods and Applications

General Information: Lecture 3 hours; 3 credits.
Description: The discipline of Computational Geometry is devoted to the study of algorithms which are formulated in terms of spatially embedded arrangements of objects, such as points, lines, surfaces, and solids. This course covers fundamental algorithms including convex hulls, polygon triangulations, point location, Voronoi diagrams, Delaunaytriangulations, binary space partitions, quadtrees, and other topics.

CS580 Introduction to Artificial Intelligence

General Information: Lecture 3 hours; 3 credits. Laboratory work required,
Description: Introduction to concepts, principles, challenges, and research in major areas of AI. Areas of discussion include: natural language and vision processing, machine learning, machine logic and reasoning, robotics, expert and mundane systems.

CS586 Introduction to Parallel Computing

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: The motivation for and successes of parallel computing. A taxonomy of commercially available parallel computers. Strategies for parallel decompositions. Parallel performance metrics. Parallel algorithms and their relation to corresponding serial algorithms. Numerous examples from scientific computing, mainly in linear algebra and differential equations. Implementations using public-domain network libraries on workstation clusters and computers.

CS588 Principles of Complier Construction

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Description: Theoretical and practical aspects of compiler design and implementation. Topics will include lexical analysis, parsing, translation, code generation, optimization, and error handling.

CS595 Topics in Computer Science

General Information: 1-3 credits.

CS597 Independent Study in Computer Science

General Information: 1-3 credits.
Prerequisite: Permission of the instructor.
Description: Independent study under the direction of an instructor.

CS600 Algorithms and Data Structures

General Information: Lecture 3 hours; 3 credits.
Description: Design of efficient algorithms and the mathematical analysis of their performance. Topics to be covered include: mathematical preliminaries, sorting and order statistics, advanced data structures, linear programming, exploring graphs, parallel algorithms, randomized algorithms, transformation of the domain, and NP-completeness. (offered fall).

CS635 Parallel Computer Architecture

General Information: Lecture 3 hours; 3 credits.
Prerequisite: CS665
Description: This is a first course in parallel architecture, with an emphasis on the description and evaluation of commercially available machines. Topics to be covered include: parallelization and performance metrics, scalability and the "laws" of Amdahl and Gustavson, computational similarity, models of computation, parallelization paradigms, networkcharacteristics and topology, communication calculus and templates, pipelining and parallelism, processor types, memory hierarchy, cache coherence protocols, latency-hiding mechanisms, routing algorithms, and languages and libraries to support parallel architecture.

CS656 Database Methodology

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Prerequisite: CS450/550
Description: Analysis, design and implementation of databases and database applications using modern software engineering methods. Database CASE tools. Analysis using process, function, and dataflow analysis in conjunction with entity relationship modeling. Database diagrams and database design. Application suite design and high level design of applications. Refining implementations.

CS660 3D Computer Graphics

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Prerequisite: CS560
Description: The mathematical tools needed for the geometrical aspects of 3D computer graphics. Fundamentals: homogeneous coordinates, transformations and perspective. Theory of parametric and implicit curve and surface models: polar forms, Bezier arcs and de Casteljau subdivision, continuity constraints, B-splines, tensor product, and triangular patch surfaces. Representations of solids and conversions among them. Beometric algorithms for graphics problems, with applications to ray tracing, hidden surface elimination, etc.

CS665 Computer Architecture

General Information: Lecture 3 hours; 3 credits.
Prerequisite: CS270
Description: A detailed and quantitative study of the architecture of modern uni-processor computers. The major components are: the technology drivers, performance measures, instruction sets (including 80X86, VAX, and a generic RISC which is very similar to the MIPS series), processor implementation, advanced pipelining and superscalar features, cache and memory design, and I/O. The emphasis is on obtaining quantitative measures of performance, describing interactions of the various components, studying trade-offs between the components in commercial processors, and integration into a complete computer system including interaction of the software and hardware. (offered spring).

CS667 Cooperative Education

General Information: 1-3 credits.

CS669 Practicum

General Information: 1-3 credits.

CS690 Colloquium.

General Information: Lecture 1 hour; 1 credit.
Description: A one-hour weekly lecture given by faculty from Old Dominion and other institutions.

CS697 Independent Study in Computer Science

General Information: 1-3 credits.
Prerequisite: Permission of the instructor.

CS698 Master's Project

General Information: 3 credits.Departmental permission required.

CS699 Thesis Research

General Information: 3 credits. Departmental permission required.

CS710/810 Applied Algorithms

General Information: Lecture 3 hours; 3 credits.
Prerequisite: CS600
Description: The course will involve solving two or three comprehensive projects anchored in computer science and engineering. Possible topics for projects include: computational issues in network design and analysis; scheduling problems and applications; digital geometry and pattern recognition; image processing and computer vision applications; robotics. The basic thrust is to demonstrate the usefulness and power of algorithm design and analysis in solving real-life problems.

CS711/811 Software Validation

General Information: Lecture 3 hours; 3 credits. Laboratory work required.
Prerequisite: CS551
Description: The most common path to improved confidence in a program is via testing. This course explores divergent and sometimes conflicting approaches to conducting testing and to measuring the resulting confidence. Topics include the theoretical basis for testing, common testing methods, statistical measures of program reliability, and the relationship between correctness and reliability.

CS712/812 Stochastic Modeling

General Information: Lecture 3 hours; 3 credits.
Prerequisite: STAT330
Description: Stochastic processes are ways of quantifying the dynamic relationship of sequences of random events. This course will expose the participants to standard concepts and methods of stochastic modeling, as well as the rich diversity of applications. Topics include, but not limited to, Markov chains in discrete and continuous time, Poisson processes, renewal theory and branching processes.

CS713/813 Modeling and Simulation in Computational Biology

General Information: Lecture 3 hours; 3 credits.
Description: This course covers current problems and state of computations in bimolecular modeling, molecular mechanics including force field origin, composition, and evaluation techniques, and simulation techniques including conformational sampling, geometry optimization, molecular dynamics and Brownian dynamics.

CS714/814 Monte Carlo Simulation

General Information: Lecture 3 hours; 3 credits.
Description: This course serves to illustrate important principles in Monte Carlo simulation methods and to demonstrate their power in applications. The course covers Metropolis-Hastings algorithm, Gibbs sampler, Markov Chain Monte Carlo, acceptance-rejection method, Monte Carlo integration, quasi-Monte Carlo, random walk, and random number generation.

CS715/815 Medical Image Computing and Simulations

General Information: Lecture 3 hours; 3 credits.
Prerequisite: CS517
Description: This course combines the theory and practices in medical imaging computing with emphasis on Image Guided Therapy (IGT). Topics include rigid registration, approximation/interpolation, segmentation, no-rigid registration, image-to-mesh conversion, real time parallel computing, software development for medical applications and solution of large sparse linear systems.

CS716/816 Communication Networks Simulation and Evaluation

General Information: Lecture 3 hours; 3 credits.
Description: Fundamental topics in bioinformatics; introduction to molecular biology, pair-wise sequence alignment, database search methods such as FASTA and BLAST, multiple sequence alignment, genome scale alignment, protein secondary structure prediction, and protein tertiary structure prediction. Computational projects are expected in this course.

CS717 Bioinformatics I - NonCS

General Information: Lecture 3 hours; 3 credits.
Prerequisite: Permission of the instructor.
Description: This is a bioinformatics course for non-CS majors. It introduces the fundamental topics in bioinformatics: introduction to molecular biology, pair-wise sequence alignment, database search methods such as FASTA and BLAST, multiple sequence alignment, genome scale alignment, protein secondary structure prediction and protein tertiary structure prediction.

CS722/822 Machine Learning

General Information: Lecture 3 hours; 3 credits.
Description: This course presents both the foundational and the practical aspects of modeling, analyzing, and mining of computerized data sets, including classification, regression, clustering, semi-supervised learning, structured sparsity learning, etc. The course assignments are designed to contain both theoretical and programming components in order to train students to gain hands-on-experience.

CS723/823 Introduction to Bioinformatics

General Information: Lecture 3 hours; 3 credits.
Description: This course introduces the fundamental knowledge in bioinformatics and the current advances in selected directions. The topics include: fundamental concepts and experimental techniques in molecular biology, computational methods in genomic sequence comparison and analysis, and computational methods in molecular structural modeling.

CS724/824 High Performance Computing with GPUs for Large Scale Simulations

General Information: Lecture 3 hours; 3 credits.
Description: This course introduces parallel programming principles and has emphasis on hands-on programming and deploying high-performance computing applications for different science and engineering disciplines. Topics includes programming on NVIDIA GPU, efficient GPU accelerated implementation of: (a) computation intensive kernels (b) few sample large scale financial and molecular dynamics simulations, and (c) large scale data analytics and mining.

CS725/825 Information Visualization

General Information: Lecture 3 hours; 3 credits.
Description: This course covers the theory and application of information visualization. Research on graph design, visual perception, cognition, and interaction will be covered. Research and practical techniques for the display of graphs, networks, hierarchies, text, and complex multivariate data will be addressed. Course projects will require the development of interactive web-based visualizations.

CS726/826 Applications of Graphs in Bioinformatics

General Information: Lecture 3 hours; 3 credits.
Description: This course links the fundamental concepts and algorithms of graphs with the actual biological problems. Various biological problems will be selected to discuss the formulation of the graph, the graph algorithms, and the performance analysis.

CS734/834 Introduction to Information Retrieval

General Information: 3 credits. Laboratory work required.
Description: Theory and engineering of information retrieval in the context of developing web-based search engines. Topics include issues related to crawling, ranking, query processing, retrieval models, evaluation, clustering, machine learning, and other aspects related to building web search engines. Students will perform a mix of hands-on development and coding, as well as theoretical exploration of the research literature.

CS744/844 Performance Evaluation of Computer Systems and Networks

General Information: Lecture 3 hours; 3 credits.
Prerequisites: CS450/550, CS471
Description: The course will introduce some of the commonly used techniques in the performance evaluation of computing systems. Students will be exposed to a variety of analytical and simulation tools used in this field. The applicability of the techniques will be illustrated through case studies.

CS751/851 Introduction to Digital Libraries

General Information: Lecture 3 hours; 3 credits.
Description: Digital Libraries (DLs) are an increasingly popular research area that encompass more than traditional information retrieval or database methods and techniques. The course will cover a brief history of DL development, with emphasis on World Wide Web implementations. Case studies will be performed on various DLs. The class will focus heavily on project work. At the end of the course, students will be prepared to develop, evaluate, or apply digital library technologies in their work environment. Topics include: Repositories; Distributed Searching; Metadata Harvesting; Preservation, Reference Linking and Citation Analysis.

CS752/852 Wireless Communications and Mobile Computing

General Information: Lecture 3 hours; 3 credits.
Description: This course looks at fundamental issues in the area of wireless networks and mobile computing. The course material is organized around the following broad themes: Basics of mobile and wireless communications; Cellular communications: Bandwidth allocation and reservation, Location management, Call admission strategies and QoS issues: Mobile IP and Mobile TCP; Mobile Ad-Hoc NETworks (MANET): Routing, Multimedia and QoS support; Sensor networks.

CS771/871 Advanced Operating Systems

General Information: Lecture 3 hours; 3 credits.
Description: This course covers principles, design decisions, design techniques, policies, and mechanisms in the design and implementation of general-purpose multiprogramming and distributed operating systems. Topics to be covered include: concurrency, interprocess communication, threads, access control, protection and authentication, multiprocessor operating systems.

CS772/872 Network Security: Concepts, Protocols and Programming

General Information: Lecture 3 hours; 3 credits.
Prerequisites: CS 471 and CS 455, or CS 555
Description: This course deals with the basic protocols, techniques and programming issues to secure internet applications and traffic. Topics include: Cryptographic algorithms tools and concepts; Secure Socket Layer (SSL), Transport Layer Security (TLS) and IPSec protocols; Securing Internet Applications: HTTP, SMTP, UDP and multicast; Hands on socket programming using C and Java.

CS 773/873 Data Mining and Security

General Information: Lecture 3 hours; 3 credits
Description: Introduction to data mining; Algorithms including naive Bayes, Decision Trees and Rules, Association Rules, Linear classification, and Clustering; Cross validation, Lift charts, ROC Curves; SVM, Bayesian networks, K-means clustering; Data transformation; PCA; Ensemble Learning; Application of data mining to security and privacy including authentication, authorization, and intrusion detection; Privacy-preserving data mining.

CS775/875 Distributed Systems

General Information: Lecture 3 hours; 3 credits.
Prerequisites: CS 471, CS550, CS555
Description: This course deals with the design issues in distributed computing systems and will discuss the motivation for building distributed systems, various algorithms and protocols proposed in literature for system operability, and some of the experimental distributed systems that have been built in the last few years. Special attention will be paid to the fault-tolerant and performance aspects of these systems. The project component of this course will enable students to get hands-on experience of implementing some of the distributed algorithms.

CS778/878 Networked Multimedia Systems

General Information: Lecture 3 hours; 3 credits.
Prerequisites: CS555, CS576
Description: This course will introduce some of the technical foundations for capturing, transmitting, presentation and storage of continuous multimedia. Students will explore the applications of multimedia and techniques in some areas such as group collaboration and network based education. Topics covered include: Architectures and issues for distributed Multimedia Systems Support for real-time multimedia applications, quality-of-service, synchronization, and presentation of multiple multimedia streams.

CS779/879 Design of Network Protocols

General Information: Lecture 3 hours; 3 credits.
Description: Understanding the design, implementation and performance of network protocols using TCP/IP protocol suite as a case study. The students will have hands-on experience on low-level tools and will access and study the source code of these protocols and writing networking software applications. Topics include: socket interface, IPv4 and IPv6, routing, UDP, multicasting and IGMP, TCP specification, implementation and performance.

CS791 Topics in Computer Science

General Information: 1-3 credits.
Prerequisite: Permission from the instructor.

CS795 Topics in Computer Science

General Information: 1-3 credits.
Prerequisite: Permission from the instructor.

CS796/896 Topics in Computer Science

General Information: 1-3 credits.
Prerequisite: Permission from the instructor.

CS891 Graduate Seminar

General Information: 1-3 credits
Prerequisite: Permission from the instructor.

CS895 Topic in Computer Science Seminar

General Information: 1-3 credits
Prerequisite: Permission from the instructor.

CS896 Topic in Computer Science Seminar

General Information: 1-3 credits
Prerequisite: Permission from the instructor.

CS899 Doctoral Dissertation

General Information: 1-9 credits. Departmental permission required.

CS999 Computer Science 999

General Information: 1 credit. A one-hour pass/fail registration required of all graduate students to maintain active status during the final semester prior to graduation. After successfully passing the candidacy examination, all doctoral students are required to be registered for at least one graduate credit each term until the degree is complete.