Computer Engineering

The Bachelor of Science in Computer Engineering provides both breadth and depth in the discipline by incorporating physical and mathematical sciences, core engineering subjects, fundamental computer science topics, and a wide array of specialized courses in areas of long range relevance to computer engineering. It has been designed as a flexible program that is able to accommodate particular student interests through electives. Topics covered include: algorithms and languages, digital system design, networks and communications, computer organization and architecture, microprocessor-based systems, database systems, software engineering, operating systems, and capstone design courses.

EAC-RGB-B-S Accredited by the Engineering Accreditation Commission of ABET http://www.abet.org

Sign up for more info!

Take the next step!

Apply Today! Visit Department

Description

Computer Engineering is a rapidly changing field that spans a wide range of topics concerned with the design, implementation, and programming of computers and digital systems. Computer engineers develop integrated hardware and software systems and apply these to the creative solution of problems in government and business. These solutions are key enablers to global economic development and social welfare. A sample of the range of solutions created by computer engineers include: industrial and military control systems, database management systems, health care information systems, networked systems, end-user embedded computer controlled products, and computer-aided design tools to automate and leverage human performance in many other disciplines.

The Bachelor of Science in Computer Engineering provides both breadth and depth in the discipline by incorporating physical and mathematical sciences, core engineering subjects, fundamental computer science topics, and a wide array of specialized courses in areas of long range relevance to computer engineering. It has been designed as a flexible program that is able to accommodate particular student interests through electives.

Topics covered include: algorithms and languages, digital system design, networks and communications, computer organization and architecture, microprocessor-based systems, database systems, software engineering, operating systems, and capstone design courses.

Degree Offered

Bachelor of Science in Computer Engineering (BSCpE) degree

Mission

To educate graduates with broad background in mathematics, science, software, and hardware capable of performing successfully as computer engineers and/or pursuing graduates studies.

Program Educational Objectives

Within a few years of graduation, the PUPR Computer Engineering Program graduates are expected to attain the following:

1. Establish themselves as practicing professionals and continuously evolve to meet the needs of a changing information and industry-based society, maintaining an ethical and socially responsible perspective.

2. Develop successfully as team members, leaders, and managers or entrepreneurs in the Computer Engineering arena.

3. Provide comprehensive solutions to Computer Engineering problems that leverage technological advancements.

4. Engage in professional development through a lifetime of continuing education, research, and/or graduate studies.

Student Outcomes

By the time of graduation, students of the Computer Engineering program at PUPR are expected to have attained the following:

(1) an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics

(2) an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors

(3) an ability to communicate effectively with a range of audiences

(4) an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts

(5) an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives

(6) an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions

(7) an ability to acquire and apply new knowledge as needed, using appropriate learning strategies

Enrollment

 

ACADEMIC YEAR ENROLLMENT
San Juan Campus Orlando Campus Total
2013-2014 458 14 472
2014-2015 491 11 502
2015-2016 464 10 474
2016-2017 478 8 486
2017-2018 458 10 468
2018-2019 447 16 463
2019-2020 442 12 454
2020-2021 437 9 446
2021-2022 444 8 452
2022-2023 428 7 435

Graduation Data

 

ACADEMIC YEAR DEGREES AWARDED
San Juan Campus Orlando Campus Total
2013-2014 45 1 46
2014-2015 46 3 49
2015-2016 47 0 47
2016-2017 53 2 55
2017-2018 40 0 40
2018-2019 50 0 50
2019-2020 41 3 44
2020-2021 47 1 48
2021-2022 51 0 51

Graduation Requirements

Bachelor of Science in Computer Engineering (BSCpE) degree MINIMUM GRADUATION REQUIREMENTS

  • 15 Credit-hours in Mathematics
  • 14 Credit-hours in Basic Sciences
  • 21 Credit-hours in Socio-Humanistic Studies and Languages
  • 9 Credit-hours in Engineering Sciences
  • 81 Credit-hours in Basic Computer Engineering
  • 3 Credit-hours in Free Electives
  • 6 Credit-hours in Computer Engineering Program Electives

149 Total Credit-Hours

Electrical and Computer Engineering Courses Descriptions

 

ELECTRICAL ENGINEERING COURSES

 

EE 1130 Freshman Design for Electrical & Computer Engineers
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: MATH 0110 or Equivalent

An introduction to the engineering design philosophy, techniques, methodology, and graphical tools, with emphasis on teamwork. The course seeks to develop creativity and imagination skills in the solution of engineering problems, including critical thinking and logical presentation of an engineering analysis.

 

EE 2000 Circuit Analysis I
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: SCIE 1440, MATH 1360
Co-requisite: MATH 2350,
For EE & CpE Students Only: CECS 2200,
For ME Students Only: ME 2010,
For BME Students Only: BME 3010

Elements in a circuit and electrical quantities.  Techniques for the DC circuit analysis.  Natural and forced response of RL, RC, and RLC circuits.  Introduction to AC circuits analysis.

 

EE 2001 Electrical Measurements Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: SCIE 1441, ENGI 2270, EE2000
Co-requisite: EE 2020.

Modern electronics measurement methods. Instrument calibration and use. Experimental verification of fundamental laws of electric circuits and magnetism. Experimental study of capacitive and inductive circuits. Use computer programs to analyze circuits. Safety consideration in the laboratory.

 

EE 2010 Computational Methods in Electrical & Computer Engineering
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2202, MATH 1360
Co-requisite: SCIE 1440

Gaussian Elimination, Linear Equations, Orthogonal Projections, Least-Squares & Eigenvalue Problems, Applied Numerical Analysis. Approximations and Errors. Numerical Solution of Linear and Nonlinear Algebraic Equations, introduction to ODE (ordinary differential equations), Numerical solution of energy storage circuits. Curve Fitting.

 

EE 2020 Circuit Analysis II
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2000, MATH 2350

