Computer Science

Degrees Offered

  • Master of Science in Computer Science (M.S.C.S)
  • Doctor of Philosophy in Computer Science (Ph.D.)

Program Description

The Masters of Science in Computer Science (M.S.C.S.) degree program qualifies a student to assume a professional role in industry or government, teach in a junior or senior college, or undertake advanced training toward a doctorate in computer science. The following sections describe the general procedures to be followed in completing the M.S.C.S. degree. Note that steps are intended to be carried out in a specific order. 

Program Educational Objectives & Outcomes

The objective of the Masters of Science in Computer Science (M.S.C.S.) degree program is to produce graduates who have the knowledge, skills, and attitudes that will ensure success in professional positions in business, industry, research, government service, or in further graduate or professional study.

Specific outcomes that will be achieved by graduates of the program are:

  • Achieve a depth of proficiency in a specific field of Computer Science by completing major courses in one of three areas: computer systems, software and knowledge engineering, or the theory of computation.
  • Achieve a breadth of understanding of Computer Science by completing minor coursework requirements in other areas, and by participation in graduate seminar requirements.
  • Demonstrate professionalism and communication skills through completion of coursework, project, or thesis defense.

Admissions

Students who satisfy the departmental graduate admission requirements given on the main departmental section will be considered for admission. Additional criteria may be considered in making a final decision. All applicants must submit three letters of reference and complete an Applicant Information Form.

Removing Deficiencies

The minimum background expected of any student entering the M.S.C.S. program is coursework equivalent to the following:

  • One year of calculus (MATH 155 and MATH 156).
  • One course in probability and statistics (STAT 215).
  • Knowledge of introductory programming in a high-level programming language (STAT 215).

Students not meeting these minimum requirements will be required to take the equivalent coursework before applying to the M.S.C.S. program.

Students entering without a four-year Bachelors degree in Computer Science may have additional deficiencies in their coursework which must be addressed before beginning the regular M.S.C.S. program. These students will be initially admitted with provisional status and required to remove these deficiencies during their first eighteen hours of coursework.

Possible deficiency areas for students having a Bachelors degree in other disciplines represent the following core areas required of all undergraduate CS students:

CS 111Introduction to Data Structures4
CS 220Discrete Mathematics3
CS 221Analysis of Algorithms3
CS 230Introduction to Software Engineering4
CS 310Principles of Programming Languages3
CS 350Computer System Concepts3

As demand justifies and resources permit, the department will offer accelerated courses to assist graduate students in satisfying deficiencies.

Curriculum in Masters of Science in Computer Science

A candidate for the M.S. degree in computer science must comply with the rules and regulations as outlined in the WVU Graduate Catalog and the specific requirements of the Statler College and the Lane Department of Computer Science and Electrical Engineering.

Program Requirements

All M.S. degree candidates are required to perform research and follow a planned program of study. The student’s research advisor, in conjunction with the student’s Advising and Examining Committee (AEC) will be responsible for determining the plan of study appropriate to the student’s needs. The underlying principle of the planned program is to provide the students with the necessary support to complete their degree and prepare them for their career.

Curriculum Requirements

A minimum cumulative GPA of 3.0 is required
Course Requirements *
A minimum of 60% of courses must be from 500 level of above
CS 796Graduate Seminar1
Area of Concentration
Complete one Area of Concentration as follows:9
One Core course
Two Elective courses
Complete the remaining Areas of Concentration as follows:6
One Core course
Elective courses9
Choose three of the following:
Any BIOM, CE, CHE, CHEM, CPE, CS, EE, IENG, IH&S, MAE, MATH, MINE, PNGE, PHYS, SAFM, SENG, or STAT courses 400-799
Complete 1 of the following options:7-8
Thesis Option - 7 hours
Graduate Seminar (1 hour)
Research (6 hours)
Written Research Proposal
Thesis
Final Oral or Written Examination
Problem Report Option - 8 hours
Complete 5 additional hours of coursework
Research (3 hours)
Written Research Proposal
Formal written report or professional report/paper
Final Oral or Written Examination
Coursework Option - 8 hours
Complete 8 additional hours of coursework
Final Oral or Written Examination
Total Hours32-33
*

Students who do not hold a baccalaureate degree in computer science are required to take a set of undergraduate computer science courses above and beyond the minimum coursework requirements.

Areas of Concentration

Computer Systems

Core Courses
Switching Circuit Theory 1
Theory of Operating Systems
Elective Courses
Computer Incident Response
Application of Neural Networks
Applied Fuzzy Logic
Computer Data Forensics
Intro Computer Security Management
Developing Portable Software
Data and Computer Communications
Computer Forensics and the Law
Advanced Computer Systems Architecture
Distributed and Pervasive Compt
Computer Network Forensics
Interactive Computer Graphics
Medical Image Analysis
Medical Image Analysis

Software/Knowledge Engineering

Core Courses
Advanced Real-Time Systems
Advanced Data Mining
Pattern Recognition
Empirical Methods in Software Engineering and Computer Science
Elective Courses
BIOM 693
ADTP: Advanced Biometrics
Developing Portable Software
Multimedia Systems
Advanced Artificial Intelligence Techniques
Medical Image Analysis
Medical Image Analysis
Computer System Security
Software Performance Engineering
CS 791H
Approximation Algorithms
Distributed Systems and Algorithms
Advanced Image Processing
Validation and Verification

