Area Elective Courses

COMP 303- COMPUTER ARCHITECTURE
Credits:3
Prerequisites: ELEC 204 or CoI
Hardware organization of computers. Computer components and their functions. Instruction sets, instruction formats and addressing modes. Pipelining and pipeline hazards. Instruction level parallelism. Assembly and machine language. Data and control paths. Computer arithmetic. Floating point representation. Memory hierarchy, cache organization and virtual memory. Parallel architectures.

COMP 306- DATABASE MANAGEMENT SYSTEMS
Credits:3
Prerequisites: COMP 202 or CoI
Introduction to database management systems, file structure, organization and processing, sequential files, direct files, sort/merge,
indexed and hash files, relational data model, logical database design, entity-relationship data model, data description and query languages.

COMP 317- EMBEDDED SYSTEMS
Credits:3
Prerequisites: ELEC 204 or CoI

Microcomputer fundamentals including architecture and operation of a typical microprocessor; bus organization; instruction set; addressing modes; analysis of clocks and timing; interrupt handling; memory (RAM and ROM); DMA, serial and parallel input/output; assembly language programming.

COMP 319A- MOBILE DEVICE PROGRAMMING-ANDROID
Credits:3
Prerequisites:COMP 202 or COMP 132 or CoI

This course covers programming environments and languages over mobile devices. Mobile device architectures and environments, MIDP Application Model, User Interface Libraries, High Level User Interface Components, Low Level User Interface Libraries, MIDP Persistance Libraries. Mobile device operating system environments. Operating Systems such as Symbian, Android, Mobile Windows.

COMP 319B- MOBILE DEVICE PROGRAMMING-IOS IPHONE
Credits:3
Prerequisites:COMP 202 or COMP 132 or CoI

This course covers programming environments and languages over mobile devices. Mobile device architectures and environments, MIDP Application Model, User Interface Libraries, High Level User Interface Components, Low Level User Interface Libraries, MIDP Persistance Libraries. Mobile device operating system environments. Operating Systems such as iPhone OS.

COMP 340- APPLIED LINEAR ALGEBRA FOR DATA SCIENCE 
Credits:3
Prerequisites:CoI

Basics of linear algebra and their applications to data-centric real-world problems with real-time coding and demonstrations. Vectors and matrices, eigenvalues, eigenvectors, and singular value decomposition: mathematical foundations, geometrical intuitions and practical applications. Least Squares for data fitting and classification, Markov Chains, Principal Component Analysis (PCA), low-rank approximation and compression, clustering, gradient descent (batch-minibatch and stochastic), and basics of neural networks.
Course materials and applications will be presented in class using Julia programming language (Students may use Matlab or Python for their HW’s and projects).

COMP 341- INTRODUCTION TO ARTIFICIAL INTELLIGENCE
Credits:3
Prerequisites:ENGR 200 or ENGR 201 or MATH 201 or MATH 211 or MATH 202

Introduction to artificial intelligence concepts; agent based thinking; uninformed and informed search; constraint satisfaction; knowledge representation; logic; introduction to machine learning and its relation to artificial intelligence; representing uncertainty; markov decision processes; examples from vision, robotics, language and games.

COMP 350- SELECTED TOPICS IN COMPUTER ENGINEERING
Credits:3
Prerequisites:-

The content will be announced on the semester that the course is going to be opened.

COMP 403- CYBER FORENSICS
Credits:3
Prerequisites:

Introductory cyber forensics and digital forensics definitions, evidence collection methodologies, data recovery tools, software and hardware tools employed for forensic analysis, evidence reporting procedures and techniques.

COMP 404- DIGIT SPEECH & AUDIO PROCESSING
Credits:3
Prerequisites:ELEC 201 or CoI

Sound and human speech systems, phonetics and phonology, speech signal representations, role of pitch and formants, pitch-scale and time-scale modifications, basics of speech coding and VoIP systems, fundamentals of pattern and speech recognition, search algorithms for speech recognition.

COMP 405- APPLIED PENETRATION TESTING
Credits:3
Prerequisites:

Introductory penetration testing definitions, white hat attacking methodologies, network and software scanning and inventory tools, exploit tools, social engineering techniques, applied penetration testing software.

COMP 407- SECURE SOFTWARE CODING & TESTING
Credits:3
Prerequisites:

Secure coding principles, software testing methodologies, techniques and tools for secure software coding, operating system and database support for secure software, reverse engineering, techniques for hiding code and
data.