Sinusoidal steady state analysis.  AC circuit power calculation.  Three phase circuits.  Coupled inductors and transformers.  Laplace transform in circuit analysis.  Resonance and frequency response in a circuit Transfer function and passive filters.

 

EE 2030 Electromagnetics Theory
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: SCIE 1440, MATH 1370
Co-requisite: EE 2000

This course exposes students to the fundamental laws of electro-static and magneto-static fields. The course also deals with the Maxwell’s equations describing time-varying electric and magnetic fields with emphasis on Faraday’s Law of Magnetic Induction.

 

EE 2402 Electromechanical Energy Conversion
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2000, EE 2030
Co-requisite: EE 2020

The study of transformers, rotating machinery basics, single phase induction motors, and Universal Motor under steady state. Also, safety considerations with the electric machines will be discussed.

 

EE 2403 Electromechanical Energy Conversion Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 2001, EE 2402

Experimental study of electrical machines. Safety considerations with electric machines. This course is designed to give electrical engineering students a one trimester course in laboratory work on: Single Phase Transformers, Single Phase Induction motors, and Universal motors.

 

EE 2500 Electronics I
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 1130, EE 2001

This course is the first of a three-course series in electronics. Subjects include operational amplifiers, semiconductor devices, diodes, rectification, bipolar transistors, amplification, switching, and an introduction to field-effect transistors. Design and analysis techniques are presented for each subject.

 

EE 2501 Electronics I Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 1130, EE 2001
Co-requisite: EE 2500

Review of laboratory measurement equipment. Perform several design experiments according with topics on electronic theory: diodes and power supplies. Behavior of timers, Op-Amp and some design applications.

 

EE 3002 Signals & Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2010, EE 2020

Continuous and discrete-time signals.  Continuous-time system representation.  Fourier series.  Fourier transform.  Z-transform. Discrete-time system representation.  State-variable analysis.

 

EE 3220 Software Applications for Electrical Engineering
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2202, CECS 2203

Basic knowledge of various engineering software applications that have proven to be very intensively used in the industry and academic environments.  Introduction to Microsoft Office, MATLAB, SIMULINK, MathCAD and Pspice Family Design Center.

 

EE 3412 Electric Machines Control
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2402

The study of the following: Three phase transformers, Induction Three phase Motors, Synchronous Motors & Generators. Also, the DC motors construction and operation will be discussed. An Introduction to AC & DC drives will be presented. This includes typical applications for Variable frequency Drives, system requirements, modeling and operation characteristics.

 

EE 3413 Electric Machines Control Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 2403, EE 3412

Safety considerations with electric machines. This course is designed to give electrical engineering students a one-trimester course in laboratory work on: electrical measurements, operating characteristics of: Three Phase Transformers, Three Phase Induction motors, Synchronous motors, and DC motors.

 

EE 3420 Power System Analysis I
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2402
Co-requisite: EE 3412

The study of the power concepts in a process of generation, transmission and distribution of an electric system.

 

EE 3440 Electric System Design I
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2020, EE 2402

General Design of electrical systems based in the National Electrical Code and the Puerto Rico Electric Power Authority Code.

 

EE 3510 Electronics II
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2020, EE 2500

This is the second course in a three-course series in electronics. More advanced topics of semiconductor devices are introduced. Discussion topics include differential amplifiers, multistage amplifiers, frequency response, and design and analysis of other common amplifier configurations using MOSFETs and bipolar transistors and bipolar junction transistors (BJTs).

 

EE 3511 Electronics II Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 2020, EE 2500
Co-requisite: EE 3510

Review of laboratory measurement equipment. Behavior of BJT as a common-emitter, a common-base, and a common-collector amplifier. Behavior of MOSFET as a common source, a common gate, and a common drain amplifier.

 

EE 3512 Power Electronics
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2020, EE 2500
Co-requisite: EE 3513

Electrical rating and characteristics of power semiconductor switching devices.  Phase controlled rectifiers.  Fundamental switching regulators.  DC choppers.  Static power inverters.  Load considerations.  Design projects will be required.

 

EE 3513 Power Electronics Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 2020, EE 2500

Experiments with the Power Electronics Converters: AC-DC, DC-DC, and DC-AC.  Closed-loop control of DC drives and Closed-loop control of induction motors. Use of computer programs to analyze circuits. Safety consideration in the laboratory.

 

EE 3600 Automatic Controls
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2500, EE 3002

Study of linear control systems.  Transfer functions.  Stability criteria.  Compensation techniques.  Analysis of a particular system and determination of an optimal design complying with given specifications.  A design project will be required.

 

EE 3610 Automation Engineering
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: COE 2300, COE 2301
Co-requisite: EE 3611

Study of the theory and practices of the technologies used for industrial automation.  The PLC is used as the main micro-controller device to interface with sensors, relays, electro-pneumatics, and motors. Different problems and situations are presented to the students, and they prepare and design the solution.  A final project is presented at the end of the class.

 

EE 3611 Automation Engineering Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: COE 2300, COE 2301

Experimental exercises with sub-systems used on industrial control applications.  The PLC is used as the main micro-controller. Design and programming of PLC based systems are performed.

 

EE 3702 Fundamentals of Wireless Communications & Cellular Networks
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 2270, EE 2030, EE 3002

Analysis and Transmission of Signals.  Amplitude modulation (AM) and Angle modulation (FM, PM). Introduction to Random Processes Concepts.  Introduction to Wireless Systems. Propagation Characteristic of Wireless Channels.  Antennas for AM, FM and PM transceivers.

 

EE 3710 Random Processes
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 2270, EE 3002

After completing this course, the students should master the theoretical principles regarding Probability and Random Processes and be familiar with some of its basic applications to electrical engineering.  Topics include Probability, Random Variables, Operations in Single and Multiple Random Variables, Random Processes, Spectral Characteristics of Random Processes, Linear System with Random Inputs.

 

EE 4002 Capstone Design Course I
Three credit-hours. Two two-hour meetings per week.
Pre-requisite: ENGI 2260, Departmental Permit

