Software Engineering

Degrees Offered

  • Masters of Science, Software Engineering (M.S.S.E.)

Program Description

The Lane Department of Computer Science and Electrical Engineering offers the professionally oriented Masters of Science in Software Engineering (M.S.S.E.) degree program, as well as a graduate Certificate in Software Engineering.  The M.S.S.E. provides graduate educational opportunities to working professionals.  The M.S.S.E. degree is a unique fully-online program which provides graduate level software engineering expertise to individuals who are currently working in the software engineering and information technology industry.  The program aspires to serve both the full-time software engineer from any industry and the computer science  or similar graduate seeking an applied masters program with the flexibility of taking courses online from where they are located.  Typical M.S.S.E. students are full time software engineering professionals who wish to augment their work experience with additional academic background. 

Program Educational Objectives & Outcomes

The objective of the program is to produce graduates who have the knowledge, skills, and attitudes that will ensure success in professional positions in business, industry, research, or governmental service. 

More specifically, after completing five core courses, students will achieve the following outcomes:

  • Achieve proficiency in the area of Software Project Management.
  • Achieve proficiency in Software Analysis and Design.
  • Understand the process of software Validation and Verification.
  • Understand the process of Software Evolution.
  • Achieve proficiency in Object-Oriented Design of software.

Students will complete their degree requirements with six advanced elective courses with the course work only option that will deepen their understanding of aspects of software engineering relevant to their careers.  Problem Report and Thesis Options are also available.

Admissions

Students seeking admission to the M.S.S.E. program must fall into one of two categories to be considered for admission.  The categories are:

Traditional Students with Related Undergraduate Degree

Students who have recently completed a Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a closely related field will be considered for admission with regular status if they satisfy the following requirements:

  • Cumulative GPA of 3.0 (on a 4-point scale) or better within the major. Official transcripts showing completion of the Bachelor's degree must be provided in all cases.
  • Submission of satisfactory scores in quantitative reasoning for the GRE General Test or Revised General Test. Official scores must be submitted prior to acceptance.

Nontraditional Students

Students who do not meet the above requirements but have work experience related to software development will be considered for admission if they meet the following requirements:

  • Hold a four-year Bachelor's degree in any field from an accredited University, with a GPA of at least 2.75. Official transcripts showing degree completion must be provided in all cases.
  • Submit a resume documenting at least one year of software development experience.
  • The GRE is not required for this option.

Nontraditional students are initially admitted as Provisional Graduate students.  Students desiring to initially earn the Certificate in Software Engineering are initially admitted as non-degree students. They may enroll in core courses in the M.S.S.E. program.  Upon meeting this requirement, these students may apply for transfer to the regular M.S.S.E. program.  At the time of transfer, they must meet the following additional requirements:

  • Earn a grade of at least B in each of the first four courses take (any of the five core)
  • Submit a resume documenting at least three years of software development experience.
  • Submit three letters of reference from persons familiar with the student's professional software development work.
  • Request a transfer to Regular Status from the program coordinator upon completion of above and prior to completing 18 credit hours in the M.S.S.E. program.

Curriculum in Master of Science in Software Engineering

A candidate for the M.S. degree in software engineering 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 (thesis or problem report option) and follow a planned program of study. The student’s faculty 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 student 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 in all courses
Course Requirements *
A minimum of 60% of courses must be from 500 level or above
SENG 510Software Project Management3
SENG 520Software Analysis and Design3
SENG 530Validation and Verification3
SENG 540Software Evolution3
SENG 550Object Oriented Design3
Advanced Elective Course9
Select from the following:
Any SENG Courses 400-799
Intro Computer Security Management
Complete 1 of the following options:6-9
Thesis Option - 6 hours
Research (6 hours)
Written Research Proposal
Thesis
Final Oral or Written Examination
Problem Report Option - 9 hours
Complete 6 additional hours of coursework
Research (3 hours)
Written Research Proposal
Formal written report or professional report/paper
Final Oral or Written Examination
Coursework Option - 9 hours
Complete 9 additional hours of coursework
Total Hours30-33
*