Theory of Computing

Core Courses
Formal Specification of Language
Advanced Analysis of Algorithms
Computational Complexity
Elective Courses
Compiler Construction
Design of Algorithms
Automata Theory
Discrete Mathematics 2
Information Dissemination
CS 591A
String Algorithms
CS 591B
Network Optimization
CS 591Q
Pattern Recognition
CS 691H
Fixed Parameter Algorithms
CS 791E
Algorithmic Graph Theory
CS 791G
Randomized Algorithms
CS 791H
Approximation Algorithms

Final Examination

M.S. students following the thesis or problem report option must prepare a written research proposal. The proposal must be approved by the student's AEC at least one semester prior to the final oral examination.

All students, regardless of option, are required to pass a final oral or written examination, administered by their AEC, covering the thesis or problem report and/or related course material.

All master’s students must defend their thesis or problem report at an oral exam, attended by all members of the committee.

A student who fails the research defense may repeat the defense at most once, at a time determined by the AEC but not necessarily during the same semester.

Suggested Plan of Study

The plan below illustrates the Thesis Option. It is important for students to take courses in the order specified as much as possible; all prerequisites and concurrent requirements must be observed.  A typical M.S.C.S degree program that completes degree requirements in one and half years is as follows. Those students who lack course prerequisites may require more than three semesters of full-time study to complete the degree. Students with research assistantships may also require more than three semesters to complete the degree.

First Year
FallHoursSpringHours
Area of Concentration 1 Core Course3Area of Concentration 1 Elective Course3
Area of Concentration 1 Elective Course3Area of Concentration 2 Core Course3
Elective Course3Elective Course3
CS 7961CS 7961
 10 10
Second Year
FallHours 
Area of Concentration 3 Core Course3 
Elective Course3 
CS 6976 
 12
Total credit hours: 32

Curriculum in Doctor of Philosophy –Computer Science Requirements

A candidate for the Ph.D. degree with a major in computer science must comply with the rules and regulations as outlined in the WVU Graduate Catalog and the specific requirements of the Statler College and the Lane Department of Computer Science and Electrical Engineering.

Program Requirements

The doctor of philosophy degree with a major in computer science is administered through the college’s interdisciplinary Ph.D. program. The research work for the doctoral dissertation must show a high degree of originality on the part of the student and must constitute an original contribution to the art and science of computer science.

All Ph.D. degree candidates are required to perform research and follow a planned program of study. The student’s research advisor, in conjunction with the student’s Advising and Examining Committee (AEC) will be responsible for determining the plan of study appropriate to the student’s needs. The underlying principle of the planned program is to provide the students with the necessary support to complete their degree and prepare them for their career.

Research work for the doctoral dissertation must represent a significant contribution to engineering or computer science. It may entail a fundamental investigation into a specialized area.

Curriculum Requirements

A minimum cumulative GPA of 3.0 is required
Course Requirements *
A minimum of six credit hours of 600 or higher level courses
A maximum of six credit hours may be in directed study (CS 795)
Research24
Research
Select from the following based on degree path: 18
Any BIOM, CE, CHE, CHEM, CPE, CS, EE, IENG, IH&S, MAE, MATH, MINE, PNGE, PHYS, SAFM, SENG, or STAT courses 500-799
Examinations
Qualifying Exam
Candidacy Exam
Final Exam
Total Hours42
*

Students who do not hold a baccalaureate degree in computer science are required to take a set of undergraduate computer science courses above and beyond the minimum coursework requirements.

Doctoral students who do not have an M.S.C.S. degree must either earn this degree or complete coursework as required for the M.S.C.S. with thesis option. It is not necessary to actually write a thesis. A minimum of twenty-four hours of coursework is required. Up to twelve hours may be transferred from work done at another institution.

A minimum of forty-two hours of coursework and thirty hours of independent research beyond a bachelor’s degree, or eighteen hours of coursework and twenty-four hours of independent research beyond an M.S. degree are required.

Examinations

Qualifying Exam

All students must take and pass a written qualifying examination. Normally, the qualifying examination is given no later than one semester after completion of eighteen credit hours toward the doctoral degree. This examination is designed to assess the basic competency of students in the computer science field to determine whether or not they have sufficient knowledge to undertake independent research.

The Lane Department of Computer Science and Electrical Engineering is organized in the following five Areas of Concentration. All Ph.D. degree programs use these Areas to provide organizational structure to the educational process as delineated under specific Ph.D. requirements. The significance of these Areas will be of particular importance in preparation for the Qualifying Exam as each area has designated Ph.D. Qualifier Core Courses as follows:

1. Electronics and Photonics Area
Advanced Semiconductor Electronics
Linear Integrated Circuits
Optoeletronics
2. Signals and Systems Area
Stochastic Systems Theory
Linear Control Systems
Computer Applications in Power System Analysis
3. Computer Systems
Switching Circuit Theory 1
Theory of Operating Systems
4. Software/Knowledge Engineering
Advanced Real-Time Systems
Advanced Data Mining
CS 591Q
Pattern Recognition
5. Theory of Computing
Formal Specification of Language
Advanced Analysis of Algorithms
Computational Complexity