First part of a two-term course on the design of projects based on open-ended requirements.  Projects will be selected in accordance with the student’s area of interest (i.e., Electric Power, Electronics, Communications, Automatic Controls, etc.).  Students must approve both Capstone Design Courses in sequence and without interruptions.  Students that approve the first course and miss the second course will be required to repeat the first course again.

 

EE 4010 – Electromagnetics Theory II
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2030

Review of Maxwell’s Equations for non-time-varying electromagnetic fields.  Study of time-varying electromagnetic fields.  Study of Uniform Plane Wave Propagation in lossless, lossy, bounded, and unbounded material media.  Study of Transmission Lines Theory.

 

EE 4022 Capstone Design Course II
Three credit-hours. Two two-hour meetings per week.
Pre-requisite: EE 4002

Second part of a two-term course on the design of projects based on open-ended requirements.  Students must approve both Capstone Design Courses in sequence and without interruptions.  Students that approve the first course and miss the second course will be required to repeat the first course again.

 

EE 4030 Electromagnetic Compatibility (EMC/EMI)
Three credit-hours.  Two two-hour meetings per week.
Pre-requisite: EE 2500, EE 3002, EE 4010

Study of various aspects of Electromagnetic Compatibility including history, products requirements, as well as fundamental design principles, ramifications, and considerations.  Understanding the role of Electromagnetic Compatibility in suppressing Electromagnetic Interference.

 

EE 4031 Electromagnetic Compatibility (EMC/EMI) Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 4030

Experiments and demonstrations in Electromagnetic Compatibility.

 

EE 4220 – Fundamentals of Software Processes, Databases, and Networking
Three credit-hours.  Two two-hour meetings per week.
Pre-requisite: CECS 2202, CECS 2203

The course adopts an empirical and top-down approach to the study of the fundamental high-level concepts that are key to an operational understanding of systems that integrate information and communications technologies.

 

EE 4400 Power System Analysis II
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3420
Co-requisite: EE 3413, EE 4401

Review of impedance and admittance matrix construction and reduction.  Review of transformer line and machine models suitable for short circuit and steady state analysis.  Power flow analysis using the Gauss Seidel method.  Case studies of power flow analysis.  Short circuit analysis of three phase, single phase and phase to phase faults.  Breaker selection.

 

EE 4401 Power System Analysis Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 3420
Co-requisite: EE 4400

Experiments with electric power transmission systems, three phase generation, power lines, and synchronous motors.

 

EE 4422 Electric Power Quality
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3420
Co-requisite: EE 4400

Measurements and Industry Standards for Power Quality. Component modeling and network analysis under non-sinusoidal conditions. Effects of nonlinear loads. Harmonics and flicker distortion in power systems. Sags, swells, impulses and other transient events. Improvement practices.

 

EE 4432 Power System Protection
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 4400

Introduction and general philosophies of protection for power systems.  Analysis of power system during faults and abnormal conditions.  Application of protective relays in electric power systems.  Study of protection schemes for Transmission and Distribution lines, Substations, Transformers and Generators.

 

EE 4433 Power System Protection Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 4432

Experimental works with protective relays and auxiliary equipment.  Calibration, testing and setting of protective relays.  Discussions topics include transient effects in power system networks, short circuit analysis using symmetrical components, instruments transformer PT’s and CT’s test, moderates protective relaying coordination studies, overcurrent relays, directional overcurrent relays, bus and transformer differential relays test and simulation.  Protection and control drawing interpretation containing ANSI and IEEE guides and standard.

 

EE 4438 Smart Distribution Systems Engineering
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3420
Co-requisite: EE 4400

Present a description of main systems and components for Electric Power Distribution Systems. Explain terminology to study load characteristics. Describe specification and operation of main substation components such as: Transformers, High Voltage Switching and Metering Equipment. Study main distribution system types like Aerial and Underground distribution systems. Perform analysis with techniques for Distribution Systems Voltage Regulation such as: Approximate Voltage Drop, Power Loss considerations, and Capacitors Applications. Present a description of Smart Grid Technologies including equipment used for Distribution Automation Systems. Define main systems and components for Distribution Management Systems.

 

EE 4442 Lighting Fundamentals Design
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3420

Theory of light, sight and vision, language of lighting, light sources, luminaries data, illumination design: interior and exterior; roadway lighting.

 

EE 4444 Electric System Design II
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3420, EE 3440

General Design of electrical systems based in the National Electrical Code and the Puerto Rico Electric Power Authority Code.

 

EE 4452 Alternative Generation Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3420
Co-requisite: EE 4400

This course will help you understand the historical development of energy production, the economic impacts and environmental effects of energy production, and a description of principal fuels used for energy conversion.  Also, a technical understanding of conventional energy sources will be presented such as: Steam Power Plants, Gas Cycle Plants, and Combined Cycle Plants. In addition, basic concepts, operating principles and related technologies for renewable energy power generation such as: Solar Power, Wind Power, Biomass Power, Geothermal Energy, Hydroelectric Power, and Energy Storage System Applications.  Finally, a description, planning, and comparison for investment in Distributed Generation Sources will be presented.

 

EE 4462 Electrical Construction Project Management
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 4444

Principles of Project Management applied to case studies of the Electrical Construction Industry, and conforming with NECA, MCAA, & SMAGNA techniques.

 

EE 4464 Generation Control Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 4400

Power Plant components. Generating Plant Types.  Characteristics of power generating units.  Economic dispatch of thermal units and methods of solution.  Unit Commitment.  Automatic Generation Control.  Introduction to Power System Stability.

 

EE 4466 Renewable Energy Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 2020, EE 2402
Co-requisite: EE 2500

Operation and design of electrical generation systems using photovoltaic (PV) solar panels and Wind Power (WP). Considerations of a stand-alone or grid connected way throw site and energy evaluation.  Analysis and design using net metering application. Component operation, system design, sizing, and installation requirements. Backup system sizing using different types of batteries. Study of solar energy irradiation and irradiance. Wind measurement using the ISA model. Power quality, safety regulations and code rules according to NEC Articles 690 (PV) and 694 (WP). Other standards (IEEE, etc.) calculations and procedures required for necessary design approval. Economic analysis and global environmental impact.

 

