Computer Engineering (M.S.) Download PDF Version

Academic Year

2013-2014

School

Graduate School School Web site

School Dean

Aaron M. Tyler, Ph.D. atyler@stmarytx.edu

Department

Engineering

Program Director

Djaffer Ibaroudene, Ph.D. dibaroudene@stmarytx.edu

Program Specific Admission Requirements

Admission is granted only to those with high promise for success in graduate study. Applicants demonstrate this potential through previous academic records and testing.

To be considered for admission to the M.S.C.E. program, applicants must:
  1. Have a Bachelor of Science (B.S.) degree in computer engineering, electrical engineering, or a closely related discipline. Applicants who earned a bachelor's degree in a closely related discipline, such as physics or mathematics, may be admitted with the provision that they take the prerequisite courses listed below. The Graduate Program Director will evaluate applicants from other disciplines on an individual basis.
  2. Have a minimum Grade Point Average (GPA) of 3.00 (A = 4.00) for their bachelor's degree.
  3. Have minimum GRE quantitative score of 600 and a minimum GRE analytical score within the 50th percentile.
  4. Applicants who fail to meet any of the above requirements may be admitted on a conditional status. The Graduate Program Director will evaluate these cases on an individual basis.
  5. Submit the TOEFL scores (international students only) and show a minimum of 213 in the computer-based test, or 550 in the paper-based test, or 79 in Internet-based test.
  6. Submit a completed application form, a written statement of purpose indicating the applicant's interests and objectives, two letters of recommendation concerning the applicant's potential for succeeding in the graduate program, and official transcripts of all college level work.

Prerequisites

EG 2141 Logic Design Laboratory
EG 2152 Circuit Laboratory
EG 2341 Fundamentals of Logic Design
EG 2352 Circuit Analysis I
EG 1302 or 1304 C Programming or equivalent
EG 2342 Data Structure and Algorithms

Degree Requirements

Computer Engineering (30 hrs)
Non-Thesis

Course # Course Title Hours
Engineering Courses Required (15hrs):
EG6328Software Engineering3
EG6356Computer Networking3
EG6370Parallel Processing3
EG6374Computer Architecture3
EG6378Microprocessors3
Engineering Electives (15hrs):
EG6301Statistical Data Analysis3
EG6306Software Project Planning & Management3
EG6308Random Variables & Stochastic Processes3
EG6311Wireless Communication3
EG6312Data Mining3
EG6318Introduction to VSLI3
EG6329Artificial Intelligence3
EG6331Computer Simulation3
EG6338Special Topics3
EG6345Digital Control Systems3
EG6350Digital Signal Processing3
EG6357Computer Controlled Systems3
EG6359Optical Communications3
EG6362Computer Visions & Pattern Recognition3
EG6365Communication Systems3
EG6367Automatic Control Systems3
EG6380Microcomputer Interfacing3
EG6386Engineering Problem Solving3
EG6388Data Acquisition, Presentation, & Analysis3
EG6390Digital System Design with VHDL3
EG6392Network Programming3
EG6396Computer Security3
EG6397Fault-Tolerant Computing3
EG7304Requirements Engineering3
EG7305Object-Oriented Analysis, & Design Methodologies3
EG7306Total Quality Systems3
EG7155Internship1
EG7255Internship2
EG7355Internship3
Total hours30

Computer Engineering (30 hrs)
Thesis

Course # Course Title Hours
Engineering Courses Required (15hrs):
EG6328Software Engineering3
EG6356Computer Networking3
EG6370Parallel Processing3
EG6374Computer Architecture3
EG6378Microprocessors3
Engineering Electives (12hrs):
EG6301Statistical Data Analysis3
EG6306Software Project Planning & Management3
EG6308Random Variables & Stochastic Processes3
EG6311Wireless Communication3
EG6312Data Mining3
EG6318Introduction to VSLI3
EG6329Artificial Intelligence3
EG6331Computer Simulation3
EG6338Special Topics3
EG6345Digital Control Systems3
EG6350Digital Signal Processing3
EG6357Computer Controlled Systems3
EG6359Optical Communications3
EG6362Computer Visions & Pattern Recognition3
EG6365Communication Systems3
EG6367Automatic Control Systems3
EG6380Microcomputer Interfacing3
EG6386Engineering Problem Solving3
EG6388Data Acquisition, Presentation, & Analysis3
EG6390Digital System Design with VHDL3
EG6392Network Programming3
EG6396Computer Security3
EG6397Fault-Tolerant Computing3
EG7304Requirements Engineering3
EG7305Object-Oriented Analysis, & Design Methodologies3
EG7306Total Quality Systems3
EG7155Internship1
EG7255Internship2
EG7355Internship3
Thesis required (3hrs):
EG6339Thesis Direction3
Total hours30