Ph.D. students must make the first attempt to pass the qualifying exam within fourteen months of their enrollment if they already have a M.S. degree from the Lane Department of CSEE or within twenty-six months otherwise. The Ph.D. qualifying process consists of completion of a research project and oral examination. The project is intended to demonstrate the student's ability to assemble and analyze the relevant literature for a given research problem and to make preliminary steps towards his/her own contribution.

The oral exam will include:

  1. Presentation by the student of his/her research project
  2. Questions about the work, its context, and relevant literature
  3. Questions about course work, focusing specifically on the three core courses for which the student has earned credit

The possible outcomes of the first year exam are: "Pass" which means the student is qualified to begin work towards the candidacy exam; "Pass with Recommended Coursework" which means the student is qualified to begin work towards a candidacy exam but certain courses must be taken; or "Fail". Any student failing the qualifying exam on the initial attempt will have one additional attempt within six months. Failure of the exam on the second attempt will disqualify the student from further doctoral studies in the LCSEE program.

Candidacy Examination

In order to be admitted to candidacy, the student must pass a candidacy exam, which is designed to evaluate the student’s overall ability to engage in high-level research.

When all requirements are completed, the qualifying and candidacy examinations are passed, and the research proposal is successfully defended, the student is formally admitted to candidacy for the Ph.D. degree. For full-time students, admission to candidacy must normally occur within three years of entering the Ph.D. program.

Final Examination

At the completion of the dissertation research, candidates must prepare a dissertation and pass the final oral examination (defense) administered by their AEC.

In order to complete the Ph.D. requirements, a student must pass a final oral examination on the results embodied in the dissertation. This examination is open to the public and, in order to evaluate critically the student's competency, may include testing on material in related fields, as deemed necessary by the AEC. All requirements for the degree must be completed within five years after the student has been admitted to candidacy.

Suggested Plan of Study

It is important for students to take courses in the order specified as much as possible; all prerequisites and concurrent requirements must be observed. A typical doctoral degree program that completes degree requirements in three years is as follows. A typical Ph.D. program requires four to five years beyond the Baccalaureate degree, although scholarly achievements are more important than length of program

First Year
FallHoursSpringHours
Course3Course3
Course3Course3
CS 7973CS 7973
 9 9
Second Year
FallHoursSpringHours
CS 7976CS 7976
Course3Course3
 9 9
Third Year
FallHoursSpringHours
CS 7979CS 7979
 9 9
Total credit hours: 54

Major Learning Goals

computer science

 It is our goal that in the first five years after graduation our students will:

(1) achieve success and proficiency in the Computer Science profession,

(2) be recognized as leaders,

(3) and contribute to the well-being of society.

Biometric Systems Courses

BIOM 693. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

Computer Engineering Courses

CPE 520. Application of Neural Networks. 3 Hours.

PR: Consent. Theories, principles, techniques, and procedures used in design implementation of supervised and unsupervised neural networks. Algorithms and computer programming for software realization with engineering applications.

CPE 521. Applied Fuzzy Logic. 3 Hours.

PR: Consent. Theory and applications of fuzzy logic, fuzzy fundamentals, fuzzy rules, decision-making systems, control systems, pattern recognition systems, and advanced topics. Algorithms and computer programming for software realization with engineering applications.

CPE 536. Computer Data Forensics. 3 Hours.

PR: CPE 310 and CPE 435 or Consent. Provides students with a comprehensive overview of collecting, investigating, preserving, and presenting evidence of cybercrime; introduces topics of forensic data examination of computers and other digital storage devices.

CPE 538. Intro Computer Security Management. 3 Hours.

Develops management tools to build and maintain a secure enterprise. Includes policies, procedures, and the various management and auditing processes that are needed in a networked enterprise.

CPE 568. Computer Network Forensics. 3 Hours.

PR: CS 450 and CS 453 or consent. Introduction to threat assessment in modern networked computer systems. Techniques, methodologies and technologies for preventing, detecting, recovering from and collecting evidence of intrusions, with the intent of prosecuting the offending parties.

CPE 585. Concurrent Programming in Java. 3 Hours.

PR: CS 110 and CS 111 and CS 415 or consent. This is a project-based laboratory-oriented course aimed at learning the fundamentals of component-based software development (CBD) and object-oriented concurrent programming. (OOCP) in Java.

CPE 593A-B. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

CPE 595. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

CPE 643. Fault Tolerant Computing. 3 Hours.

PR: CPE 310 or Consent. Introduction to reliability analysis and Markov modeling. Computer system reliability modeling. Fault tolerant design of computer systems. Reconfiguration strategies in VLSI and WSI arrays.

CPE 664. Sensor Actuator Networks. 3 Hours.

PR: Graduate standing in CS, CPE, EE or SENG. Introduces students to the state of the art in wireless sensor actuator networks. Provides hands on training in programming these networks.

CPE 670. Switching Circuit Theory 1. 3 Hours.

PR: CPE 271 or equivalent. Course presumes an understanding of the elements of Boolean or switching algebra. Study of both combinational and sequential switching circuits with emphasis on sequential networks. Advanced manual design and computer-aided design techniques for single and multiple output combinational circuits. Analysis and design of sequential circuits. Detection and prevention of undesired transient outputs. (3 hr. rec.).

CPE 684. Advanced Real-Time Systems. 3 Hours.

PR: CS 415 and CPE 484 or consent. Project-based course focused on analysis and design of real-time systems using the unified modeling language. Object-oriented development process based on design patterns and frameworks is described.

