Course Description for Computer Program

EE 201            Structured Computer Programming

Introduction to computers. Simple algorithms and flowcharts. Solving engineering and mathematical problems using a mathematically-oriented programming language. Programming concepts: I/O, assignment, conditional loops, functions and subroutines. Programming selected numerical and non-numerical problems of mathematical and engineering nature.

Prerequisites              MATH 110, CPIT 110

 

EE 202            Object-Oriented Computer Programming

Object-oriented programming: classes, objects and methods. Object-oriented design. Simple data structures. Best programming practices (structured coding, documentation, testing and debugging).

Prerequisites              EE 201

 

EE 250            Basic Electrical Circuits

Electric quantities and circuit elements. Kirchhoff’s laws. Mesh and node analyses. Sinusoidal steady-state analysis using phasors. Network theorem and transformations. Ideal transformers. Three-phase circuits.

Prerequisites              PHYS 202

 

EE 300            Analytical Methods in Engineering

Linear algebra: matrices and determinants, eigenvalues and eigenvectors. Complex analysis: complex arithmetic, complex algebra, power series, differentiation and integration in the complex plane and residue analysis.

Prerequisites              MATH 204

 

EE 301            Electrical Circuits and Systems

Resonance circuits. Magnetically-coupled circuits. Op-amp circuits. Transient analysis via the conventional and Laplace methods. Fourier analysis with applications to circuits. Two-port networks.

Prerequisites              MATH 204, EE 250

 

EE 305            Discrete Mathematics and its Applications

Sets, sequences, properties of Integers. Proof techniques, mathematical induction. Basic counting: permutations, combinations, probability, and recurrence relations. Cartesian products and power sets, relations and digraphs. Types of functions, permutation functions. Binary trees, traversals. Graphs, transport networks.

Prerequisites              EE 202, IE 202, MATH 204

 

EE 306            Electrical Engineering Technologies

Electrical engineering fields of activities. Sources of electrical energy: power supplies, batteries, generators and alternative power sources. Distribution and utilization of electrical energy, commentators and protection devices. Conversion of electrical energy; sensors and actuators. Electrical safety. Principles of electrical and electronic measurements and instrumentation, standards and calibration. Sources of measurement errors, and analysis of measured data.

Prerequisites              EE 250, STAT 110

 

EE 311            Electronics I

Conduction in metals and semiconductors, P-N junctions, diode circuits. Field-effect and junction transistors. Low frequency equivalent circuits. Basic amplifiers.

Prerequisites              EE 250

 

EE 312            Electronics II

Feedback in amplifiers. Frequency response of amplifiers. Operational amplifiers: design and applications as linear and non-linear analog building blocks, adders, subtractors, differentiators, integrators, analog simulation, and active filters. Logarithmic and exponential amplifiers, precision converters, analog multipliers, wave-shapers, sinusoidal and square wave oscillators.

Prerequisites              EE 311

 

EE 321            Introduction to Communications

Fourier Signal Analysis. Linear Modulation: AM, DSBSC, SSB, Frequency Conversion, generation and detection. FDM, Exponential Modulation: FM, PM, NBFM, WBFM. Pulse Modulation, Sampling Theorem, PAM, PDM, PPM, PCM, TDM, Digital Modulation ASK, PSK and FSK.

Prerequisites              EE 301

 

EE 331            Principles of Automatic Control

Introduction to control systems with examples from different fields. Transfer functions and block diagram algebra. Stability analysis (Routh-Hurwitz and Nyquist). Tracking performance to different inputs. Root locus and frequency-domain analysis and design of control systems. State variable representation of a system and state space analysis.

Prerequisites              EE 300, EE 301

 

EE 332            Numerical Methods in Engineering

Introduction. Solution of non-linear equations. Solution of large systems of linear equations. Interpolation. Function approximation. Numerical differentiation and integration. Solution of the initial value problem of ordinary differential equations.

Prerequisites              EE 201, MATH 204

 

EE 360            Digital Design I

Representation and manipulation of digital information. Basic Boolean logic. Elements of digital building blocks. Computer arithmetic unit. Memory unit. Input-Output unit. Basic operation of the computer control unit.

Prerequisites              EE 250

 

EE 361            Digital Computer Organization

Basic architecture of digital computers. Hardware-software interface starting from the Instruction Set Architecture (ISA) and its implementation. Other important digital components including the microarchitecture of the processor and the hierarchy of the memory subsystem. Performance techniques including parallel processing and multicore computers.

Prerequisites              EE 360, STAT 110

 

EE 364            Advanced Programming

Structured programming concepts and control structure. Systematic program design. Modularization and scope concepts. Use of a variety of data structures and programming techniques. Iteration and recursion. Memory management. Program correctness, informal verification and testing.

Prerequisites              EE 202

 

EE 366            Microprocessors and Microcontrollers

Design of microcontroller-based embedded systems. Overview of a single-chip microcontroller, hardware and software concepts in microcontrollers. System architecture, central processing unit (CPU), internal memory (ROM, EEPROM, RAM, FLASH). Input/ Output ports, serial communication, programmable interrupts. ADC, DAC, interfacing and timers. Microcontroller programming model and instruction set, assembly and C language programming.

