Skip to main content

Graduate Courses | Computer Engineering

Courses

CPE
502

Course Number:
0612502
Introduction to Digital Image Processing covering digital techniques for image representation, enhancement, compression and restoration. Students will learn the fundamentals behind image processing methods and algorithms. We assume students have an understanding of linear systems and calculus. In addition, it is also helpful to have a familiarity with elementary probability theory and linear algebra.
(3-0-3)
Prerequisites:
0612-300 and 0600-304 or Consent of Instructor

CPE
503

Course Number:
0612503
Machine learning, statistical pattern classification, feature extraction and selection, various learning algorithms, cluster analysis, image processing, syntactic approach and practical applications on analysis of various biomedical data, character recognition, and speech recognition.
(3-0-3)
Prerequisites:
0600-304 or Consent of Instructor

CPE
505

Course Number:
0612505
Selected advanced Operating Systems topics; control of disks and other input/output devices; file-system structure and implementation; network structures; distributed system structures and file systems; introduction to distributed and real-time systems; distributed algorithms; logical clocks; reliability and security; case studies.
(3-0-3)
Prerequisites:
Consent of instructor

CPE
508

Course Number:
0612508
Selected topics in the area of software engineering such as emerging areas of research in software engineering; Object-oriented design and analysis; Configuration management; Software testing; Reverse engineering; Software reusability; Distributed and web-based software development; Fault-tolerant software development; Case tools for design and analysis, configuration management, and testing.
(3-0-3)
Prerequisites:
0612-308 or 221

CPE
509

Course Number:
0612509
Three-dimensional transformations and perspective systems and techniques for displaying and shading solid areas, hidden-element removal, display device characteristics, device independent systems, and user interface design.
(3-0-3)
Prerequisites:
0612-438 or Consent of Instructor

CPE
511

Course Number:
0612511
Introduction to the issues of privacy and data protection, information collection, cookies, profiling, traffic monitoring analysis, data mining, data matching, surveillance technology, censorship, encryption, identification, anonymity, codes and policies, law, privacy in workplace, and ethical issues.
(3-0-3)
Prerequisites:
0612-356 or Consent of Instructor

CPE
514

Course Number:
0612514
This course concentrates on recent research in computing that affects future directions in science, engineering and technology, hence upon modern society. For example, studying standers (e.g., E- Commerce technologies, and software life cycle processes such as ISO/IEC 12207) have immense effect on industry and society. Students explore such topics through conducting research. The course introduces skills necessary for research including surveying, scrutinizing methods and outcomes, designing tools, and preparing technical manuscripts.
(3-0-3)
Prerequisites:
Consent of Instructor

CPE
523

Course Number:
0612523
Introduction to AI. History of AI. Knowledge representation: First order logic, Predicate logic, and Semantic net. Blind search. Heuristic search. Machine planning. Machine learning. Agents. Natural language processing.
(3-0-3)
Prerequisites:
Consent of Instructor

CPE
527

Course Number:
0612527
Advanced AI topics will be discussed in-depth. Student will survey recent research in topics such as, but not limited to, natural language processing, cognitive modeling techniques, machine learning techniques, evolutionary algorithms, fuzzy logic, expert systems, robotics, knowledge system engineering (knowledge-based software engineering), and neural network computing.
(3-0-3)
Prerequisites:
0612-403, 0612-523 or Consent of Instructor

CPE
541

Course Number:
0612541
Database management systems architecture; conceptual database models; relational, semantic, object-oriented, and object-relational databases; implementation techniques for database systems; file organization and data placement techniques; query processing; concurrency control; rollback and recovery techniques; integrity and consistency; transaction processing.
(3-0-3)
Prerequisites:
0612-341, or Consent of Instructor

CPE
543

Course Number:
0612543
Design and implementation of database management systems in support of advanced technologies and applications, such as: geographical information systems (GIS) temporal and spatial databases, multimedia databases data mining data warehousing, distributed database systems, or other advanced topics in the area of database and information systems. We will focus on current issues in database and information system design.
(3-0-3)
Prerequisites:
0612-541, or Consent of Instructor

CPE
545

Course Number:
0612545
Fundamental and emerging technologies such as networking infrastructures, data management tools, application servers, design tools, security systems, personalization tools, and electronic payment systems; case studies dealing with the existing business models and business processes; design and implementation of a major E-Commerce project using the state of the art tools. Proficiency in an object-Oriented programming language (such as Java) is expected from all students.
(3-0-3)
Prerequisites:
0612-541, or Consent of Instructor