EE 4602 Process Control & Instrumentation
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 3440, EE 3600

Study of basic components of a control system. Design of single process control systems. Study and design of cascade control systems.  Study and design of ratio and feedforward control system. Study of piping and instrumentation diagram (P&ID) standards. Study of process characterization including thermal and mass transfer process. Study and analysis of fundamental PLC-based control system design. Study and analysis of final control elements.

 

EE 4603 Process Control & Instrumentation Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 4602

Experiments for process control and instrumentation.  Transducers, transmitters, analog and digital controllers, controls valves, switches, and indicators.  Experiments with a process control trainer and programmable logic controllers (PLC’s).

 

EE 4606 Digital Control Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3002, COE 2300

Introductory course with attention on how a DSP controller affects a closed-loop system performance. Exposure to feedback control theory principles presented by means of a digital control algorithm model, using the Z-transform. Presentation of basic mapping rules, and proper sampling period selection for a digital control algorithm, such like the PID controller. Discussion of the Harvard architecture, data conversion errors, computational performance, and hardware operational requirements for A/D and D/A signal conversion. Implementation of control strategies to satisfy standard time and frequency control performance requirements.  Introduction to state-space control, thru pole-placement, LQR and state-space observer design schemes. Use of MATLAB/SIMULINK and/or microprocessor-based programming. Main interest in electromechanical control for robotic systems.

 

EE 4612 Control System Design
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3600

Principles of analog and digital control.  Analog and digital control using the PID controller.  Design strategies with time specifications. Design strategies with frequency specifications.  Special topics.  Design projects will be required.

 

EE 4620 Robotic Engineering Design
Four credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3600 or EE 4606
Co-requisite: EE 4621

Study of the technology, programming, applications, theory and practices of robotic systems.  All the basic systems of the robots are covered including manipulators, hardware components, sensors and programming.  The course covers design, and applications.

 

EE 4621 Robotic Engineering Design Laboratory
Zero credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: EE 3600 or EE 4606

Experimental exercises with sub-systems used in robotic applications.  Design and programming of PLC based systems are performed.  A field trip to the industry is made as part of the laboratory.

 

EE 4622 Industrial Automation
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3610, EE 3611

The purpose of course is to discuss advanced industrial automation concepts applied to the manufacturing industry. Topics such as: System Integration, Control System Architecture, SCADA, industrial communications protocols, algorithms industry Standards and Good Manufacturing Practices, will be discussed on the course.  The Allen-Bradley DCS Compaq Logic platform will be used.

 

EE 4640 Avionics Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: Departmental Permit.

This course explains the principles and underlying theory of the core avionic systems in civil and military aircraft, comprising the pilot displays, data entry and control systems, fly by wire flight control systems, inertial sensor and air data systems, navigation systems, autopilots and flight management systems.  The implementation and integration of these systems with current (2010) technology is explained together with the methods adopted to meet the very high safety and integrity requirements.

 

EE 4706 Fiber Optics Systems Design
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3702 or EE 4400

Application of electromagnetic and optical physics theory, digital communication theory, and modulation techniques to the design of fiber optic transmission systems.  A design project is required.

 

EE 4720 Digital Signal Processing
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 2270, EE 3002

Topics include LSI systems, the DTFT, the DFT, and the FFT. Study of linear and cyclic convolution. The Z-transform. Filter structures. Introduction to FIR and IIR digital filter design. Several DSP applications are discussed and demonstrated. MATLAB simulations and a final project are required.

 

EE 4724 Digital Data Transmission Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3702

Introduction to Random Processes and review of the Sampling Theorem. Pulse amplitude modulation. Baseband digital transmission with PCM, DPCM, DM, ADM. Line coding. Intersymbol interference and equalizing. Passband binary digital transmission including ASK, FSK, PSK, and DPSK. M-ary modulation techniques. Advanced digital communication systems including spread spectrum systems and orthogonal frequency division multiplexing. Spread spectrum systems. Overview of the Behavior of digital communication systems in presence of noise (AWGN).

 

EE 4736 Communication Systems, Simulation & Design
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 4724

Simulation and design of analog and digital communications systems.  MATLAB, SIMULINK, the COMMUNICATION Toolbox, and the Simulink DSP Block-Sets are used to verify and test the designed models. Topics include: Simulation of AM and FM links, Binary and M-ary Baseband and Passband Modulations, Time Division and Frequency Division Multiple Access. Inter Symbol Interference (ISI), Digital Equalization, Raised Cosine Shaping Filter, Spread Spectrum.

 

EE 4742 Advanced Mobile Networks and Technologies
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: EE 3702

1G-5G wireless standards. Cellular traffic capacity and trunking. Large scale and small-scale radio propagation channels. Review of Propagation Models, Fading. Performance of various modulation/demodulation schemes in fading channels. Fading Mitigation. Orthogonal Frequency Division Multiplexing (OFDM). Multiple-Input Multiple-Output Systems (MIMO). Modems for Wireless Communication. Multiple-Access Techniques in Wireless Communications. Antennas for cellular communications.

 

EE 4902 Undergraduate Research in Electrical Engineering
Three credit-hours.
Pre-requisite: Departmental Permit.

Research study in advanced topics in areas of electrical engineering like electric power systems, solid state electronics, communication systems, industrial control, robotics, digital signal processing, among others.  The research can be conducted in two ways: a research paper or the implementation of a project.  Each project will be evaluated observing the use of the recommended guidelines required to develop the project.

 

EE 4904 Undergraduate Research in Electrical Engineering II
Three credit-hours.
Pre-requisite: Pre-requisite: EE 4902. Departmental Permit.

Extension of research study in advanced topics in areas of electrical engineering like electric power systems, solid state electronics, communication systems, industrial control, robotics, digital signal processing, among others.  The research can be conducted in two ways: a research paper or the implementation of a project.  Each project will be evaluated observing the use of the recommended guidelines required to develop the project.

 

