Graduate Computer Science Courses

Listed below are descriptions for all graduate computer science courses offered by the WVU CSEE department. For more information about graduate degrees, see the graduate program area.

CS 272: Senior Project
Syllabus Current Class
I, II. 1-6 HR. PR: CS 176

Design and implementation of a software development project under the supervision of a computer science faculty member. Emphasis will be on requirements, specification, analysis, testing and maintenance.

CS 301: Data Structures & Software Eng
Syllabus Current Class
For CS provisional graduate students only.

Object-oriented programming concepts applied to data structures such as queues, lists, and trees; techniques and methods of developing software.

CS 302: Foundations of Algorithms
Syllabus Current Class
For CS provisional graduate students only.

Topics from discrete mathematics including sets, relations, functions, counting principles, graphs and trees; topics from analysis of algorithms including recurrences, sorting, graph and greedy algorithms, and advanced data structures.

CS 304:Semantics of Program Languages
Syllabus Current Class
For CS provisional graduate students only.

Operating systems, machine organization, number systems and the theoretical and practical aspects of assembler and other programming languages.

CS 315: Advanced Mathematics of Computation
Syllabus Current Class
Prerequisites: Math 215

Advanced theory of computation deals with the theoretical foundations of computer science. Topics include formal logic, graph theory, computability, and complexity theory.

CS 320: Solution of Nonlinear Systems
Syllabus Current Class
Prerequisites: CS 216 or Math 241

Solution of nonlinear systems of equations. Newton and Secant Methods. Unconstrained optimization. Nonlinear over-relaxation techniques. Nonlinear least squares problems.

CS 325: Numerical Interpolation and Approximation
Syllabus Current Class
Prerequisites: CS 216

Interpolation and approximation using Chebychev polynomials, Pade approximations, Chebychev economization of Taylor Series. Hermite interpolation, orthogonal polynomials and Gaussian Quadrature.

CS 326: Advanced Analysis of Algorithms
Syllabus Current Class
Prerequisites: CS 126

Advanced analysis of algorithms deals with analysis and design techniques for efficient sequential and parallel algorithm design. The topics include NP-completeness, advanced analysis techniques, advanced algorithms, and parallel algorithms.

CS 328: Artificial Neural Networks
Syllabus Current Class
3 HR. PR: MATH 143 or MATH 241 or consent; fluency in a high-level programming language.

Theory of artificial neural networks (ANN) as mathematical models; techniques of linear algebra and calculus applied to understanding ANN-based learning and recall methods; introduction of several basic ANNs; ANN implementations via student-designed software.

CS 330: Design of Language Processors
Syllabus Current Class
Prerequisites: CS 236

Study of the design and construction of automatic programming language processors. Investigation of the structure of scientific and business oriented compilers, list processors, and information processing languages.

CS 336: Formal Specification of Languages
Syllabus Current Class
Prerequisites: CS 236

Specification of language syntax by grammars and automata. Algebraic, denotational, and operational semantics. Specification of language semantics by attribute grammars, denotational semantics, and action equations. Application of formal specifications to construction of software tools.

CS 346: Advanced Automata Theory I
Syllabus Current Class
Prerequisite: CS 246

Survey of automata outside the Chomsky hierarchy with applicability to parallel processing, learning, temporal logic, and language processing.

CS 350: Software Engineering in Data Communications
Syllabus Current Class
Prerequisites: CS 256

Data communications principles, software design techniques for implementing data communications systems. Testing and debugging techniques. Networks and data link control. Software design in a network environment. A "hands-on" project in data communications design is an integral part of the course.

CS 356: Theory of Operating Systems
Syllabus Current Class
Prerequisites: CS 256

Theoretical analysis of selected aspects of operating system design. Topics include: interaction of concurrent processes; scheduling and resource allocation; virtual memory management; access control; distributed and real-time system issues.

CS 365: Distributed Database Management Systems
Syllabus Current Class
Prerequisite: CS 278

Reference architectures for distributed database management systems. Integration of local databases stored at different sites into a global database. Heterogeneity of data models. Query translation and optimization. Synchronization of concurrent access. Integrity and reliability.

CS 366: Advanced Computer Systems Architecture
Syllabus Current Class
Prerequisites: CS 266

Study of advanced computing structures, especially high-performance techniques, pipelined and parallel systems, and high-level architectures. Comparative evaluation of architectures for specific applications. Emphasis is placed on software implications of hardware structures.