CPE 691A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

CPE 694. Seminar. 1-6 Hours.

Special seminars arranged for advanced graduate students.

CPE 695. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

CPE 697. Research. 1-15 Hours.

PR:Consent. Research activities leading to thesis, problem report, research paper, equivalent scholarly project, or dissertation. (Grading may be S/U.).

CPE 699. Graduate Colloquium. 1-6 Hours.

PR: Consent. For graduate students not seeking coursework credit but who wish to meet residency requirements, use the University's facilities, and participate in its academic and cultural programs. Note: Graduate students who are not actively involved in coursework or research are entitled, through enrollment in their department's 699/799 Graduate Colloquium to consult with graduate faculty, participate in both formal and informal academic activities sponsored by their program, and retain all of the rights and privileges of duly enrolled students. Grading is S/U; colloquium credit may not be counted against credit requirements for masters programs. Registration for one credit of 699/799 graduate colloquium satisfies the University requirement of registration in the semester in which graduation occurs.

CPE 790. Teaching Practicum. 1-3 Hours.

PR: Consent. Supervised practice in college teaching of computer engineering. Note: This course is intended to insure that graduate assistants are adequately prepared and supervised when they are given college teaching responsibility. It will also present a mechanism for students not on assistantships to gain teaching experience. (Grading will be S/U.).

CPE 791A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

CPE 792. Directed Study. 1-6 Hours.

Directed study, reading, and/or research.

CPE 793. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

CPE 794. Seminar. 1-6 Hours.

Special seminars arranged for advanced graduate students.

CPE 795. Independent Study. 1-9 Hours.

Faculty supervised study of topics not available through regular course offerings.

CPE 796. Graduate Seminar. 1 Hour.

PR: Consent. Each graduate student will present at least one seminar to the assembled faculty and graduate student body of his or her program.

CPE 797. Research. 1-15 Hours.

PR: Consent. Research activities leading to thesis, problem report, research paper, or equivalent scholarly project, or a dissertation. (Grading may be S/U.).

CPE 798. Thesis or Dissertation. 1-6 Hours.

PR:Consent. This is an optional course for programs that wish to provide formal supervision during the writing of student reports (698) or dissertations (798). Grading is normal.

CPE 799. Graduate Colloquium. 1-6 Hours.

PR: Consent. For graduate students not seeking coursework credit but who wish to meet residency requirements, use the University's facilities, and participate in its academic and cultural programs. Note: Graduate students who are not actively involved in coursework or research are entitled, through enrollment in their department's 699/799 Graduate Colloquium to consult with graduate faculty, participate in both formal and informal academic activities sponsored by their program, and retain all of the rights and privileges of duly enrolled students. Grading is S/U; colloquium credit may not count against credit requirements for masters programs. Registration for one credit of 699/799 graduate colloquium satisfies the University requirement of registration in the semester in which graduation occurs.

Computer Science Courses

CS 510. Formal Specification of Language. 3 Hours.

PR: CS 410. Specifications of language syntax and semantics by grammars and automata and by attribute grammars, denotational semantics, and action equations; algebraic, denotational, and operational semantics; application of formal specifications to construction of software tools.

CS 520. Advanced Analysis of Algorithms. 3 Hours.

PR: CS 320. Analysis and design techniques for efficient sequential and parallel algorithm design; NP-completeness, advanced analysis techniques, advanced algorithms, and parallel algorithms.

CS 525. Computational Complexity. 3 Hours.

PR:CS 422. Introduction to the theory of computational complexity. Topics include: turning machines, computability, complexity classes P, NP, and co-NP, the theory of NP_completeness, randomized complexity classes, inapproximability, and complexity classes beyond NP.

CS 530. Formal Methods in Software Engineering. 3 Hours.

PR:CS 430. Principles of rigorous specification, designing, implementation, and validation of sequential, concurrent, and rea-ltime software; emphasis on reading current papers on these topics.

CS 533. Developing Portable Software. 3 Hours.

PR: CS 330 and CS 450 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 computing platforms.

CS 539. Computer Forensics and the Law. 3 Hours.

PR: CPE 435. Surveys the emerging field of computer law and how it applies to businesses and law enforcement, both to aid and to circumscribe the policies and procedures to tackle computer crime.

CS 540. Theory of Database Systems. 3 Hours.

PR: CS 440. Abstract and newer database models; introduction to database design techniques in the context of semantic data modeling; equivalence of different relational models; object-oriented databases.

CS 550. Theory of Operating Systems. 3 Hours.

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

CS 554. Network Computing. 3 Hours.

PR: CS 540 or Consent. An in-depth study of the Internet, networking fundamentals, protocols, algorithms, and principles of distributed computing, introduction to network security and management.

CS 555. Advanced Computer Systems Architecture. 3 Hours.

PR: CS 455 or CPE 442. High performance techniques, pipelined and parallel systems, and high-level architectures; comparative evaluation of architectures for specific applications; emphasis on software implications of hardware specifications.

CS 556. Distributed and Pervasive Compt. 3 Hours.

PR: CS 350 or consent. An in-depth study of distributed computing paradigms, standards, and applications that can exploit this paradigm and the emerging pervasive computing infrastructure.

CS 558. Multimedia Systems. 3 Hours.