EE 4911 Electrical Engineering Seminar I
One credit-hour.
Pre-requisite: Departmental Permit.

Topics are limited to those which are not part of content of regular courses offered by the department.  Credit-hours earned can fulfill the graduation requirements in Electrical Engineering.  It will also serve to stimulate further advanced studies.

 

EE 4912 Electrical Engineering Seminar II
Two credit-hours.
Pre-requisite: Departmental Permit.

Topics are limited to those which are not part of content of regular courses offered by the department.  Credit-hours earned can fulfill the graduation requirements in Electrical Engineering.  It will also serve to stimulate further advanced studies.

 

EE 4990 & EE 4991 Special Topics in Electrical Engineering
Three credit-hours. One four-hour or two two-hour lectures per week.
Pre-requisite: Departmental permit

Advanced topics (4th year level) in areas of current research in electrical engineering. Many include topics in advanced electric power systems, solid-state electronics, communication systems, industrial control, and robotics, among others.

 

 

COMPUTER ENGINEERING COURSES

 

COE 2300 Logic Circuits
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2200, EE 1130

This course covers a full range of topics such as number systems and codes, digital circuits, Boolean algebra, minimization of logic functions, combinational logic design and practices, introduction to combinational logic design with PLDs, sequential logic design principles and practices.  A general exposure to the combinational design of an Arithmetic-Logic Unit (ALU) and the sequential design with PLDs. ROM and RAM system-level design is given.  Design Projects will be required.

 

COE 2301 Logic Circuits Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: CECS 2200, EE 1130
Co-requisite: COE 2300

This laboratory provides an experimental study using the TTL digital logic circuits.  Two levels of integration are used: small-scale integration (SSI) and medium-scale integration (MSI).  These logic circuits are then used in such applications like: combinational logic analysis and design, multiplexing, decoding, arithmetic and comparison operations, memory devices, counting, and sequential logic analysis and design.  Computer simulation will also be required.

 

COE 3302 Digital Systems Design with VHDL
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: COE 2300, COE 2301

Study of the modern methodology for digital system design using CAD tools and VHDL/Verilog as design language.  Design of components toward integration into a system to be used for particular purposes.

 

COE 3303 Digital Systems Design with VHDL Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: COE 2300, COE 2301
Co-requisite: COE 3302

Provides practical exercises in the design, simulation, and implementation of Digital Systems using semi-automated tools, and following a comprehensive design and development process. Covers fundamental computer hardware sub-systems which can be applied in follow-on Computer Architecture course and its laboratory.

 

COE 3320 Microprocessors
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: COE 2300, COE 2301

This course covers a full range of topics such as: numerical base, basic computer architecture and organization, microprocessor and microcontroller architecture, programmer models, microprocessor addressing modes, instruction set, and assembly language.  A design project will be required.

 

COE 3321 Microprocessors Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: COE 2300, COE 2301
Co-requisite: COE 3320

The laboratory provides an introduction to microprocessor systems programming, including both hardware interfacing and software fundamentals.

 

COE 4002 Capstone Design Course I
Three credit-hours. Two two-hour meetings per week.
Pre-requisite: COE 4204, Departmental Permit

First part of a two-term course on the design of projects based on open-ended requirements.  Projects will be selected in accordance with the student’s area of interest (i.e., digital circuits, VLSI testing, software engineering, parallel processing, computer graphics, visualization, artificial intelligence, data base, HCI, computer Hardware, computer Software, data mining, etc.).  Students must approve both Capstone Design Courses in sequence and without interruptions.  Students that approve the first course and miss the second course will be required to repeat the first course again.

 

COE 4022 Capstone Design Course II
Three credit-hours. Two two-hour meetings per week.
Pre-requisite: COE 4002

Second part of a two-term course on the design of projects based on open-ended requirements.  Students must approve both Capstone Design Courses in sequence and without interruptions.  Students that approve the first course and miss the second course will be required to repeat the first course again.

 

COE 4320 Computer Architecture
Four credit-hours. Two two-hour lectures per week.
Pre-requisite: COE 3320, COE 3221
Co-requisite: COE 4321

Instruction set architecture, functional organization, and implementation of a computer are studied from the performance point of view, to provide the students with the principles and techniques used in the design of modern computer systems.

 

COE 4321 Computer Architecture Laboratory
Zero credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: COE 3320, COE 3221

A practical experience on design, organization, performance measurement, benchmarks, and implementation of a computer system.

 

COE 4330 Computer Networks
Three credit-hours. Two two-hour lectures per week.
Co-requisite: CECS 3234 or CECS 4230

Using the public Internet as the model, a top-down approach to the data transport conventions from the Application to the Link layer are analyzed, relying on the protocols published by the IETF and IEEE. The course opens with a concise history of the Internet, followed by an introduction to the organizations involved in Internet governance. The socket concept is examined along with the most important Application, Transport, Network, Link layer open protocols. Routing algorithms, IP addressing, and NAT schemes are discussed. The course closes with the discussion of protocols for multimedia networking, network security, and network management. A team design project is required.

 

COE 4331 Computer Networks Laboratory
One credit-hour. One four-hour or two two-hour lectures per week.
Co-requisite: CECS 4230

The laboratory exemplifies the techniques and devices that implement the solutions to communication problems discussed in class. Covers structured wiring schemes and their combination with wireless access schemes. Configures communication protocol stacks within various operating systems. Simulation and analysis of techniques that solve important communication problems.  Covers various communication applications and issues of security and reliability related to different network topologies and configurations.

 

COE 4340 Microcomputer Interfacing
Four credit-hours. Two two-hour lectures per week.
Pre-requisite: COE 3320, COE 3321
Co-requisite: COE 4341