CPE
547

Course Number:
0612547
Overview of data representation, hexadecimal representation and different file type representations. Review on assembly language and code reverse engineering. Digital Forensics lab requirements. Digital Forensic process: technical and legal aspects. Types of Digital evidences. Extracting evidences from different OS platforms. Overview of network, Email, database and mobile Forensics. Students will be exposed to reverse engineering and code analysis. Students will do exercises on several Forensics tools.
(3-0-3)
Prerequisites:
0612-505, 0612-508 or Consent of Instructor

CPE
548

Course Number:
0612548
This course will study approaches, mechanisms, and tools used to make software systems more secure. We will motivate the study by discussing common software security vulnerabilities such as buffer overflows, cross-site scripting and injection attacks. Then we will look at architectural approaches to building secure software (e.g., confinement, virtual machines, trusted computing), secure design principles and patterns, software analysis, secure programming techniques, run-time enforcement of security policies, code reviews and security testing. The course will also cover topics such as the importance of usability to building secure software systems.
(3-0-3)
Prerequisites:
0612-454 or Consent of Instructor

CPE
549

Course Number:
0612549
Overview of security management: assets, vulnerabilities, threats, attacks, security tools, models and procedures. Role of policy making in the context of information security. Common practices to risk management and analysis. Fundamentals of cryptology, secure networking and access control. Problems and potential solutions associated with designing and implementing operating system and application security. Frameworks commonly used for governance and compliance control. Incident and disaster response.
(3-0-3)
Prerequisites:
0612-453 or Consent of Instructor

CPE
551

Course Number:
0612551
Reviews regular expressions and finite automata. studies turning machines and equivalent models of computation, the Chomsky hierarchy, context-free grammars, push-down automata, and computability. Machine models of effective computability; sub-recursive hierarchies; P and NP problems; effective and efficient reducibility; time, space, and abstract complexity.
(3-0-3)
Prerequisites:
0612-300, or Consent of the Instructor

CPE
553

Course Number:
0612553
Distributed system examples, implementation issues, parallel vs. distributed systems, review of communication and networking, distributed system models, message-passing vs. shared memory models, synchronous vs, asynchronous systems, guarded actions non-determinism, atomic operations, scheduling and fairness issues, program correctness, safety and liveness properties, distributed mutual exclusion, distributed snapshot, distributed reset, wave algorithms, termination detetction, distributed deadlock, randomized algorithms, synchronous message passing, Hoare's CSP, clients and servers, faults in distributed systems, classification of faults, fault masking vs. fault recovery, self-stabilizing and adaptive distributed systems, gracefully degradable systems, waitfree systems, distributed consensus, leader election, clock synchronization.
(3-0-3)
Prerequisites:
0612-300 and 0612-445, or Consent of the Instructor

CPE
557

Course Number:
0612557
Selections from design, analysis, optimization, and implementation of algorithms; Computational complexity, complexity classes, randomized algorithms, probabilistic algorithms, distributed algorithms, parallel algorithms; algorithm correctness and general theory of algorithms; algorithms for particular application areas including: Graphs and Networks; Cryptography.
(3-0-3)
Prerequisites:
0612-300

CPE
561

Course Number:
0612561
Introduction to theoretical issues in parallel computation. Topics: Parallel machine models. Design and analysis of algorithms for systolic arrays: arithmetic operations, simple graph algorithms. Algorithms for hypercube-related networks: sorting, routing. PRAM model of computation. Basic PRAM algorithms: prefix computation, sorting, shortest paths, minimum- weight spanning tree. Reducing the processor-time product. simulation of stronger PRAM models by weaker ones. Complexity issues: definition of NC and P-completeness; some simple lower bounds.
(3-0-3)
Prerequisites:
0612-468 or Consent of Instructor

CPE
562

Course Number:
0612562
Structure of sequential machines, partition theory and decomposition of machines, modular realization of sequential machines, regular expressions, information lossless machines and linear sequential machines.
(3-0-3)
Prerequisites:
0612-461 or Consent of Instructor

CPE
565

Course Number:
0612565
Topics include: High level synthesis, scheduling and allocation techniques, architecture style selection, two level logic minimization algorithms, multiple-value minimization and multi-level circuit synthesis. The course usually involves a project.
(3-0-3)
Prerequisites:
0612-461