Department Courses and Descriptions

Department Courses and Descriptions
EG 6328 Software Engineering (3)
This course surveys the entire software engineering field. It presents the management and technical aspects of the software development process. Software architectures, paradigms, and life-cycles are briefly discussed and compared. It covers topics in software management, problem specification and analysis, system design techniques, documentation, system testing and performance evaluation, and system maintenance. The technical aspects include software requirement analysis, design methodologies, system implementation, and testing techniques. Software verification and validation, quality assurance, and configuration management are also introduced.

EG 6356 Computer Networking (Protocols, Modeling and Analysis) (3)
Networks types, layered communication architectures, data link layer, network layer, transport layer, polling and random access in data network, local area network, introduction to circuit switching, call processing in digital circuit switching systems, the evolution toward integrated networks.

EG 6370 Parallel Processing (3)
Topics in parallel architectures, including systolic architectures, wave front arrays, interconnection networks, reconfigurable architecture. Design of algorithms for use on highly parallel machines. Application to artificial intelligence.

EG 6374 Computer Architecture (3)
Overview of basic concepts. Memory systems design, semiconductor memories, cache memory, and virtual memory. Pipeline design techniques and memory structure in pipeline computers. Design constraints for high-performance machines. Vector computers, multiprocessors, and algorithms. Prerequisite: Consent of instructor.

EG 6301 Statistical Data Analysis (3)
An applied approach to statistical inference in engineering and scientific work. Tests of hypothesis, regression analysis, analysis of variance and experimental design.

EG 6306 Software Project Planning and Management (3)
Planning and control of software project. Cost factors and cost estimation. Project scheduling, staffing, setting milestones. Role of project manager and organization of project team. Project management tools. Factors influencing productivity and success. Productivity metrics. Software project economics. Metrics for software quality, schedule, budget, and progress. Analysis of options and risks. Planning for change. Management of expectations. Release and configuration management. Software process standards and process implementation. Software contracts and intellectual property. Approaches to maintenance and long-term software development. Case studies of real industrial projects. CASE tools for project planning, cost estimation, and project management

EG 6308 Random Variables and Stochastic Processes (3)
Introduction to the underlying theory of stochastic processes. Topics include: Random sequences and convergence; autocorrelation, autocovariance, stationarity, ergodicity; stochastic calculus (continuity, differentiability, integrability); Poisson process; white-noise process; Gaussian process; random walk, Brownian motion, Wiener process; Markov chains; Markov processes; linear systems driven by random inputs.

EG 7308 Software Verification and Validation (3)
Testing techniques and principles: defects versus failures, equivalence classes, boundary testing. Types of defects. Black-box versus structural testing. Testing categories: Unit testing, integration testing, profiling, test driven development. State-based testing, configuration testing, compatibility testing. Website testing. Alpha, beta, and acceptance testing. Coverage criteria. Test instrumentation and tools. Developing a test plan. Managing the test process. Problem reporting, tracking, and analysis. Testing metrics. Software safety. Debugging and fault isolation techniques. Defect analysis.

EG 6312 Data Mining (3)
Recent advances in database technology along with the phenomenal growth of the Internet have resulted in an explosion of data collected, stored, and disseminated by various organizations. Because of its massive size, it is difficult for analysts to sift through the data even though it may contain useful information. Data mining holds great promise to address this problem by providing efficient techniques to uncover useful information hidden in the large data repositories. The key objectives of this course are two-fold: (1) to teach the fundamental concepts of data mining and (2) to provide extensive hands-on experience in applying the concepts to real-world applications. The core topics to be covered in this course include classification, clustering, association analysis, and anomaly/novelty detection. Students will develop and/or apply data mining techniques to applications such as network intrusion detection, Web traffic analysis, business/financial data analysis, text mining, bioinformatics, Earth Science, and other scientific and engineering areas.

EG 6312 Data Mining (3)
Recent advances in database technology along with the phenomenal growth of the Internet have resulted in an explosion of data collected, stored, and disseminated by various organizations. Because of its massive size, it is difficult for analysts to sift through the data even though it may contain useful information. Data mining holds great promise to address this problem by providing efficient techniques to uncover useful information hidden in the large data repositories. The key objectives of this course are two-fold: (1) to teach the fundamental concepts of data mining and (2) to provide extensive hands-on experience in applying the concepts to real-world applications. The core topics to be covered in this course include classification, clustering, association analysis, and anomaly/novelty detection. Students will develop and/or apply data mining techniques to applications such as network intrusion detection, Web traffic analysis, business/financial data analysis, text mining, bioinformatics, Earth Science, and other scientific and engineering areas.