PR: CS 350 or EE 465 or consent, requirements and QOS; multimedia data acquisition, object decomposition, multimedia storage servers; multimedia communications-networking, traffic characterizations, traffic scheduling, multicasting; compression of images, video and audio; multimedia information systems-indexing and retrieval of multimedia data.

CS 568. Computer Network Forensics. 3 Hours.

PR: CS 450 and CS 453 or consent. Introduction to threat assessment in modern networked computer systems. Techniques, methodologies and technologies for preventing, detecting, recovering from, and collecting evidence of intrusions, with the intent of prosecuting the offending parties.

CS 570. Interactive Computer Graphics. 3 Hours.

PR: CS 320. Viewing in three dimensions, projections, rendering of surfaces and solids, illumination and shading, interaction handling, display processors and programming systems, and graphics system organization.

CS 572. Advanced Artificial Intelligence Techniques. 3 Hours.

PR: CS 472. 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 573. Advanced Data Mining. 3 Hours.

PR: CS 230 and CS 350 or equivalent. We present the theory practice of industrial data mining. Combining pragmatics with theory, students will learn to select appropriate data mining methods for individual applications. Graduate students will learn to conduct data mining experiments.

CS 576. Design of Immersive Media Systems. 3 Hours.

PR: Graduate student status in CS, or consent. Team-based development of a video game, demo reel, or other project demonstrating expertise in game development.

CS 578. Medical Image Analysis. 3 Hours.

PR: EE 465 or equivalent. Advanced topics in medical image analysis, with focus on image restoration, segmentation, registration and visualization.

CS 589. Game Seminar. 1 Hour.

(May be repeated for a maximum of 3 credit hours.) A discussion of current topics in video game development.

CS 591A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

CS 593A-Z. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

CS 594A. Seminar. 1-6 Hours.

Seminars arranged for advanced graduate students.

CS 595. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

CS 601. Foundations of Software Engineering. 3 Hours.

For CS provisional graduate students only. Object-oriented programming concepts applied to data structures such as queues, lists, trees, techniques, and methods of developing software.

CS 602. Foundations of Algorithms. 3 Hours.

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 604. Semantics of Programming Languages. 3 Hours.

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 623. String Algorithms. 3 Hours.

PR: CS 221 or Consent. Algorithms on strings from traditional combinatorial pattern matchup to recent problems such as suffix sorting and string embeddings. Emphasis is on the data structures and algorithms required, their analysis, and optimal constructions.

CS 630. Empirical Methods in Software Engineering and Computer Science. 3 Hours.

An in-depth study of the scientific process and guidelines for empirical research. Particularly addressing surveys, case studies, and controlled experiments. Covers in detail the qualitative and quantitative data analysis methods commonly used in empirical investigations.

CS 665. Computer System Security. 3 Hours.

PR: CS 465 or Consent. Course describes modern approaches to information and system security including encryption techniques, secure communication protocols, operating system security principles, and network intrusion detection techniques.

CS 677. Pattern Recognition. 3 Hours.

PR: Consent. Covers salient topics in statistical pattern recognition, including Bayesian decision theory, Bayesian learning and density estimation, linear discriminant functions, multilayer neural networks, support vector machines, and unsupervised learning. Working knowledge of Matlab is essential.

CS 689. Graduate Internship. 1-3 Hours.

PR: Completion of a minimum of 18 degree applicable graduate credit hours with an overall GPA of 3.0 or better. Employments in industry related to degree program. (Graded P/F. May be repeated twice. Cannot be counted toward graduation requirements.).

CS 690. Teaching Practicum. 1-3 Hours.

PR: Consent. Supervised practice in college teaching of computer science. Note: This course is intended to insure that graduate assistants are adequately prepared and supervised when they are given college teaching responsibility. It also provides a mechanism for students not on assistantships to gain teaching experience. (Grading will be S/U.).

CS 691A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

CS 693A-Z. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

CS 695. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

CS 696. Graduate Seminar. 1 Hour.

PR: Consent. Each graduate student will present at least one seminar to the assembled faculty and graduate student body of his or her program.

CS 697. Research. 1-15 Hours.

PR: Consent. Research activities leading to thesis, problem report, research paper or equivalent scholarly project, or a dissertation. (Grading may be S/U.).

CS 699. Graduate Colloquium. 1-6 Hours.

PR: Consent. For graduate students not seeking coursework credit but who wish to meet residency requirements, use the University's facilities, and participate in its academic and cultural programs. Note: Graduate students who are not actively involved in coursework or research are entitled, through enrollment in their department's 699/799 Graduate Colloquium to consult with graduate faculty, participate in both formal and informal academic activities sponsored by their program, and retain all of the rights and privileges of duly enrolled students. Grading is S/U; colloquium credit may not be counted against credit requirements for masters programs. Registration for one credit of 699/799 graduate colloquium satisfies the University requirement of registration in the semester in which graduation occurs.

CS 726. Algorithmic Graph Theory. 3 Hours.

PR: CS 520 or consent. Introduction to algorithmic graph theory with emphasis on special classes of graphs, graph structure, efficient combinatorial algorithms, graph compositions/ decompositions, and graph representations, current research development trends and open questions on structured families and graphs.

CS 727. Information Dissemination. 3 Hours.