CPE
566

Course Number:
0612566
Overview of the fundamental concepts in networks, wireless technology, and mobile computing. Energy-aware adaptation for mobile applications. Understanding the current routing protocols for studies of medium access control techniques for wireless communications. Design principles that are crucial for building the foundation for the design, and construction of future generations of wireless computing networks (wireless ad hoc, sensor, and buipuitous networks).
(3-0-3)
Prerequisites:
0612-356 or Consent of Instructor

CPE
567

Course Number:
0612567
Review of some important probability distributions and their properties; Markovian processes; Markovian queues; renewal theory; semi Markovian processes and the M/G/1 queue; priority queues; case studies: random access systems; polling systems; multiplexers and switching systems.
(3-0-3)
Prerequisites:
0612-454 or Consent of Instructor

CPE
568

Course Number:
0612568
Classification of parallel processing system - SIMD and MIMD machines - Multiprocessor systems and interconnection networks - Case studies of parallel processing systems - Parallel processing design issues: Programming languages, operating systems, user interfaces - VLSI computing systems: systolic arrays, wavefront arrays.
(3-0-3)
Prerequisites:
612-468

CPE
569

Course Number:
0612569
Alternative network architectures; study of the network functions and protocols in high performance networks; routing and switching; transport protocols in high-performance networks; integrated and differentiated service models and protocols; congestion and flow control protocols; broadbank ISDN and ATM; high-speed local and metropolitan area networks; advanced topics in high-performance networking.
(3-0-3)
Prerequisites:
0612-356

CPE
570

Course Number:
0612570
Fundamentals of graph theory, partition, floor planning, placement, and routing. Programming techniques and algorithms; shortest/longest path, all-pairs shortest path, dynamic programming, linear programming, non-linear programming, evolutionary approaches, simulated annealing, and hyper-algorithms.
(3-0-3)
Prerequisites:
0612-300 or Consent of Instructor

CPE
571

Course Number:
0612571
Fault modeling, redundancy techniques and reliability evaluation, error detecting and correcting codes, self-checking circuits, fault diagnosis, software fault tolerance, error mitigation methods, partial concurrent error detection, online test, reconfiguration and voting, software reliability and redundancy, hardware fault tolerance, fault detection in cryptographic systems.
(3-0-3)
Prerequisites:
0612-471 or Consent of Instructor

CPE
572

Course Number:
0612572
The course will cover basic theory and techniques of digital VLSI design in CMOS technology. We use full-custom techniques to design basic cells and regular structures such as data-path and memory. There is an emphasis on modern design issues in interconnect and clocking. Students will design small test circuits using various CAD tools. Circuits will be verified and analyzed for performance with various simulators.
(3-0-3)
Prerequisites:
0612-368 or Consent of Instructor

CPE
574

Course Number:
0612574
Introduction and fundementals. Medium Access Control Protocols. Cellular Networks. Wireless Internet. 4-G Systems and Pervasive Networking. Security in Mobile Networks.
(3-0-3)
Prerequisites:
0612-356 or Consent of Instructor

CPE
575

Course Number:
0612575
The students will review the fundamental design and analysis issues in computer networks, especially at the physical layer to the transport layer, including networking overview, multi-protocol network, intelligent network, ad-hoc and sensor network, mobile networking and current trends in the high-speed networks.
(3-0-3)
Prerequisites:
0612-356 and 0612-445

CPE
576

Course Number:
0612576
Information theoretic security. Fundamentals of secure networks and cryptography. Number theory for cryptography. One-way hash functions. Message authentication codes. Encryption and privacy: public key and symmetric key. Digital signatures schemes. Authentication and integrity methods and protocols. Elliptic curves cryptography. Firewalls. Virtual private networks. Transport layer security.
(3-0-3)
Prerequisites:
0612-453 or Consent of Instructor

CPE
580

Course Number:
0612580
An upper division of graduate technical elective treating topics in engineering mostly not covered in other courses, chosen at the discretion of the Graduate Program Committee.
(3-0-3)
Prerequisites:
Consent of the Instructor

CPE
581

Course Number:
0612581
An upper division of graduate technical elective treating topics in engineering mostly not covered in other courses, chosen at the discretion of the Graduate Program Committee.
(3-0-3)
Prerequisites:
Consent of the Instructor

CPE
593

Course Number:
0612593
Project course for non-thesis students.
(3-0-3)