CS 6320 File and Database Systems (3)
Development and application of databases with emphasis on topologies, normalization, and queries. Prerequisites: CS 6310 and proficiency in Pascal or Pascal-like language.

EG 6331 Computer Simulation (3)
The modeling of the operational aspects of manufacturing and service systems using discrete and continuous simulation techniques.

EG 6334 Software Quality Assurance (3)
Quality: How to assure it and verify it? Avoidance of errors and other quality problems. Inspections and formal technical reviews. Testing, verification, and validation techniques. Process assurance versus product assurance. Quality work product attributes. Software quality measurements and metrics. Quality process standards and formal approaches to SQA. Product and process assurance. Problem analysis and reporting. Statistical approach to quality control. Software configuration management: baselines, version control, change control, configuration audits, and SCM standards. CASE tools for SQA.

EG 6338 Special Topics (3)


EG 6339 Thesis Direction (3)
The thesis is a culminating experience which provides a record of a student's achievement in the program. The thesis requires research leading to the discovery or new knowledge or enhancement of existing knowledge in the field of interest. A project that helps solve a practical problem may also be acceptable. The thesis is a complete documentation of the research study, including the theoretical background, description of the problem, the method used to investigate or solve the problem, presentation of results, interpretation of results, and explanation of the significance of the results.

EG 7311 User Interface Design (3)
Psychological principles of human-computer interaction. Evaluation of user interfaces. Usability engineering. Task analysis, user-centered design, and prototyping. Conceptual models and metaphors. Software design rationale. Design of windows, menus, and commands. Voice and natural language I/O. Response time and feedback. Color, icons, and sound. Internationalization and localization. User interface architectures and APIs. Case studies and project.

EG 6350 Digital Signal Processing I (3)
Discrete time signals & systems, z-transform, discrete fourier transform, flow graph and matrix representation of digital filters, digital filter design techniques and computation of the discrete fourier transform (FFT).

EG 7313 Web Engineering (3)
Concepts, principles, techniques, and methods of Web engineering. Topics include requirement engineering for Web applications, modeling Web applications, Web application architectures, Web application design, technologies for Web applications, testing Web applications, operation and maintenance of Web applications, web project management, web application development process, usability of Web applications, performance of Web applications, and security of Web applications. Quality characteristic and attributes for websites.

EG 7314 Software Security (3)
Theory and practice of software security. Identification of potential threats and vulnerabilities early in the design cycle. Methodologies and tools for identifying and eliminating security vulnerabilities. Techniques to prove the absence of vulnerabilities and ways to avoid security holes in new software. Essential guidelines for building secure software: how to design software with security in mind from the ground up and to integrate analysis and risk management throughout the software life cycle.

EG 6362 Computer Vision and Pattern Recognition (3)
Digital image characterization, image transforms, image enhancement, image restoration, image encoding, image analysis, applications of digital image processing to robotics. Prerequisite: EG 6350.

EG 6365 Automatic Control Systems (3)
This course introduces students to the theory and practice of control systems engineering. The topics include basic concepts and mathematical foundations for analysis and design of continuous control systems, transfer function techniques and state- variable analysis, frequency and time do main design and analysis of control systems.

EG 6367 Communication Systems (3)
Introductory information theory, frequency response of linear systems, analog-to-digital conversion, time multiplexing of signals, Pulse Amplitude Modulation (PAM), Pulse Code Modulation (PCM), quantization noise, Amplitude Modulation (AM) and Frequency Modulation (FM) techniques.

EG 6376 Neural Networks (3)
Neuron model and network architecture; Heb net; perception learning rule; ADALINE and MADALINE architectures and algorithms; back propagation algorithm; pattern classification; pattern association competitive neural networks. Prerequisite: Consent of instructor.

EG 6380 Microcomputer Interfacing (3)
Programming parallel ports and Input/Output. Interfacing a microcomputer to keyboards, to alphanumeric displays, and interfacing microcomputer parts to high-power devices. Review of operational amplifiers and circuits, sensors, and transducers. D/A converter operation and interfacing, A/D converter operations and interfacing. Prerequisite: EG 6378.

EG 6386 Engineering Problem Solving (3)
This course covers elementary applied mathematics, basic numerical methods, and problem solving methodology. MATLAB and its associated Toolboxes are used for computations. Topics include introduction to problem solving, introduction to MATLAB, scalar, and array computation, control flow, matrix computation, plotting capabilities, solution to systems of linear equations, interpolation and curve fitting, polynomial analysis, numerical integration and differentiation, ordinary differential equations, matrix decomposition and factorization.