PR: CS 520. Research issues in information dissemination in graphs; emphasis on broadcasting and gossiping algorithms, including identification and solution of open research questions.

CS 736. Software Performance Engineering. 3 Hours.

PR: CS 330 or Consent. A systematic, quantitative approach to cost- effectively constructing software systems that meet performance models; effective data gathering and performance measurement techniques.

CS 740. Advanced Databases Theory. 3 Hours.

PR: CS 540. Design theory for relational databases; functional dependencies; multivalued dependencies and normal forms; projection mappings, tableaux and the chase; representation theory.

CS 750. Secure and Survivable Systems. 3 Hours.

PR: CS 680 or Consent. An in-depth study of principles, standards, practices, and architectures in the area of secure and survivable systems. Case studies, simulations, and games will be used to gain deep understanding of the issues.

CS 751. Digital Enterprises. 3 Hours.

PR: CS 680 or Consent. An in-depth study of principles, standards, practices, and architectures in the area of digital enterprise. Case studies and simulations will be used to gain deep understandings of the issues.

CS 757. Distributed Systems and Algorithms. 3 Hours.

PR: CS 320 and CS 550. Distributed and networked operating systems and the algorithms necessary to achieve such goals as transparency, sharing, fault tolerance, and efficient process and task scheduling.

CS 772. Global Knowledge Networks. 3 Hours.

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

CS 778. Medical Image Analysis. 3 Hours.

Advanced topics in medical image analysis, with focus on image restoration, segmentation, registration and visualization.

CS 790. Teaching Practicum. 1-3 Hours.

PR: Consent. Supervised practice in college teaching of computer science. Note: This course is intended to insure that graduate assistants are adequately prepared and supervised when they are given college teaching responsibility. It will also present a mechanism for students not on assistantships to gain teaching experience. (Grading will be S/U.).

CS 791A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

CS 792A-Z. Directed Study. 1-6 Hours.

Directed study, reading, and/or research.

CS 793. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

CS 794. Seminar. 1-6 Hours.

Special seminars arranged for advanced graduate students.

CS 795. Independent Study. 1-9 Hours.

Faculty supervised study of topics not available through regular course offerings.

CS 796. Graduate Seminar. 1 Hour.

PR: Consent. Each graduate student will present at least one seminar to the assembled faculty and graduate student body of his or her program.

CS 797. Research. 1-15 Hours.

PR: Consent. Research activities leading to thesis, problem report, research paper, or equivalent scholarly project, or a dissertation. (Grading may be S/U.).

CS 798. Thesis or Dissertation. 1-6 Hours.

PR: Consent. This is an optional course for programs that wish to provide formal supervision during the writing of student reports (698), or dissertations (798). Grading is normal.

CS 799. Graduate Colloquium. 1-6 Hours.

PR: Consent. For graduate students not seeking coursework credit but who wish to meet residency requirements, use the University's facilities, and participate in its academic and cultural programs. Note: Graduate students who are not actively involved in coursework or research are entitled, through enrollment in their department's 699/799 Graduate Colloquium to consult with graduate faculty, participate in both formal and informal academic activities sponsored by their program, and retain all of the rights and privileges of duly enrolled students. Grading is S/U; colloquium credit may not be counted against credit requirements for masters programs. Registration for one credit of 699/799 graduate colloquium satisfies the University requirement of registration in the semester in which graduation occurs.

CS 900. Professional Development. 1-6 Hours.

Professional development courses provide skill renewal or enhancement in a professional field or content area (e.g., education community health, geology). The continuing education courses are graded on a pass/fail grading scale and do not apply as graduate credit toward a degree program.

CS 930. Professional Development. 1-6 Hours.

Professional development courses provides skill renewal or enhancement in a professional field or content area (e.g., education, community health, geology). These tuition-waived, continuing education courses are graded on a pass/fail grading scale and do not apply as graduate credit toward a degree program.

Electrical Engineering Courses

EE 513. Stochastic Systems Theory. 3 Hours.

PR: Consent. Probability distribution and density functions. Bayes rule and conditional probability. Stochastic process and linear systems. Gauss-Markov Process. Optimal linear estimation. Introduction to Wiener and Kalman filtering. Decision theory fundamentals. (3 hr. rec.).

EE 515. Linear Control Systems. 3 Hours.

PR: Consent. Basic concepts in the theory of linear control systems, state variable representation, solution of state equations, controllability, observability, stability, transfer function descriptions, and design of controllers and observers. (3 hr. rec.).

EE 517. Optimal Control. 3 Hours.

PR: Consent. Methods of direct synthesis and optimization of feedback systems; Wiener theory; Pontryagin's maximum principle; dynamic programming; adaptive feedback systems. (3 hr. rec.).

EE 519. Digital Control. 3 Hours.

PR: EE 411 or Consent. Sampling of continuous-time signals. Transform analysis of discrete-time systems. Translation of analog design. Controllability and observability. State-space design methods and introduction to optimal control for discrete systems. (3 hr. rec.).

EE 528. Biomedial Microdevices. 3 Hours.

Fundamentals of micro-manufacturing and micro-fluidics, microfluidic platforms and components, biosensors, drug-delivery systems, lab-on-a-chip devices, DNA microarrays, emerging applications in biomedicine and tissue engineering, and photolithography and soft lithography lab demonstration.

EE 531. Advanced Electrical Machinery. 3 Hours.