CS 374: Developing Portable Software
Syllabus Current Class
Prerequisites: CS 176 and CS 256 or consent

Issues, problems, and techniques in the practical development of portable software and in the adaptation of programs to new environments; development of a simple interactive application; porting to several diverse computer platforms.

CS 375: Software Verification and Validation
Syllabus Current Class
Prerequisites: CS 136, CS 176

Principles of formal software specification; formal verification, testing, and other validation techniques.

CS 376: Formal Methods in Software Engineering
Syllabus Current Class
Prerequisites: CS 276

Principles of rigorous specification, design, implementation, validation of sequential, concurrent, and real-time software; emphasis on reading current papers on these topics.

CS 377: Data Types, Semantics and Abstraction
Syllabus Current Class
Prerequisites: CS 176

Data type and structure specification, axiomatic and model based specification, algebraic techniques, testing and verification of specifications, data abstraction facilities in modern programming languages, examples and associated algorithms.

CS 378: Theory of Database Systems
Syllabus Current Class
PR: CS 278

This course is concerned with abstract and newer database models. Database design techniques are introduced in the context of semantic data modeling. The equivalence of different relational models is proven. Object oriented database is introduced.

CS 386: Advanced Artificial Intelligence Techniques
Syllabus Current Class
Prerequisites: CS 286

Reasoning under uncertainty: Nonmonotonic reasoning, statistical reasoning, fuzzy logic. Planning, parallel and distributed AI, natural language processing, learning, connectionist models, temporal logic, common sense knowledge and qualitative reasoning, AI techniques and robotics.

CS 388: Interactive Computer Graphics
Syllabus Current Class
Prerequisites: CS 126

Viewing in three dimensions, projections, rendering of surfaces and solids, illumincation and shading, interaction handling, display processors and programming systems, and graphics system organization.

CS 390: Teaching Practicum
Syllabus Current Class
I and II. 1-3 HR. PR: Consent.

Supervised practices in college teaching of computer science.

CS 391: Advanced Topics
Syllabus Current Class
I, II, S. 1-6 HR. PR: Consent.

Investigation in advanced computer science subjects not covered in regularly scheduled courses. Study may be independent or through specially scheduled lectures.

CS 396: Graduate Seminar
Syllabus Current Class
I, II. 1 HR. PR: Consent.

CS 397: Research in Computer Science
Syllabus Current Class
I, II, S. 1-15 HR. PR: Consent.

CS 446: Advanced Theory of Computing
Syllabus Current Class
I. (Alt yrs.) 3 HR. PR: CS 326 or 346.

Advanced Structural Complexity theory and its relationship to algorithmic problems. Interactive proofs, hierarchies (polynomial time, low, high) and hardness of approximation.

CS 472: Information Modeling
Syllabus Current Class
3 HR. PR: CS 278 or CS 377.

Information modeling, data definition languages, graphical information models (NIAM and IDEF), computer-readable information models (EXPRESS); information exchange and sharing using STEP application protocols.

CS 475: Advanced Software Verification
Syllabus Current Class
3 HR. PR: CS 375.

Formal and practical modular verification of functionality and performance; soundness and completeness of proof systems; module testing.

CS 477: Software Reuse
Syllabus Current Class
3 HR. PR: CS 375 or CS 376.

Formal and practical modular verification of functionality and performance; soundness and completeness of proof systems; module testing.

CS 486: Global Knowledge Networks
Syllabus Current Class
3 HR. PR: CS 386.

Representational formalisms and effective retrieval techniques to obtain information from international knowledge repositories connected via high-speed networks.

CS 488: Advanced Graphics and Multimedia
Syllabus Current Class
3 HR. PR: CS 388 and fluency in C, Unix and X.

Computer graphics and multimedia; raster graphic architectures, advanced raster algorithms, ray tracing, radiosity, multimedia representation, multimedia communications, and similar topics.

CS 490: Teaching Practicum
Syllabus Current Class
I, II. 1-3 HR. PR: Consent.

Supervised practice in college teaching of computer and information sciences.

CS 491: Advanced Study
Syllabus Current Class
I, II, S. 1-6 HR. PR: Consent.

CS 492: Directed Study
Syllabus Current Class
I, II, S. 1-6 HR. PR: Consent.

Directed study, reading, and/or research.

CS 496: Graduate Seminar
Syllabus Current Class
I, II, S. 1 HR. PR: Consent.

CS 497: Research
Syllabus Current Class
I, II, S. 1-15 HR. PR: Consent.