Course Descriptions and Syllabi

CPEG 201L Matlab Programming Laboratory (1)
Matlab and its application for engineering analysis and problem-solving. Command Window Operations, 2D plotting, Array Manipulation, Data Handling, Control Structures, Scripting and Function Files, 3D plotting; numerical methods, roots of nonlinear equations, systems of equations, differential equations, etc. Building Graphical User Interfaces. Prerequisite: CSIS 120. Concurrent: MATH 210.
CPEG 210 Digital Logic Design (3)
Number systems and codes, Boolean algebra, minimization methods, combinational circuit design and analysis, arithmetic blocks, programmable logic, latches and flip-flops, sequential logic design, state machines, registers, counters, memory elements, logic synthesis, high-level synthesis, an introduction to VHDL. A lab component is included in this course. Prerequisite: CSIS 120.
CPEG 210L Digital Logic Design Laboratory (1)
A laboratory component for the course CPEG 210 Digital Logic Design. The lab syllabus is aligned with the course topics. Implementations are done using hardware circuits, software schematic capture and simulation, and hardware description under VHDL.Concurrent: CPEG 210.
CPEG 220 Computer Organization and Architecture (3)
The fundamental elements of digital logic and their use in computer construction; register level description of computer execution and the functional organization of a computer; essential elements of computer architecture; major functional components of a modern computer system. Design principles associated with modern computer architectures; performance and cost considerations; architectural features influenced by such features as operating systems and window systems, high level languages, etc.; floating point arithmetic, performance of computer systems, processor implementation strategies, micro-programming, pipelining, CISC and RISC, vector processors; memory hierarchy, cache, virtual memory organization for high performance machines; a brief introduction to I/O and bus subsystems. Prerequisite: CPEG 210.
CPEG 221 Computer Systems Engineering (3)
Covers topics on the engineering of computer SW and HW systems. Introduction to computer organization and architecture: systems programming, processor types, memory, peripherals, performance analysis, benchmarking, emphasis on system selection criteria, recovery, reliability, and maintenance. Operating systems and networks: modern technologies, services, security, and challenges. Case studies and market surveys of computer and information systems in industrial and engineering applications. Prerequisite CSIS 120. Restriction: Not open for CPEG or ELEG students. Prerequisites: CSIS 120.
CPEG 221L Computer Systems Engineering Laboratory (1)
A laboratory component for the course CPEG 221 Computer Systems Engineering. The lab syllabus is aligned with the course topics. Co-requisite: CPEG 221. Restriction: Not open for CPEG or ELEG students. Concurrent: CPEG 221.
CPEG 303L Advanced Programming for Engineering Laboratory (1)
Parallel programming: Multi-threaded applications, client server model, distributed computing. Basic database programming and connectivity. Graphical user interface. C programming language for Java programmers: differences, pointers, and applications. Prerequisite: CSIS 210.
CPEG 305 Algorithms in Computer Systems Engineering (3)
Introduction to data structures with emphasis on graphs. Algorithms: analysis of algorithms, graph algorithms. Advanced design and analysis techniques: dynamic programming, greedy algorithms, etc. Selected algorithms for systems engineering: branch and bound, linear programming, etc. Implementations and engineering applications of algorithms are emphasized. Prerequisite CSIS 130 and MATH 201. Prerequisites: CSIS 130 and MATH 201.
CPEG 330 Microprocessors & Interfacing (3)
Microprocessor organization, multicore processors, programming model, assembly language programming, addressing modes, translating high-level programs to assembly language, arithmetic/logic operations, selection, looping, pointers, subroutines/macros, etc. I/O and buses, protocols, modern interfacing techniques, interfacing ICs, applications of microprocessors and microcontrollers, and software/hardware interface design; a lab component is included in this course. Prerequisites: CPEG 220 and ELEG 270. Concurrent: CPEG 330L.
CPEG 330L Microprocessors & Interfacing Laboratory (1)
A microcontrollers-based laboratory component for the course CPEG 330 Microprocessors & Interfacing. The lab syllabus is aligned with the course topics. Concurrent: CPEG 330.
CPEG 331L Data Acquisition and Automation Laboratory (1)
Data acquisition and automation using both software and hardware tools. Introduction to instrumentation and signal conditioning. Virtual instruments and graphical programming for the analysis and visualization of data. Interfacing analog and digital signals. Real-time interfacing, sensors, transducers, and actuators, found in industry. Prerequisite: CPEG 220.
CPEG 340 Embedded System Design (3)
System design process: requirements analysis, specification, hardware/software co-design, testing; embedded computing platforms: general-and special-purpose processors, hardware accelerators, systems-on-a-chip, intellectual property (IP) core-based design; software design tools and technologies: CAD tools, compilers, and assemblers; hardware design tools and technologies: hardware-description languages, high-level synthesis tools, ASIC and FPGA design. Prerequisite: CPEG 220.
CPEG 340L Embedded System Design Laboratory (1)
An FPGA-based laboratory component for the course CPEG 340 Embedded System Design. The lab syllabus is aligned with the course topics. Concurrent: CPEG 340.
CPEG 350 Data Communication & Computer Networks (3)
This course provides a basic technical introduction to data communication: encoding, modulating, and error detection & correction codes. Topics covered include networks classification; architecture (OSI reference model, TCP/IP, layer services, protocols, LANs, packet switching, routing, and addressing); network technologies and devices; network services; and an introduction to network security. Prerequisite: CPEG 210 and CSIS 210.
CPEG 350L Data Communication & Computer Networks Laboratory (1)
A laboratory component for the course CPEG 350 Computer Networks. The lab syllabus is aligned with the course topics. Prerequisite: CPEG 350.
CPEG 369 Short Course (1-3)
Topic varies by semester. Classes are taught by a guest lecturer or lecturers. Can be repeated for credit with different topic. Permission of instructor.
CPEG 388 Independent Study (1-4)
Can be repeated for credit with different topic. Permission of instructor.
CPEG 389 Special Topics in Computer Engineering (3)
Can be repeated for credit with different topic. Permission of instructor.
CPEG 390 Introduction to the Internet of Things (3)
This course provides an introduction to the basic concepts behind the internet of things: What is IoT, and how does it work? Students will study its basic design components, and learn how to design and implement a simple IoT application and prototype. The course also introduces smart devices, sensors and connectivity to the internet of meters, alerts and sensing devices. It provides a simple introduction to robotics, to the theory of communication between objects and computers, and to wireless protocols, web services related to IoT, embedded operating systems and microcontrollers. Prerequisites: CPEG 350
CPEG 422 Digital Signal Processing (3)
Digital processing of signals, sampling, difference equations, discrete-time Fourier transforms, discrete and fast Fourier transforms, digital filter design. Signal processing under MATLAB. Prerequisite: ELEG 320.
CPEG 430 Introduction of Soft Computing (3)
Soft computing techniques, fuzzy sets, membership functions, fuzzy logic, fuzzy rules, fuzzy reasoning, fuzzification and defuzzification, artificial neural networks, perceptrons, supervised learning, multi-layer, back propogation, probabilistic reasoning, Bayesian network, evolutionary computation, genetic algorithms, simulated annealing, swarm intelligence, continuous optimization, combinatorial optimization, real-world problems. Prerequisite: CSIS 210 and STAT 214.
CPEG 440 Computer Networks (3)
This course explores modern computer network technologies, applications, and performance. It focuses on network architectures, TCP/IP protocol architecture, multimedia networking, network management, network security, and network performance analysis. The course particularly emphasizes data link layer technologies (like multiple access, Ethernet, wireless LANs, SONET/SDH, etc.), network layer technologies (such as logical addressing, Internet protocol, address mapping, and multicasting), transport layer technologies (e.g UDP, TCP, congestion control, quality of service), and application layer technologies (including domain name space, WWW, HTTP, email, and SNMP, among other topics). It also examines the general principles of network performance analysis through mathematical modeling and simulation. Prerequisite: CPEG 350.
CPEG 441 Hardware/Software Co-Design (3)
Design models: state machines, concurrent process models, dataflow, communicating sequential processes, etc. Design partitioning, co- synthesis, co-stimulation, co-design. Transformational co-design, formal models, correctness. Functional programming in HW design, concurrency, synthesis of parallel algorithms. HW Compilers. Prerequisite: CPEG 340.
CPEG 450 Network Security (3)
Fundamental security principles and real-world applications of Internet and computer security. Topics covered in the course include legal and privacy issues, risk analysis, attack and intrusion detection concepts, system log analysis, intrusion detection and packet filtering techniques, computer security models, computer forensics, and distributed denial-of-service (DDoS) attacks. Junior standing or permission of instructor. Prerequisite: CPEG 350.
CPEG 455 Wireless Networks and Mobile Systems (3)
Multidisciplinary, project-oriented design course that considers aspects of wireless and mobile systems. Including wireless networks and link protocols, mobile networking including support for the Internet Protocol suite, mobile middleware, and mobile applications. Junior standing or permission of instructor. Prerequisite: CPEG 350.
CPEG 460 Robotics (3)
Project-oriented design course that includes topics on perception, sensors, computer vision, navigation, localization, actuation, manipulation, mobility. Intelligence: control, planning, and mission execution. Junior standing. Prerequisites: CPEG 330 and ELEG 320.
CPEG 470 Internship in Computer Engineering (1-3)
An internship experience with the requirement that the student write a report summarizing what the internship job added to his or her knowledge of computer engineering and related fields. Students are limited to a maximum of 6 internship credit hours. This is a pass/fail course. Junior standing and permission of instructor. Prerequisite: minimum GPA of 2.0.
CPEG 475 Senior Design Capstone I (3)
A supervised project in groups of normally three students aimed at providing practical experience in some aspect of computer engineering. Students are expected to complete a literature survey, project specification, critical analysis, and to acquire the necessary material needed for their intended end product. Prerequisites: CPEG 340. Concurrent: CPEG 330.
CPEG 480 Senior Design Capstone II (3)
A course that seeks to impart in students the skill to integrate the knowledge gained in different courses by asking them to develop a product that has passed through the design, analysis, testing, and evaluation stages. This course includes production of a professional report, design process and outcome, implementation and testing, and critical appraisal of the project. Prerequisite: CPEG 475.
ENGR 200 Engineering Design (3)
An overview of engineering as a profession, ethics in engineering, teamwork, reporting, engineering graphics and communication skills for an engineer, reverse engineering, design and build a project, engineering modeling, cost-benefit tradeoffs, product design and performance, business and career planning, and professional practice.
ENGR 210 Engineering Entrepreneurship I (3)
This course introduces students to Entrepreneurship in Engineering disciplines via investigating the key entrepreneurial area of: (a) intellectual property, its protection and related strategies; (b) evaluating the market viability of new High-Tech and/ or Engineering ideas; (c) shaping these ideas into the right products or services for the right markets; (d) developing strategies for High-Tech/ Engineering product positioning, marketing operations; (e) acquiring the resources needed to start a new venture, e.g., people, financing, strategic partners, etc.; and (f) leadership roles for the founders of High-Tech/ Engineering ventures. Perquisite: MGMT 201.
ENGR 300 Engineering Ethics (3)
This course aims at introducing the students to the engineering profession and engineering ethics. As engineering students learn how to design and implement complex systems and take part in the development of their communities, various ethical quandaries and challenges arise. Typical examples of these challenges are related to plagiarism, authorship, intellectual property, and conflict of interest. Resolutions will be required to warrant proper conduct of the engineering profession. The course provides students with essential background on ethical theories and enlightens them on how to deal with unusual engineering issues without undermining the ethical standards. The students knowledge will be enriched by citing general ethical codes recognized worldwide by professional societies.
Prerequisite: ENGL 102.
ENGR 310 Engineering Entrepreneurship II (3)
This course investigates the key elements of planning an entrepreneurial High-Tech and/ or Engineering ventures, including: (a) defining the ventures industry and market; (b) developing strategies for High-Tech/ Engineering product positioning, marketing, distribution, sales, operations, management and development; (c) preparing a financial plan; and (d) dealing with global, regional, and local case studies. Effective written and verbal presentation skis are emphasize throughout the course. Perquisite: ENGR 210.
ENGR 330 Engineering Economics (3)
Provides knowledge of economic consequences of engineering decision processes, and methods for evaluation of engineering design alternatives in terms of costs and benefits. Topics include time equivalence of money, annual cost method, present worth method, rate of return method, depreciation, benefit/cost, break-even analysis, income taxes, equipment replacement, and risk analysis. Sophomore standing or permission of instructor. Prerequisite: MATH 203.
ENGR 369 Short Course (1-3)
Topic varies by semester. Classes are taught by a guest lecturer or lecturers. Can be repeated for credit with a different topic. Permission of instructor.
ENGR 388 Independent Study (1-4)
Can be repeated for credit with a different topic. Permission of instructor.
ENGR 389 Special Topics (3)
Can be repeated for credit with a different topic. Permission of instructor.