PR: Consent. Theory and modeling of synchronous, induction, and direct-current machines, and their steady-state and transient analysis. (3 hr. rec.).

EE 533. Computer Applications in Power System Analysis. 3 Hours.

PR: EE 436 or Consent. Steady state analysis by digital computers of large integrated electrical power systems. Bus admittance and impedance matrices, load flow studies, economic dispatch and optimal power flow, steady state security analysis, and fault studies. (3 hr. rec.).

EE 535. Power System Control and Stability. 3 Hours.

PR: EE 515. Review of stability theory, classical transient analysis, dynamical models of synchronous machines, power system stability under small and large perturbations, dynamic, and simulation of power systems. (3 hr. rec.).

EE 550. Advanced Semiconductor Electronics. 3 Hours.

PR: EE 450 or equivalent. Theory of electronic and photonic device. Semiconductors properties and their impact on devices behavior - p-n junctions, bipolar transistors, and MOS transistors. Quantum mechanical effects introduced. Development of models to simulate devices and simple circuits.

EE 551. Linear Integrated Circuits. 3 Hours.

PR:EE 355 and EE 356 and EE 450 or equivalent. Design and analysis of analog integrated circuits. Both linear and nonlinear transistor models are covered. Applications focus on linear analog circuits including simple amplifiers, operational amplifiers, and reference circuits. This course focuses on CMOS technology.

EE 561. Communication Theory. 3 Hours.

PR: EE 461 or Consent. Detailed study of probability theory and its use in describing random variables and stochastic processes. Emphasis on applications to problems in communication system design. (3 hr. rec.).

EE 562. Wireless Communication System. 3 Hours.

PR: EE 461 and EE 513. Architecture and design of cellular and wireless communication networks, electromagnetic effects of the wireless channel and corresponding statistical models, implementation and performance of diversity reception techniques, and multiple-access.

EE 565. Advanced Image Processing. 3 Hours.

PR: EE 465 or equivalent. Covers the theory of statistically modeling image source, algorithms for analysis and processing of image signals, new applications of image processing into computer vision and biomedical imaging, and MATLAB based image processing.

EE 567. Coding Theory. 3 Hours.

PR: MATH 375 or consent. Design, analysis, and implementation of codes for error detection and correction.

EE 568. Information Theory. 3 Hours.

PR:STAT 215 or equivalent, or consent. Information measures and mutual information; noiseless coding theorem, construction of compact codes and universal codes; channel coding theorem and error correcting codes; cryptography and information theory; algorithmic information theory, and rate distortion theory.

EE 569. Digital Video Processing. 3 Hours.

PR: EE 465. Covers basic theory and algorithmic aspects of digital video processing, along with latest video coding standards, multimedia streaming, security video, and biometrics. Hands-on experience in processing video signals under MATLAB in team-based projects.

EE 591A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

EE 595. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

EE 613. Detection and Estimation Theory. 3 Hours.

PR: EE 513 or equivalent. Study of detection, estimation, and signal representation, detection of signal in noise, estimation of signal parameters, linear estimation theory. Performance bonds on Estimation and Detection. Kalman-Bucy and Wiener filters. Modern optimal estimation and detection.

EE 625. Advanced Signal Processing. 3 Hours.

PR: EE 513 or consent. Statistical aspects of signal processing. Includes advanced techniques, such as autocorrelation/ cross-correlation, autoregressive models, linear prediction, power spectral density, and other topics. Course will contain significant student-driven application component using biomedical, communication, and/or other signals. (3 hr. lec.).

EE 650. Optoeletronics. 3 Hours.

PR: EE 450 or PHYS 471 or consent. Semiconductor physics theory of light-emitting diodes, homojunction lasers, single and double heterojunction lasers, separate confinement quantum well lasers, p-i-n and photo detectors and avalanche photo detectors. Optical and electrical analysis of epitaxial and device designs.

EE 689. Graduate Internship. 1-3 Hours.

PR: Completion of a minimum of 18 degree applicable graduate credit hours with a minimum GPA of 3.0 or better. Employment in industry related to degree program. (Graded P/F. May be repeated twice. Cannot be counted toward graduation requirements.).

EE 691A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

EE 695. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

EE 697. Research. 1-15 Hours.

PR: Consent. Research activities leading to thesis, problem report, research paper or equivalent scholarly project, or a dissertation. (Grading may be S/U.).

EE 699. Graduate Colloquium. 1-6 Hours.

PR: Consent. For graduate students not seeking coursework credit but who wish to meet residency requirements, use the University's facilities, and participate in its academic and cultural programs. Note: Graduate students who are not actively involved in coursework or research are entitled, through enrollment in their department's 699/799 Graduate Colloquium to consult with graduate faculty, participate in both formal and informal academic activities sponsored by their program, and retain all of the rights and privileges of duly enrolled students. Grading is S/U; colloquium credit may not be counted against credit requirements for masters programs. Registration for one credit of 699/799 graduate colloquium satisfies the University requirement of registration in the semester in which graduation occurs.

EE 713. Large-Scale System Modeling. 3 Hours.

PR: EE 515. Characterization of large-scale systems, model simplification through aggregation and perturbation methods, optimal and chained aggregation, balanced realization and cost component procedures, optimal model reduction, simplification effects, decentralized control, and feasibility and design. (3 hr. lec.).

