|
CS410/510.Computer-Based Productivity
I.Lecture 3 hours;
3 credits.Prerequisite:
CS 350. 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, CS 411.
(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:CS 410. Students refine project development begun in CS 410.
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; laboratory 1
hour; 3 credits.Prerequisite:CS 361.
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.Prerequisites:CS 250, MATH 316U. Laboratory work required.
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.
Prerequisites:CS 150, familiarity with Internet, web, and a high level
programming language. Laboratory work
required.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 with lab 3 hours; 3 credits. Prerequisites: CS 150, CS 450 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.
Prerequisite: CS 361 and 381.Laboratory work required.
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.
Prerequisites:CS 450/550.Laboratory work required.
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. Prerequisites: CS450/550. Laboratory
work required. 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. Prerequisite: CS452/552.
Laboratory work required. 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.
CS 456/556. Database Administration I:
Lecture 3 hours; 3 credits. Prerequisites: CS395 or CS450/550. Laboratory work
required. 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 1.5 hours; 1.5 credits. Prerequisites: CS456/556. Laboratory work
required. 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.Prerequisites:CS 361 and matrix theory.
Laboratory work required.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.
CS475/575.Introduction to Computer
Simulation:Lecture 3 hours; Credit: 3 Prerequisites: Math
330U, CS 361. 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.
CS476/576.Systems Programming: Lecture 3 hours; 3 credits.
Prerequisites: CS 471. Laboratory work required. 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).
CS 480/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.Prerequisites:MATH 316U C or FORTRAN.
Laboratory work required.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.Prerequisite:CS 361.
Laboratory work required.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:CS 361. 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:CS 665. 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:CS 483 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.
Prerequisites:CS 361, MATH
309U, 211 (or 205).Laboratory work
required. 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.Prerequisite:CS 450/550.Laboratory work required.
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.Prerequisite:CS 480 or 580. 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.
Prerequisite:CS 460 or
560.Laboratory work required. The computer graphics.Fundamentals:
homogeneous coordinates, transformations and perspective.
Theory of parametric an implicit curve and
surface models:plar 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:CS 270. 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:CS 600. 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.Lecture3 hours;3 credits.Prerequisite:CS 600.Laboratory work
required. 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.Lecture3hours;3 credits.Prerequisite:CS 551.Laboratory work
required. 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.
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:MATH 315U or 316U
and CS 600. 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:CS 450/550 and 471.
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.
CS762/862.Real-time Systems.Lecture 3 hours;3 credits.
Prerequisites:CS 471, 450/550
and 455/555.Laboratory work required. 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:CS 471. 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.
CS 775/875.Distributed Systems.Lecture
3 hours;3 credits.Prerequisites:CS 471, 550 and 555. 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.Prerequisite:CS 555 and 576. 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:CS 555 and 576.
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:CS 480/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:CS 590, 600.
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.
|