EG 6388 Data Acquisition, Presentation, and Analysis (3)
Principles, methods, and applications of data acquisitions, presentation, and analysis. Topics covered include methods of analog-to-digital conversion, the Nyquist criteria and aliasing errors, signal processing, the use of analog and digital filters, system identification, frequency-spectral estimation, techniques for clear and concise presentation of data, and error analysis of computational results. Hands-on experiments and applications will be emphasized. Lab VIEW software and the associated hardware will be used. Oral and written presentations of application projects will be required of each student.

EG 6390 Digital Systems Design Using VHDL (3)
Brief review of combinational and sequential circuit design principles; VHDL basic language organization; structural modeling in VHDL; date flow modeling in VHDL; VHDL technology information; describing synchronous behavior in VHDL; algorithmic modeling in VHDL. Prerequisite: undergraduate logic design course.

EG 6392 Network Programming (3)
Introduction to networks; Client-server model and software design; concurrent processing in client-server software; program interface to protocols; socket interface; algorithms and issues in client-server software design; connectionless servers (UDP); connection-oriented servers (TCP); client-server concurrencies; application level gateways; remote procedure calls (RPC). Prerequisites: EG 6356 and working knowledge of C programming language.

EG 6396 Computer Security (3)
This course covers the theory and practice of computer security, focusing in particular on the security aspects of the web and internet. It surveys cryptographic tools used to provide security, such as shared key encryption, public key encryption, key exchange, and digital signature. It then reviews how these tools are utilized in the Internet protocols and applications such as SSL, PGP, S/MIME, and others. System security issues, such as viruses, intrusion, firewalls, and other will also be covered.

EG 6397 Fault Tolerant Computing (3)
This course covers the theory and practice of fault tolerant systems, focusing in particular on techniques for achieving high reliability in computational systems with software, hardware, and networking components. Approaches for testing, fault handling and assessing reliability will be examined. It discusses reliability measures, error detection and correcting codes, fault-tolerant networks, redundant disks (RAID), software fault-tolerance, case studies of fault-tolerant systems, and others.

EG 7155 Internship (1)
An experimental approach to advanced engineering topics through work in a company or organization. Industry/University cooperation is required. Topics vary depending on the needs of the sponsoring company or organization and the academic needs of the student. Students may start an internship projects anytime after enrolling in any Engineering program. A minimum of three credit hours is required. Credit hours may be completed in increments of 1, 2, or 3 credit hours per semester. Prerequisite: Consent of the Graduate Program Director.

EG 7255 Internship (2)
An experimental approach to advanced engineering topics through work in a company or organization. Industry/University cooperation is required. Topics vary depending on the needs of the sponsoring company or organization and the academic needs of the student. Students may start an internship projects anytime after enrolling in any Engineering program. A minimum of three credit hours is required. Credit hours may be completed in increments of 1, 2, or 3 credit hours per semester. Prerequisite: Consent of the Graduate Program Director.

EG 7355 Internship (3)
An experimental approach to advanced engineering topics through work in a company or organization. Industry/University cooperation is required. Topics vary depending on the needs of the sponsoring company or organization and the academic needs of the student. Students may start an internship projects anytime after enrolling in any Engineering program. A minimum of three credit hours is required. Credit hours may be completed in increments of 1, 2, or 3 credit hours per semester. Prerequisite: Consent of the Graduate Program Director.

EG 7304 Requirement Engineering (3)
Domain engineering. Techniques for discovering and eliciting requirements. Languages and models for representing requirements. Analysis and validation techniques, including need, goal, and use case analysis. Requirements in the context of system engineering. Specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. Specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. Resolving feature interactions. Requirements documentation standards. Requirement traceability. Human factors. Requirements in the context of agile processes. Requirements management: Handling requirements changes. CASE tools for requirement engineering.

EG 7305 Object-Oriented Analysis and Design Methodologies (3)
Review of object oriented concepts: objects, classes, instances, inheritance, and entity relationship diagrams. Object-oriented analysis methodologies and their role in the software development process. Object-oriented modeling and prototyping using UML. Software reuse. Design patterns, frameworks, architectures. Component design. Measures of design attributes. Component and system interface design.

EG 7306 Total Quality Systems (3)
Total quality management philosophy, with emphasis on statistical quality strategies. Statistical process control; supplier certification; benchmarking; simultaneous engineering; re-engineering; quality teams; quality audits; Kaizen; quality function deployment, Malcolm Baldrige National Quality Award guidelines. Prerequisite: Consent of Instructor

Department Faculty

Computer Engineering (M.S.) Faculty Website

Department Website

Computer Engineering (M.S.) Website