COMP 408- COMPUTER VISION & PATTERN RECOGNITION
Credits:3
Prerequisites:ELEC 201 or CoI

Study of computational models of visual perception and their implementation in computer systems. Topics include: image formation; edge, corner and boundary extraction, segmentation, matching, pattern recognition and classification techniques; 3-D Vision: projection geometry, camera calibration, shape from stereo/silhouette/shading, model-based 3D object recognition; color texture, radiometry and BDRF; motion analysis.

COMP 409- BLOCKCHAIN AND CRYPTO CURRENCIES
Credits:3
Prerequisites:

Blockchain, distributed consensus, distributed databases, flooding and broadcasting, crypto currencies, security of crypto currencies, blockchain applications, alternative blockchain and crypto currency proposals, smart contracts.

COMP 410- COMPUTER GRAPHICS
Credits:3
Prerequisites:COMP 202 or CoI

Theory  and practice of 3D  computer graphics. Topics covered include graphics systems and models; geometric representations and transformations; graphics programming; input and interaction; viewing and projections; compositing and blending; illumination and color models; shading; texture mapping; animation; rendering and implementation; hierarchical and object-oriented modeling; scene graphs; 3D reconstruction and modeling.

COMP 411- COMPUTER VISION WITH DEEP LEARNING
Credits:3
Prerequisites:ENGR 421 or CoI

Understanding, implementing, training and debugging deep end-to-end neural network architectures for various tasks of computer vision. Image classification. Loss functions and optimization. Backpropagation. Convolutional neural networks. Recurrent neural networks for video and image analysis. Object detection and segmentation. Generative vision models.

COMP 415- DISTRIBUTED COMPUTING SYSTEMS
Credits:3
Prerequisites:COMP 304 or CoI

Principles and concepts of distributed systems, middleware, peer-to-peer systems and algorithms, design and implementation issues, virtualization, communication and coordination in distributed systems, logical clocks, causality, distributed mutual exclusion, election algorithms, consistency and replication, consistent global states, fault tolerance, distributed deadlocks, recovery, agreement protocols, distributed transactions, cloud computing.

COMP 416- COMPUTER NETWORKS
Credits:3
Prerequisites:COMP 132 or CoI

Principles of data communications and computer networks; ISO/OSI reference model with emphasis on data link, network and transport layers; TCP/IP protocol suite; asynchronous and synchronous transmission; data link control; multiplexing; wide area networks; routing; congestion control; local area networks; communications architecture and transport protocols; distributed applications.

COMP 423- COMPUTER VISION FOR AUTONOMOUS DRIVING
Credits:3
Prerequisites:

Main problems, datasets, evaluation metrics, and approaches in computer vision for autonomous driving, depth / motion estimation, localization, mapping, free-space estimation, object detection / tracking, semantic / instance segmentation, and end-to-end learning of driving.

COMP 428- COMMUNICATION NETWORKS
Credits:3
Prerequisites:

Wireless network applications, wireless channel and communication fundamentals, medium access control protocol, routing protocol, topology control, time synchronization, data-centric networking, wireless communication standards.

COMP 429- PARALLEL PROGRAMMING
Credits:3
Prerequisites:COMP 132

Fundamental concepts of parallelism. Overview of parallel architectures, multicores, heterogeneous systems, shared memory and distributed memory systems. Parallel programming models and languages. Multithreaded, message passing, data driven, task parallel and data parallel programming. Design of parallel programs, decomposition, granularity, locality, communication, load balancing, and asynchrony. Performance modeling of parallel programs, sources of parallel overheads.

COMP 430- DATA PRIVACY AND SECURITY
Credits:3
Prerequisites:COMP 202

Threats to data privacy and security; methods for privacy-preserving data collection, analysis, and sharing; data anonymization; differential privacy; security and privacy in machine learning; adversarial machine learning; real- world applications and case studies.

COMP 434- COMPUTER & NETWORK SECURITY
Credits:3
Prerequisites:

Overview of Computer Security Techniques, Conventional Encryption, Public-Key Cryptography, Key Management, Message Authentication, Hash Functions and Algorithms, Digital Signatures, Authentication Protocols, Access Control Mechanisms, Network Security Practice, TCP/IP Security, Web Security, SSL (Secure Socket Layer), Denial-of-Service Attacks, Intrusion Detection, Viruses.

COMP 437- INTELLIGENT USER INTERFACES
Credits:3
Prerequisites:COMP 125 or COMP 100