Practical architectural view of microprocessor and detailed description of its interfacing elements. Laboratory assignments place emphasis on embedded system microcontrollers, their machine language and high-level language, I/O capabilities, peripheral interfacing chips for memory and devices, and counter-timers and interrupts.  Interrupts and interrupt handlers are discussed in detail.  Weekly interfacing problems and a design project are required.

 

COE 4341 Microcomputer Interfacing Laboratory
Zero credit-hour. One four-hour or two two-hour lecture periods per week.
Pre-requisite: COE 3320, COE 3321

The laboratory emphasizes in the I/O capabilities, peripheral interfacing chips for memory and devices, counter-timers, and interrupts.  Interrupts are discussed in detail.  Weekly interfacing problems are discussed.  A design project is required.

 

COE 4902 Undergraduate Research in Computer Engineering
Three credit-hours.
Pre-requisite: Departmental Permit

Research study in advanced topics in areas of computer engineering like data communication systems, digital testing, digital signal processing, artificial intelligence, computer security, distributed systems, and parallel computation, among others.  The research can be conducted in two ways: a research paper or the implementation of a project.  Each project will be evaluated by observing the use of the recommended guidelines required to develop the project.

 

COE 4904 Undergraduate Research in Computer Engineering II
Three credit-hours.
Pre-requisite: COE 4902. Departmental Permit

Extension of research study in advanced topics in areas of computer engineering like data communication systems, digital testing, digital signal processing, artificial intelligence, computer security, distributed systems, and parallel computation, among others.  The research can be conducted in two ways: a research paper or the implementation of a project.  Each project will be evaluated by observing the use of the recommended guidelines required to develop the project.

 

COE 4990 Special Topics in Computer Engineering
Three credit-hours. One four-hour or two two-hour lecture periods per week.
Pre-requisite: Departmental permit

Advanced topics (4th year level) in areas of current research in computer engineering. Many include topics in data communication systems, computer graphics, robotics, computer architecture, digital testing, image processing, parallel computing, software engineering, computer languages, and real-time systems, among others.

 

 

COMPUTER ENGINEERING AND COMPUTER SCIENCE COURSES

 

CECS 2004 Discrete Structures
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: MATH 1330 or Equivalent
Co-requisite: MATH 1340

Fundamental mathematical concepts related to computer science, including finite and finite sets, relations, functions, and prepositional logic. Introduction to other proofing techniques. Modeling and solving problems in computer science. Introduction to permutations, combination graphs, and trees with applications.

 

CECS 2200 Computer Programming Fundamentals
One credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: MATH 0110 or Equivalent

Introductory laboratory teaching the concept of an algorithm as a systematic solution to a problem.  Students learn to represent algorithms using flowcharts and pseudocode.  Fundamental constructs of structured programming languages such as variables, operators, selection, and repetition statements are then used to capture these algorithms for automated execution in a computer.  Students learn to use a development environment and a high level language such as C++.

 

CECS 2202 Computer Programming I
Four credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2200
Co-requisite: CECS 2203

The course is a follow-up to the CECS 2200 course and continues with the development of algorithms and programming skills using C++.  It emphasizes modular program design using functions, arrays, and pointers.  The course introduces fundamental object-oriented concepts such as class, object, instance variables, instance methods, and constructors and destructors.

 

CECS 2203 Computer Programming I Laboratory
Zero credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: CECS 2200

This course is the laboratory companion to the Computer Programming I course (CECS2202).  It uses two different pedagogic strategies to assure that student carry out their lab projects successfully.  The students complete a set of mini-projects in a closed laboratory setting. Each set of mini-projects provides them with the practical skills required to tackle a major project as a take home open-lab assignment.  All projects are carried out using an Integrated Development Environment for the C++ language.

 

CECS 2222 Computer Programming II
Four credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2202, CECS 2203
Co-requisite: CECS 2223

This course continues the development of the students’ skills in algorithm programming using the object oriented paradigm.  It emphasizes dynamic memory allocation, composition, inheritance, templates, exception handling, and file processing.

 

CECS 2223 Computer Programming II Laboratory
Zero credit-hour. One four-hour or two two-hour lectures per week.
Pre-requisite: CECS 2202, CECS 2203

This course is the laboratory companion to the Computer Programming II course (CECS 2222).  The students complete a set of mini-projects in a closed laboratory setting.  Each set of mini-projects provides them with the practical skills required to tackle a major project as a take home open-lab assignment.  All projects are carried out using an Integrated Development Environment for the C++ language.

 

CECS 3200 Assembly Language Programming
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2202, CECS 2203, COE 2300

This course introduces students to the fundamental principles of machine language. Basic concepts such as number or data representation (binary, hexadecimal and others), branching and looping, memory organization, operands, instruction cycle, addressing modes, exception handling, etc. are introduced.

 

CECS 3202 Visual-Oriented Programming
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2202, CECS 2203

This course is an introduction to Visual Basic. Course covers the fundamentals of visual programming in Visual Basic. Topics discussed cover: variables and operators, using decision structures, loops and timers, strings, modules, procedures, arrays, and graphical user interfaces.

 

CECS 3210 Advanced Programming
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223

This course aims to advance your basic programming skills, with special attention to user interface design, problem solving, and coding style in an object-oriented event-driven language, such as C#.  Topics include: objects, classes and events, GUI design, and multithreading.  Optional topics are: graphics and databases.

 

CECS 3212 Data Structures
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2004, CECS 2222, CECS 2223

The course covers fundamental data structures, the tradeoffs these imply for various sorting and searching algorithms, and their application using C++ or similar high-level language.  The course emphasizes recursion, and the use of pointers, lists, stacks, queues, tables, and trees.  The computational performance of searching and sorting techniques using big-O notation are also discussed.  Several programs are assigned.

 

CECS 3214 Internet Programming I
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223

Covers the fundamental concepts guiding the emergence of the Internet and WWW.  Focuses on technologies used at the browser’s side. Includes, XHTML, advanced elements such as tables, forms and frames, use of JavaScript for DOM manipulation.  Emphasizes efficiency and scalability in the creation and maintenance of websites, including style sheets (CSS) and separation of content from presentation.  An introduction to XML and related standards is included.

 