EE 731. Real Time Control of Power System. 3 Hours.

PR: EE 515 and EE 517 and EE 533. Application of computers to modern control theory for reliable and economic real-time operation of integrated power systems. (3 hr. rec.).

EE 733. Protection of Power Systems. 3 Hours.

PR: EE 436 or Consent. Principles of relay protection for faults on transmission lines and other devices. Use of overcurrent, differential distance, and pilot relaying systems. Special relay applications. Determination of short-circuit currents and voltages from system studies. (3 hr. rec.).

EE 735. HVDC Transmission. 3 Hours.

PR: EE 435 and EE 533. Line-commutated converter analysis, operation of two terminal and multiterminal dc systems, harmonics and filters, modeling of ac/dc system, and design of modulation controllers.

EE 790. Teaching Practicum. 1-3 Hours.

PR: Consent. Supervised practice in college teaching of electrical engineering. Note: This course is intended to insure that graduate assistants are adequately prepared and supervised when they are given college teaching responsibility. It will also present a mechanism for students not on assistantships to gain teaching experience. (Grading will be S/U.).

EE 791A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

EE 792. Directed Study. 1-6 Hours.

Directed study, reading, and/or research.

EE 793. Special Topics. 1-6 Hours.

A study of contemporary topics selected from recent developments in the field.

EE 794A-Z. Seminar. 1-6 Hours.

Seminars arranged for advanced graduate students.

EE 795. Independent Study. 1-9 Hours.

Faculty supervised study of topics not available through regular course offerings.

EE 796. Graduate Seminar. 1 Hour.

PR: Consent. Each graduate student will present at least one seminar to the assembled faculty and graduate student body of his or her program.

EE 797. Research. 1-15 Hours.

PR: Consent. Research activities leading to thesis, problem report, research paper or equivalent scholarly project, or a dissertation. (Grading may be S/U.).

EE 798. Thesis or Dissertation. 1-6 Hours.

PR: Consent. This is an optional course for programs that wish to provide formal supervisIon during the writing of student reports (698), or dissertations (798). Grading is normal.

EE 799. Graduate Colloquium. 1-6 Hours.

PR: Consent. For graduate students not seeking coursework credit but who wish to meet residency requirements, use the University's facilities, and participate in its academic and cultural programs. Note: Graduate students who are not actively involved in coursework or research are entitled, through enrollment in their department's 699/799 Graduate Colloquium to consult with graduate faculty, participate in both formal and informal academic activities sponsored by their program, and retain all of the rights and privileges of duly enrolled students. Grading is S/U; colloquium credit may not be counted against credit requirements for masters programs. Registration for one credit of 699/799 graduate colloquium satisfies the University requirement of registration in the semester in which graduation occurs.

Software Engineering Courses

SENG 510. Software Project Management. 3 Hours.

Techniques and tools for managing the software development process for large development projects.

SENG 520. Software Analysis and Design. 3 Hours.

Defining software requirements and an introduction to the principles and concepts relevant to the design of large programs and software systems.

SENG 530. Validation and Verification. 3 Hours.

Tools and techniques for applied verification and validation of computer software including requirements, design, and code relevant to several development lifecycle models.

SENG 540. Software Evolution. 3 Hours.

Software process and the Capability Maturity Model (CMM), software maintenance and evolution, program understanding, reengineering, software configuration management, and software tools related to these issues.

SENG 550. Object Oriented Design. 3 Hours.

Highlights contemporary design and analysis techniques with a strong emphasis on the Unified Modeling Language(UML). The class focuses on problem space analysis utilizing object oriented techniques to produce real world design solutions in UML.

SENG 581. Quality Software Process Management. 3 Hours.

PR: SENG 510 or consent. Evaluate quality theories and practices; research quality history, principles and techniques; and apply software engineering quality management methods and standards to develop software quality model artifacts in an enterprise environment.

SENG 582. Enterprise Architecture Framework. 3 Hours.

PR: SENG 520 or Consent. Study of architecture frameworks used in government and business to design holistic advanced computer systems. Application of frameworks to the enterprise processes, technologies, and people to achieve the enterprise mission and objectives.

SENG 591A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled coruses.

SENG 610. Advanced Software Project Management. 3 Hours.

PR: SENG 510. Presents best practices for managing software development projects. Addresses leadership, teamwork, issues in modern system development, complexity and its influence on projects, estimating project effort and duration, development of software-intensive systems and systems-of-systems.

SENG 611. Strategies for Software Development. 3 Hours.

PR: SENG 510 or Consent. This course investigates the forces which drive a software organization's business strategy; alignment of a project to the business needs (product line or platform); and the importance of various project management, development and business models.

SENG 630. Requirements Engineering. 3 Hours.

PR: SENG 520 or consent. Study of the requirements engineering phase of the software development process. Techniques for building strong requirements, including management, analysis, risk mitigation, validation, customer signoff, and change control.

SENG 691A-Z. Advanced Topics. 1-6 Hours.

PR: Consent. Investigation of advanced topics not covered in regularly scheduled courses.

SENG 695. Independent Study. 1-6 Hours.

Faculty supervised study of topics not available through regular course offerings.

SENG 697. Research. 1-15 Hours.

PR: Consent. Research activities leading to thesis, problem report, research paper or equivalent scholarly project, or a dissertation. (Grading may be S/U.).