Applications of artificial intelligence in user interfaces. Design, implementation, and evaluation of user interfaces that use machine learning, computer vision and pattern recognition technologies. Supporting tools for classification, regression, multi-modal information fusion. Gaze-tracking, gesture recognition, object detection, tracking, haptic devices, speech-based and pen-based interfaces.

COMP 441- DEEP LEARNING
Credits:3
Prerequisites:

Basic linear models for classification and regression; stochastic gradient descent (backpropagation) learning; multi-layer perceptrons, convolutional neural networks, and recurrent neural networks; recent advances in the field; practical examples from machine translation, computer vision; practical experience in programming, training, evaluating and benchmarking deep learning models.

COMP 442- NATURAL LANGUAGE PROCESSING
Credits:3
Prerequisites:COMP 341 or CoI

Fundamental concepts and current research in natural language processing. Algorithms for processing linguistic information. Computational properties of human languages. Analysis at the level of morphology, syntax, and semantics. Modern quantitative techniques of using large corpora, statistical models, and machine learning applied to problems of acquisition, disambiguation and parsing. Applications such as machine translation and question answering.

COMP 443- MODERN CRYPTOGRAPHY
Credits:3
Prerequisites:COMP 106 or CoI

Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic  protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.

COMP 446- ALGORITHM DESIGN & ANALYSIS
Credits:3
Prerequisites:COMP 202 or CoI

Advanced topics in data structures, algorithms, and their computational complexity. Asymptotic complexity measures. Graph representations, topological order and algorithms. Forests and trees. Minimum spanning trees. Bipartite matching. Union-find data structure. Heaps. Hashing. Amortized complexity analysis. Randomized algorithms. Introduction to NP-completeness and approximation algorithms. The shortest path methods. Network flow problems.

COMP 447- DEEP UNSUPERVISED LEARNING
Credits:3
Prerequisites:ENGR 200 and MATH 107 or CoI

Fundamental concepts and recent advances in deep unsupervised learning, autoregressive models, normalizing flow models, variational autoencoders, generative adversarial networks, energy-based models, discrete latent variable models, self-supervised learning, pretraining language

COMP 448- MEDICAL IMAGE ANALYSIS
Credits:3
Prerequisites:

Imaging modalities. Applications and challenges. Medical image segmentation. Feature extraction. Medical image classification. Deep learning for medical images. Convolutional neural networks. Fully convolutional networks. Generative adversarial networks. Multiple-instance learning. Case studies.

COMP 463- INTERNET OF EVERYTHING (IoE) – FROM MOLECULES TO UNIVERSE
Credits:3
Prerequisites:CoI

Introduction to the Internet of Everything (IoE) concept: The evolution of communication technologies, Introduction to IoT and IoE, comparison between IoTs and IoE. Review of governing rules/dynamics of natural Internets: The universe as the IoE. Key components of IoE. Major IoE challenges. Current Practices in the Commercial IoXs: Industrial Internet of Things (IIoT), Internet of Sensors (IoS), Internet of Agricultural Things (IoAT), Internet of Battlefield Things (IoBT), Internet of Energy (IoEn), Internet of Vehicles (IoV). Review of 6G Internet of Things. Internet of Bio-Nano Things (IoBNT): Fundamental components of IoBNT and review of key enabling technologies and applications. IoE inside us: Intrabody nanonetworks (neural, cardiovascular, and endocrine nanonetworks). Fundamentals of molecular information and communication science. Internet of Space (IoSp). Enabling technologies for IoE, other IoXs and their interactions within the IoE framework.

ENGR 421- INTRODUCTION TO MACHINE LEARNING
Credits:3
Prerequisites:MATH 107 and 203 and ENGR 200 and (COMP 100 or COMP 125)

A broad introduction to machine learning covering regression, classification, clustering, and dimensionality reduction methods; supervised and unsupervised models; linear and nonlinear models; parametric and nonparametric models; combinations of multiple models; comparisons of multiple models and model selection.

ELEC 201- SIGNALS AND SYSTEMS
Credits:4
Prerequisites:MATH 107 and MATH 106

Introduction to discrete and continuous time signals and systems. Time-domain signal representations, impulse response of linear time-invariant (LTI) systems, and convolution. Frequency domain signal representations, frequency response of LTI systems, and Fourier analysis. Filtering of continuous and discrete time signals. Sampling and discrete time processing of analog signals. Laplace-transform domain analysis of continuous-time LTI systems. Exercises using MATLAB.