Old Dominion University
A to Z Index   |   Directories

College of Sciences


Computer Science


Resources

Course Information

CS410/510 Computer-Based Productivity I

Lecture 3 hours; 3 credits. Prerequisite: CS350
A large realistic problem statement is given to be analyzed. Design and management methodologies are provided to guide students through the development of a problem solution. Students interview industry represenatives to obtain support material for several discussion presentations. Activities include:problem analysis, identification and evaluation of major issues, development of management plans, and integration of business constraints into the generation of a formal set of project specifications for use in the subsequent course, CS411. (510 will not count toward the M. S.or Ph.D. in CS).(qualifies as a guaranteed practicum experience)

CS411/511 Computer-Based Productivity II

Lecture 3 hours; 3 credits. Prerequisite: CS410
Students refine project development begun in CS410. Students are guided through the development of a detailed functional system specification. Support documentation from lower level courses and individual research efforts are incorporated into the specification. Activities include: system hardware and computer software analysis, cost benefit analysis, social impact analysis, system prototype development, and development of a comprehensive management plan. Specification will be suitable to fully implement the project solution. (511 will not count toward the M. S. or Ph.D. in CS)(qualifies as a guaranteed practicum experience)

CS412/512 Object-Oriented Programming and Reuse

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS361
This course will introduce the student to the basic techniques of object-oriented programming design. The emphasis will be on the development of clean interfaces that permit easy modification and reuse of software components. Other techniques, drawn from outside the object-oriented approach, that significantly contribute to this goal will also be discussed. Students will gain faculty in an object-oriented programming language and will learn the constructs that differentiate such languages from others.

CS417/517 Computational Methods and Software

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS250, MATH316U
A course on fundamental computational algorithms and their behavior in floating point arithmetic. The topics include: The IEEE floating point standard, round-off errors in algorithms. Numerical programming environments and languages. Linear systems of equations. Matrix factorizations. Least-squares problems, data-fitting. Exploiting the memory hierachy. Nonlinear equations. Bisection, Newton's method, systems of nonlinear equations.

CS418/518.Web Programming

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS150, familiarity with Internet, web, and a high level programming language.
Overview of internet and world wide web; Web server and security, HTTP protocol; Web page design using Javascript, dynamic HTML, etc; server side scripts and database integration, Java programming for the web.

CS419/519 Internet Databases

An Internet based course; Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS150, CS450 and familiarity with Unix and the Internet.
Investigating the state of art in database applications on the Internet. Exploring some sample database management systems that are suitable for implementing database applications over the Web. Learning and applying Web programmingtechnology and tools for database implementation on the Web. Investigating Internet database application issues including database design, human computer interface (HCI) techniques, WWW user survey results, and Web-site evaluation criteria for designing good Web database applications. Active learning is emphasized. Class projects and term paper are required.

CS450/550 Database concepts

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS361, CS381
Database Architecture. The relational model and relational algebra. SQL. Embedded SQL and PL/SQL. Entity Relationship Modelling. Functional dependencies and normalization. Network and object-oriented databases. Transactions, concurrency and recovery.

CS451/551 Software Engineering Survey

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS450/550
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.

CS452/552 Database Software Development Methodology

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS450/550
Study of an Object-Oriented methodology for the specification and implementation of software systems in database application environments. Focus on elements of object-oriented modeling and design for multi-tier database application architectures. Implementation of application models using a state-of-the-art database platform. Examination of application performance issues.

CS453/553 Database Software Development Methodology Workshop

Lecture 1.5 hours; 1.5 credits. Laboratory work required. Prerequisite: CS452/552
Project-oriented development of small to mid-size database application software. Elements of group development, architectural separation, systematic documentation, and component-based development are emphasized. Self-learning by students of advanced skills on the database platform used is expected.

CS454/554 Network Management

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS 270
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, administration, installation, and configuration of UNIX operating systems.

CS455/555 Introduction to Networks and Communications

Lecture 3 hours; 3 credits. Prerequisites: CS270, STAT330U
ISO OSI model. Protocols for physical, datalink, network, and transport layers. Protocol correctness and efficiency. Local area networks and wide-area networks. ATM. Network security. Error detection and recovery. Introduction to long haul and local area networks.

CS456/556 Database Administration I

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS395 or CS450/550
Hands-on development of DBA administration skills on a state-of-the-art database platform; Installation and management of the physical database structure, managing database objects; managing database usage. Understanding and using custom Database administration tools. Introduction to database tuning, tuning database applications, tuning memory and disk structures.

CS457/557 Database Administration II

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS456/556
Advanced DBA administration skills on a state-of-the-art database platform; Overview of backup and recovery, logical and physical backup and recovery, advanced topics in backup and recovery. Configuration and maintenance of distributed databases, and setup of client-server in a network environment.

CS460/560 Computer Graphics