Students who do not hold a baccalaureate degree in software engineering, computer science, or computer engineering may be required to take a set of undergraduate courses above and beyond the minimum coursework requirements.

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, except for the coursework 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.

Suggested Plan of Study

The plan below illustrates the Coursework 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.S.E degree program that completes degree requirements in two years is as follows.  

First Year
FallHoursSpringHoursSummerHours
SENG 5203SENG 5103SENG 5403
SENG 5503SENG 5303Adv. Elective Course 3
 6 6 6
Second Year
FallHoursSpringHoursSummerHours
Adv Elective Course3Adv Elective Course3Adv Elective Course3
Adv Elective Course3Adv Elective Course3 
 6 6 3
Total credit hours: 33

Certificate in Software Engineering

certificate code - cg10

The certificate in software engineering program provides further education to individuals who are currently working in the computer and information technology industry.  This program is offered online at evening times convenient for the working professional.

Students may apply for admission as non-degree students to complete the certificate requirements.  These students may then optionally apply for transfer to the M.S.S.E. program.  In addition, students already admitted to the M.S.S.E. may elect to receive the certificate after completing the necessary requirements.

Admission Requirements

Applicants for the certificate in software engineering must meet the following requirements:

  • Hold a bachelor’s degree in any field from an accredited University.
  • Submit a resume documenting at least one year of software development experience.
  • By the semester in which the certificate is to be awarded, students must meet the following additional requirements:
    1. Submit a resume documenting at least three years of software development experience.
    2. Submit three letters of reference from persons familiar with the student's professional work.

Students working toward the certificate in software engineering are not degree candidates and are admitted as non-degree students.  However, they may apply for admission to the M.S.S.E. program (see below) after satisfactory completion of most of the certificate requirements.

Students initially admitted to the M.S.S.E. program may elect to receive the certificate after satisfactory completion of the five core courses and the certificate paper (see below).  In this case the resume and letters of reference are not required.

Program Requirements

The certificate program consists of completing five approved courses and a certificate term paper.  Students who achieve a B- or higher in each of the first four courses of the certificate program may qualify to enter the M.S.S.E. program, as described below. 

Major Learning Goals

software engineering

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

  1. Achieve success and proficiency in the Software Engineering profession.
  2. Be recognized as leaders.
  3. 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 674. Computational Photography. 3 Hours.

Computational techniques used for the acquisition and processing of digital photographic data. Introduction to camera technology, image formation, filtering, warping, morphing, compositing, rendering, enhancement, and novel camera design.

CS 676. Machine Learning. 3 Hours.

Principles and techniques used in learning theory, regression, classification, instance-based methods, kernel methods, risk minimization, ensemble-based methods, graphical models, and deep models.

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 678. Computer Vision. 3 Hours.

An introduction to low-level image analysis methods, image transformations, methods for reconstructing three-dimensional scene information, algorithms for motion and video analysis, and approaches to object recognition.

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 560. Software Reuse. 3 Hours.

PR: SENG 550 or consent. A detailed study of the business, organizational, and technical implications of large-scale software reuse in modern environments. Architecture, design for reuse, domain engineering, model-driven development, frameworks, library design, reuse tools, and design patterns.

SENG 561. Agile Software Development. 3 Hours.

PR: SENG 550 or consent. Techniques and methodologies of agile software engineering; development team roles, product backlog, sprint planning, sprint execution, test-driven development, sprint retrospective, development tools and environments. Emphasis on successfully managing agile projects in geographically dispersed work environments.

SENG 564. Software Engineering of Mobile Applications. 3 Hours.

PR: SENG 550 or consent. Software engineering of mobile applications and real-world development of mobile technology. Architecture of a simple mobile application. Industry leaders of mobile software engineering. Mobile economics. Mobile software engineering security practices. Mobile enterprise architectures.

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 670. Data Analytics with Applications in Software Engineering. 3 Hours.

PR: SENG 520 and STAT 215 or consent. Foundation of data science, with focus on applications in software engineering. Different empirical methods such as surveys, case studies, and experiments. Threats to validity. Methods for data preparation. Statistics for data understanding and assessment. Commonly used supervised and unsupervised machine learning algorithms.

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.).