Prerequisites              EE 202, EE 360

 

EE 367            Data Structures and Algorithms

Basic concepts of data and their representations inside a computer (scalar, structured and dynamic). Manipulation of arrays, strings, stacks, queues, linear lists, circular lists, orthogonal lists, trees and graphs. Sorting and searching algorithms.

Prerequisites              EE 202, EE 305

 

EE 390            Summer Training

Ten weeks of training in industry under the supervision of a faculty member. Students have to submit a report about their achievements during training in addition to any other requirements as assigned by the department.

Prerequisites              Approval of Department

 

EE 400            Cooperative Work

Extensive 25 weeks of training in industry under the supervision of a staff member. Students should submit a final report about their training in addition to any other requirements as assigned by the department.

Prerequisites              Approval of Department

 

EE 431            Advanced Control Systems

State space representation and realization, controllability and observability. Liapunov and popov stability criteria, stochastic and sampled data control theory, optimal control theory.

Prerequisites              EE 331

 

EE 432            Digital Control Systems

Derivation of differential/difference equations for physical systems. The Laplace transform. The Z transform. The transfer function. Stability in the Z plane. System response in the time domain. Controllability and Observability - Design of Closed-loop digital control systems: a) by conventional means: b) by the digital computers.

Prerequisites              EE 331


 

EE 460            Digital Design II

Advanced techniques in the design of digital systems. Hardware description languages, combinational and sequential logic synthesis. Emphasis on reconfigurable logic as an implementation medium. Memory system design. Serial/parallel communication.  Introduction to testing, simulation, fault diagnosis and design for testability.

Prerequisites              EE 360

 

EE 462            Computer Communication Networks

Components of data communication systems. Topologies and protocols. Network Protocols including (OSI, TCP/IP) models. Switched networks. Error detection and corrections techniques. Multiple access methods (MAC).  Evolution of the Ethernet. Wireless LANs technology. Connect different LANs (internetworking devices). Logical Addressing and subnetting (IPv4 & IPv6).

Prerequisites              EE 202, EE 321

 

EE 463            Operating Systems

Operating systems as resource managers. Process concepts. Synchronous concurrent processes, and threads. Concurrent programming monitors. Real and virtual storage management. Processor scheduling. Disk scheduling. File systems and security. Some case studies.

Prerequisites              EE 361, EE 367

 

EE 466            Computer Interfacing

Data Acquisition, Sensors and Actuators interfacing, Common computer interfacing such as USB and SPI, Analog-to-digital and Digital-to-Analog converters, Real-time operating system, and Raspberry Pi applications.

Prerequisites              EE 361, EE 366

 

EE 467            Databases

Need for the database approach. Database system architectures (1-tier, 2-tier and 3-tier). Database management systems. Data modeling at the conceptual level (ER and UML). Overview of some modern data models at the Logical level. In-depth study of a selected logical data model (e.g. relational database model). Mapping from the conceptual model to the selected logical model. Database querying and application programming languages. Data modeling at the Physical level (e.g. basic data and storage structures).

Prerequisites              EE 367

 

EE 468            Systems Programming

System calls, File manipulation, Memory management. Processes, Synchronization, Inter-process communication, Remote procedure call, Threads and concurrent programming, Socket-programming.

Prerequisites              EE 361, EE 367

 

EE 469            Compiler Construction

Languages and grammars. Formal syntax and semantics. Formal grammars, parsing, ambiguities, syntax trees. Techniques for top-down and bottom-up syntax analysis. Regular expressions, finite automata and Lexical analysis. Code generation and syntax-directed translation. Symbol tables and storage allocation. Translator-writing systems.

Prerequisites              EE 367

 

EE 482            Introduction to Artificial Intelligence

Expert systems, Machine Learning Algorithms, Pattern recognition, Computer vision, Knowledge representation and datasets, Optimization and problem-solving methods, Reasoning, AI applications.

Prerequisites              EE 367

 

EE 490            Special Topics in Electrical Engineering

Selected topic to develop the skills and knowledge in a given field.

Prerequisites              Approval of Department

 

EE 495            Special Topics in Computer Engineering

 

Prerequisites              EE 361, EE 367, EE 331

 

EE 496            Special Topics in Automatic Control

 

Prerequisites              EE 331, IE 331

 

EE 499            Senior Project

The student is required to function on a multidisciplinary team to design a system, component, or process to meet desired needs within realistic constraints. A standard engineering design process is followed including the selection of a client-defined problem, literature review, problem formulation (objectives, constraints, and evaluation criteria), generation of design alternatives, work plan, preliminary design of the selected alternative, design refinement, detailed design, design evaluation, and documentations. The student is required to communicate, clearly and concisely, the details of his design both orally and in writing in several stages during the design process including a final public presentation to a jury composed of several subject-related professionals.

Prerequisites              Approval of Department

 


Last Update
7/3/2020 11:44:23 PM