Laboratory work required. Prerequisites: CS361 and matrix theory.
An introduction to graphical systems and methods. Topics include basic plotting, windowing, transformations, hardware, interaction devices and techniques, standardized packages, user interface and 3-D graphics.

CS461/561 Computer Vision

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS361
Image formation, Extraction of structures and information from images, mathematical methods in computer vision, 2D and 3D reconstruction and visualization, model building using algebraic surfaces, edge detection, shape from shading, photometric stereo, stereo vision, active vision, structure from motion, range finders and range images, feature tracking, object representation and object recognition.

CS462/562 Cybersecurity Fundamentals

Online; 3 credits.
The course introduces the basic components and concepts needed for understanding cybersecurity. These include basics and security vulnerabilities of networks, operating systems, databases, and distributed systems. In addition, some fundamentals of security enforcement will be introduced and discussed.

CS463/563 Crytography for Cybersecurity

Online; 3 credits.
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.

CS464/564 Networked System Security

Online; 3 credits.
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.

CS465/565 Information Assurance

Online; 3 credits.
Introduction to Information assurance; Metrics; Planning and Deployment; Incident Response; Regulation, policy languages, and enforcement; Legal, ethical, and social implications; Privacy and security trade-offs; System survivability; Intrusion detection; Fault and security management; IA in the corporate and defense environments.

CS475/575 Introduction to Computer Simulation

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

CS476/576 Systems Programming

Lecture 3 hours; 3 credits. Prerequisites: CS471
This course is to help students fully understand and utilize the internal workings and capabilities provided by modern computing environment as typified by a network of workstations communicating with TCP/IP protocols. Topics includes: Shell Programming, Xlib/Motif Interfaces, Network Programming using Berkeley Sockets, UNIX Systems Programming (I/O, Processes and Signals), Java Systems Programming (Swing and AWT interfaces, Threads and Networking) (offered fall).

CS478/578 Computational Geometry, Methods and Applications

Lecture 3 hours; 3 credits. Prerequisites: MATH211, CS361
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, Delaunay triangulations, binary space partitions, quadtrees, and other topics.

CS480/580 Intelligent Agents

Lecture 3 hours; 3 credits. Laboratory work required, Prerequisite: CS361
Topics include: Introduction to artificial intelligence, structure of intelligent agents, search techniques, knowledge and reasoning, first order logic, building knowledge base, inference, logical reasoning systems, planning, probabilistic reasoning, decision making, neural networks, applications in natural language processing, perception, computer vision and robotics.

CS486/586 Introduction to Parallel Computing

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: MATH316U
C or FORTRAN. 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.

CS488/588 Principles of Complier Construction

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS361
Theoretical and practical aspects of complier design and implementation.Lexical analysis, parsing, translation, code generation, optimization, and error handling. Students will design and implement a working complier for a simple language.

CS495/595 Topics in Computer Science

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

CS497/597 Independent Study in Computer Science

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

CS600 Algorithms and Data Structures

Lecture 3 hours; 3 credits. Prerequisite: CS361
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

Lecture 3 hours; 3 credits. Prerequisite: CS665
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, network characteristics and topology, communication calculus and templates, pipelining and parallelism, processor types, memory hierachy, cache coherence protocols, latency-hiding mechanisms, routing algorithms, and languages and libraries to support parallel architecture.

CS648 Computational Geometry and Applications

Lecture 3 hours; 3 credits. Prerequisite: CS483 or equivalent.
This course is concerned with the design and analysis of algorithms for solving geometric problems. Geometric problems arise in such fields as image processing, computer vision, graphics, VLSI, spatial planning, and robotics. Topics to be covered include: convex hulls, triangulations, proximity graphs, covering problems, polygonal visibility, external polygons, polygon decomposition, distance computations, the diameter of a set, and intersection problems.

CS650 Computer-Aided Design

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS361, MATH309U, MATH211 or MATH205
Theory and application of interactive design systems. Topics include representation of curves and surfaces, splines and variational properties, tensor product interpolants and Coon's patches.

CS656 Database Methodology

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS450/550
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.

CS657 Applied Logic for Artificial Intelligence

Lecture 3 hours; 3 credits. Prerequisites: CS480 or CS580
Applications of logic.First order predicate calculus as a reasoning agent, deductive reasoning and resolution refutation, nonmonotonic reasoning, induction, reasoning with uncertain information, reasoning about knowledge and belief, meta level representation and reasoning and architectures for intelligent agents.

CS660 3D Computer Graphics

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

CS665 Computer Architecture

Lecture 3 hours; 3 credits. Prerequisite: CS270
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 trade0-offs between the components in commercial processors, and integration into a complete computer system including interaction of the software and hardware. (offered spring)

CS669 Practicum

1-3 credits.

CS686 Algorithmic Graph Theory

Lecture 3 hours; 3 credits. Prerequisite: CS600
Investigate a variety of graph algorithms, both sequential and parallel, known to have applications to such areas as scheduling, robotics, computational geometry, VLSI design, and pattern recognition. The students will learn graph algorithms both sequential and parallel in a hybrid environment: the course contains formal lectures along with team projects.

