|
 |
Course Information
CS410/510.Computer-Based Productivity ILecture 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.
CS456/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 3 hours; 3 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 Science1-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.Practicum1-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.
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. Prerequisites:CS 455/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. 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 772/872.Network Security: Concepts, Protocols and Programming
Lecture 3 hours;3 credits.Prerequisite:CS 555.
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 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.
|
|