CECS 3216 Machine Learning
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 2270, EE 2010

Algorithms and Models covered in this course include Linear Regression, Logistic Regression, Support Vector Machines, Gradient Descent, Dimensionality Reduction: Principal Component Analysis, K-means Clustering, Decision Trees, Ensemble Learning, Basic Introduction and Overview of Artificial Neural Networks and Deep Learning including Convolutional Neural Networks and Recurrent Neural Networks. Topics include; Data Collection and Preparation, Problems with Data, Data Imputation, Data Imbalance, Supervised vs. Unsupervised Learning, Training Data, Validation Data, Test Data, Activation Functions, Parameters vs Hyperparameters, Overfitting, Underfitting, Performance Metrics, Confusion Matrix, Learning Curves, Cross Validation, The Bias-Variance Problem, Learning Rate, Transfer Learning, Local Minima vs. Global Minima, Backpropagation, The Vanishing Gradient Problem in Deep Neural Networks, Generalization Ability, Regularization Techniques, Initialization Schemes, Fast Optimizers, and Applications. A project or incremental projects including reports and/or oral presentations are required. The software used is MATLAB, Python, Tensor Flow, Keras and Scikit-Learn.

 

CECS 3218 Data Engineering for Machine Learning I
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 2270, EE 2010

Review of the Machine Learning Process. Covers best practices, classes of techniques and criteria for their selection when performing Data Preparation for Machine Learning (ML). Data Cleaning and feature selection following sound statistical and modeling techniques that avoid data leakage and model distortion. Data transform algorithms most suitable to different variable types and their probability distributions, for single and multiple variables. How to transform prediction targets and integrate these into the final model. Address machine learning computational complexity issues with dimensionality-reduction algorithms.

 

CECS 3220 Human-Computer Interaction
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223

The course explores user-centered design approaches in information system applications. Addresses the user interface and software design strategies, user experience levels, interaction styles, usability engineering and collaborative systems technology.

 

CECS 3234 UNIX Operating System
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223 or EE 4220

Concepts of the UNIX operating system are presented. The course will also provide a deep and thorough knowledge of UNIX and its utilities.  Topics include system commands, system editors, awk, sed, text formatting, and shell programming. The use of modem and terminal software and system maintenance utilities are covered as well as system call in C, lex, yacc, ar, and make.

 

CECS 3302 Data Communications
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: COE 2300

This course is concerned with the exchange of data between directly connected devices. The key aspects of transmission, interfacing, link control, and error-free data transfers are examined. The physical and data link layers are discussed for a variety of LAN and WAN technologies. Design projects are required.

 

CECS 4200 Programming Languages
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

The course covers general concepts and constructs of several major programming paradigms.  The design issues involved in the various language constructs are discussed and how these choices lead to different languages.  Imperative, declarative, logic, functional, and object-oriented programming paradigms are illustrated in languages such as Pascal, Prolog, Lisp and C++.  Methods used for describing the semantics and syntaxes of programming languages are introduced, such as: EBNF, syntax graphs, attribute grammars, operational, and denotation semantics.

 

CECS 4202 Database Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2004, CECS 2222, CECS 2223

This course is an introduction to the database concept.  The course covers data models, relational database concepts, hierarchies, relational algebra and SQL, storage structures, and the role of databases and computers in application environments.  Various programming assignments in SQL and a design project are required.

 

CECS 4204 Software Engineering
Three credit-hours. Two two-hour lectures per week.
Co-requisite: CECS 4202

The course presents the different phases for the development of software: project planning, object-oriented analysis, design, coding, and testing techniques using the Unified Modeling Language (UML). In addition, some tools to support the development to complete the activities necessary to develop software. Students are required to use what is presented to develop an application (the implementation is optional).

 

CECS 4206 Design and Analysis of Algorithms
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

This course covers issues that arise in the analysis and design of algorithms used for solving computational problems. A number of common algorithm design paradigms and examples are presented and explained. Algorithm design issues are contemplated. Computability and computational tractability concepts are introduced. Examples of computational problems with no algorithmic solution are analyzed. The importance of time and space requirements are greatly considered as the student designs algorithms to solve computational problems.

 

CECS 4208 Computer Forensics
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

The computer forensics course teaches students the basics of how a computer forensic case is carried out. The course covers the basic elements of criminology, legal theory as it applies to computer forensics, as well as the investigative process. The course teaches the necessary technical theory and practical aspects of forensic investigations. It emphasizes proper collection of evidence, proper documentation handling and information disposal procedures.

 

CECS 4210 Ethical Hacking
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

This course covers the basic skill set in the area of ethical hacking. The course explains how to analyze exploits by examining and coding them, while discussing how to protect the computing infrastructure from those same attacks. It will also examine how the process of ethical hacking is carried out in a business environment.

 

CECS 4214 Network Security
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

This course covers current network technologies and the methodologies used to secure them. The course provides a hands-on approach where the student will learn the theory as well as the implementation of network security technologies in a controlled environment. The course includes a “Capture the flag” simulation where students are expected to protect the infrastructure from real attacks on an isolated network.

 

CECS 4216 Reverse Engineering
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

The subject of reverse software engineering is the process of analyzing binary code to create a higher-level representation of the program being examined. This is accomplished by applying reversing techniques to obtain the assembly code from the binary executable and then obtain the C/C++ structure from the recovered assembly code. The course will study the ways in which protection mechanisms have been circumvented in the past through reverse engineering and the current methods employed to protect programs from reverse engineering. The course also emphasizes the methods by which IT personnel and programmers can protect software applications from circumvention by an attacker, thereby protecting the IT infrastructure.

 

CECS 4218 Introduction to Game Design
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2200

This course is an introduction to the process of game design prior to game development, including the development of an idea and the production of a game design document. Topics include game elements, player motivation, game dynamics, game culture, game design team roles and game design process workflow.

 

CECS 4220 E-Commerce
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223