CS690 Colloquium.

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

CS697 Independent Study in Computer Science

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

CS698 Master's Project

3 credits.Departmental permission required.

CS699 Thesis Research

3 credits. Departmental permission required.

CS710/810 Applied Algorithms

Lecture 3 hours; 3 credits. Prerequisite: CS600
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

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisite: CS551
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

Lecture 3 hours; 3 credits. Prerequisite: STAT330
Stochastic processes are ways of quantifying the dynamic relationships 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, branching processes and queuing models.

CS713/813 Modeling and Simulation in Computational Biology

Lecture 3 hours; 3 credits.
This course covers current problems and state of computations in biomolecular 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

Lecture 3 hours; 3 credits.
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

Lecture 3 hours; 3 credits. Prerequisite: CS517
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, non-rigid registration, image-to-mesh conversion, real time parallel computing, software development for medical applications and solution of large and sparse linear systems.

CS716/816 Communication Networks Simulation and Evaluation

Lecture 3 hours; 3 credits.
This course introduces the foundations and the application of computer network simulations. Topics include the modeling of real-world networks with specific devices and protocols, the identification of key performance parameters, the test of performance and the verification and optimization using comparisons of measured and simulated data.

CS722/822 Machine Learning

Lecture 3 hours; 3 credits.
This course presents both the foundational and the practical aspects of modeling, analyzing, and mining of complex 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 experiences.

CS723/823 Introduction to Bioinformatics

Lecture 3 hours; 3 credits.
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, computational methods in molecular structural modeling.

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

Lecture 3 hours; 3 credits.
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

Lecture 3 hours; 3 credits.
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

Lecture 3 hours; 3 credits.
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.

CS730/830 Complexity Theory and Applications

Lecture 3 hours; 3 credits. Prerequisite: CS600
Tools to establish that a problem is NP-complete and techniques to cope with NP-completeness. Approximate solutions to NP-complete problems; randomization, local search, along with greedy strategies. Topics include:the classes P and NP, polynomial-time reduction, Cook's theorem and Karp's list of classic problems, proving NP-completeness results, NP-hardness, and coping with NP-completeness.

CS742/842 Optimization

Lecture 3 hours; 3 credits. Prerequisites: MATH315U or MATH316U and CS600
Optimization techniques for discrete and continuous functions are studied. Topics to be covered include simplex method, dual simplex method, cutting plane, branch-and-bound, dynamic programming, genetic algorithms, simulated annealing, penalty function methods and neural nets.

CS744/844 Performance Evaluation of Computer Systems and Networks

Lecture 3 hours; 3 credits. Prerequisites: CS450/550, CS471
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

Lecture 3 hours; 3 credits.
Digital Libraries (DLs) are an increasingly popular research area that encompass more than traditional information retrieval or database methods and techniques. We 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

Lecture 3 hours; 3 credits. Prerequisite: CS455/555
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, Location management, Multimedia and QoS support; Sensor networks.

CS762/862 Real-time Systems

Lecture 3 hours; 3 credits. Laboratory work required. Prerequisites: CS471, CS450/550, CS455/555
Scheduling and resource management to ensure that timing requirements are met, Operating systems for predictable operations in a complex and unpredictable environment with distributed and multiprocessor systems, real-timing communication to support real-time traffic in satisfying ensure adequate reliability and timeliness in spite of failures, and real-time databases to support time-constrained access to data that has temporal validity.

CS771/871 Advanced Operating Systems

Lecture 3 hours; 3 credits. Prerequisite: CS471
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

Lecture 3 hours; 3 credits. Prerequisite: CS555
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.

CS775/875 Distributed Systems

Lecture 3 hours; 3 credits. Prerequisites:CS 471, CS550, CS555
This course deals with the design issues in distributed computing systems. This course 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

Lecture 3 hours; 3 credits. Prerequisites: CS555, CS576
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.(offered spring)

CS779/879 Design of Network Protocols

Lecture 3 hours; 3 credits. Prerequisites: CS555, CS576
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.(offered spring)

CS786/886 Expert Systems

Lecture 3 hours; 3 credits. Prerequisite: CS480/580
Expert system approach, knowledge acquisition techniques and representation schemes, inference strategies and explanations, reasoning under uncertainty, inexact reasoning and fuzzy logic, expert system life cycle, design methodology and design examples, expert system implementation tools, managerial and organizational considerations, applications of expert systems.

CS795/895,796/896 Topics in Computer Science

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

CS830.Complexity Theory

Lecture 3 hours; 3 credits. Prerequisites: CS590, CS600
This is an advanced course in the theory of intractability; the classes P, NP are reviewed; then the classes NP-complete, co-NP, NP-hard are studied in detail using the Turing machine model as a basis; examples are chosen from all fields of computer science.

CS899 Doctoral Dissertation

1-9 credits. Departmental permission required.