This course will study the structure, organization, and use of the Internet. Internet technologies and their potential applications are examined including electronic commerce, database connectivity, and security. An emphasis will be placed on evaluating, organizing, and developing efficient models of electronic transactions and Web Information Systems.

 

CECS 4222 Game Programming Fundamentals
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223, CECS 4218

In-depth coverage of the object-oriented architectures and software design patterns used for game design.  Students work with a game engine software framework to design and implement several kinds of games.  Additional topics include animation techniques, physics simulation, user controls, graphical methods, and intelligent behaviors.

 

CECS 4224 Deep Learning
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: ENGI 2270, EE 2010

Machine Learning Overview, The Perceptron, Multi-Layer Neural Networks, Deep Neural Networks, Backpropagation, Transfer Learning, Convolutional Neural Networks, Recurrent Neural Networks, Attention Mechanism, Transformers, Autoencoders, Generative Adversarial Networks, Reinforcement Learning, other ANN architectures such as Boltzman Machines, Self-Organizing Maps, and others. Topics include: Data Collection and Preparation, Problems with Data, Data Imputation, Data Imbalance, Training-Test Data Split, Gradient Descent, Activation Functions, Hyperparameters Selection, Overfitting, Underfitting, Performance Metrics, Confusion Matrix, Learning Curves, Cross Validation, The Bias-Variance Problem, Learning Rate, Local Minima vs. Global Minima, The Vanishing/Exploding Gradient Problem, Generalization Ability, Regularization Techniques, Initialization Schemes, Fast Optimizers, and Deep Learning Applications. A project or incremental projects including reports and/or oral presentations are required. The software used is MATLAB, Python, Tensor Flow, Keras and Scikit-Learn.

 

CECS 4226 Computer Graphics
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 2222, CECS 2223

The course covers the representation and manipulation of two and three-dimensional transformations, projection, illumination, and shading models. The course will focus on algorithms and techniques that have emerged in the past several years. Topics include basic modeling and rendering methods; volumes and scientific visualization techniques, visual programming languages and environments, and computer animation. Also presents computer graphics as an aid in the presentation and analysis of information.

 

CECS 4228 Computational Theory
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3212

Introduces basic concepts in computation and computability theory. The course covers formal languages, models of computation and computational complexity. Major topics include regular languages, context-free languages, decidability, reducibility, time complexity and space complexity.

 

CECS 4230 Operating Systems
Three credit-hours. Two two-hour lectures per week.
Co-requisites: COE 4320, COE 4321

Operating systems are the programs that manage the computer hardware resources, and augment or enhance their basic functionality on behalf of the application programs that use the computer.  The course discusses various aspects of computer operating systems including processes, process scheduling, memory management, concurrent programming, deadlocks, and others.

 

CECS 4232 Data Engineering for Machine Learning II
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3218

Covers the processes pipeline for collecting, storing, and analyzing big-data at-scale for Machine Learning from the perspective of the Data Engineering life cycle. Presents a historical summary of the evolution of computing for big-data and machine learning. Reviews enterprise data architectural frameworks. Studies the layered models for cloud computing and hybrid clouds. Discusses and analyzes tradeoffs between the key issues of consistency, scalability, fault tolerance, and complexity. Studies ML design patterns and their adoption in major implementation frameworks. Studies the principal ML model experimentation and deployment platforms.  Reviews training, validation and deployment of ML algorithms and re-training actualization. Provides practice in the utilization of some of the leading Cloud-computing platforms for ML. Covers open and standardized cloud computing management and orchestration frameworks for your application infrastructure containers, as in Doker, and Kubernettes.  Discusses data governance, security, and ethical issues.

 

CECS 4236 Software Requirements Engineering
Three credit-hours. Two two-hour lectures per week.
Co-requisite: CECS 4202

Explores the process of requirements, elicitation, generation, modeling, tracing, and utilization in the development of software systems under plan-based and agile software development methodologies.

 

CECS 4240 Real-Time Operating Systems
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: CECS 3234 or CECS 4230

Real-time operating systems (RTOS) are used primarily in embedded systems. In these systems, the time factor is a priority to ensure that all processes are carried out within established time frames. Examples are industrial control applications, telephone switching equipment, flight control and real-time simulations. The course introduces concepts such as task states and scheduling triggers, process and thread synchronization, and others, all emphasized on the real-time operating system. Simulator will be used to expose students to these concepts

 

CECS 4248 Software Testing and Verification
Three credit-hours. Two two-hour lectures per week.
Co-requisite: CECS 4202

The course presents the concepts, processes, strategies, methods, and techniques for software verification and validation. It also covers how to write a test plan and test report.

 

CECS 4911 Computer Engineering Seminar I
One credit-hour.
Pre-requisite: Departmental Permit.

Topics are limited to those which are not part of content of regular courses offered by the department.  Credit-hours earned can fulfill the graduation requirements in Computer Engineering and Computer Science.  It will also serve to stimulate further advanced studies.

 

CECS 4912 Computer Engineering Seminar II
Two credit-hours.
Pre-requisite: Departmental Permit.

Topics are limited to those which are not part of content of regular courses offered by the department.  Credit-hours earned can fulfill the graduation requirements in Computer Engineering and Computer Science.  It will also serve to stimulate further advanced studies.

 

 

COURSES FOR NON-ELECTRICAL ENGINEERING MAJORS

 

ENGI 2310 Computer Programming & Algorithms
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: MATH 1330 or Equivalent

The students will learn the steps that lead to the possible solution to a problem.  In addition, the course presents the tools used in the development of a program.

 

ENGI 2320 Principles of Electrical Engineering
Three credit-hours. Two two-hour lectures per week.
Pre-requisite: SCIE 1440

Introduction to fundamental electrical engineering concepts.  Study of electrical quantities such as current, voltage, energy, and power.  Study of the ideal behavior of resistors, inductors, and capacitors as well as various independent and dependent ideal energy sources.  Introduction to basic techniques of electrical circuit analysis.