COMP 305 / ALGORITHMS&COMPLEXITY
Session: Fall 2022Credit 3Days: MON WEDHours: 16:00:00-17:10:00Prerequisites: COMP 202 and (ENGR 200 or ENGR 201 or MATH 211)

Advanced topics in algorithms, and their computational complexity. Amortized complexity analysis. Randomized algorithms. Greedy algorithms. Dynamic programming. Linear programming. Advanced graph algorithms. Turing machines and models of computation. NP-completeness reductions.

COMP 317 / EMBEDDED SYSTEMS
Session: Fall 2022Credit 3Days: MON WEDHours: 8:30:00-9:40:00Prerequisites: ELEC. 204 or ELEC 205 or consent of the instructor

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 319B / MOBILE DEVICE PROGRAMMING-IOS IPHONE
Session: Fall 2022Credit 3Days: MONHours: 11:30:00-14:10:00Prerequisites: COMP. 202 or COMP. 132 or consent of the instructor

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 319B / MOBILE DEVICE PROGRAMMING-IOS IPHONE
Session: Fall 2022Credit 3Days: MONHours: 8:30:00-11:10:00Prerequisites: COMP. 202 or COMP. 132 or consent of the instructor

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 341 / INTRODUCTION TO ARTIFICIAL INTELLIGENCE
Session: Fall 2022Credit 3Days: TUES THURSHours: 8:30:00-9:40:00Prerequisites: ENGR 200 or 201 or MATH 201 or 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 411 / COMPUTER VISION WITH DEEP LEARNING
Session: Fall 2022Credit 3Days: MON WEDHours: 10:00:00-11:10:00Prerequisites: ENGR 421 or concent of the instructor

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 416 / COMPUTER NETWORKS
Session: Fall 2022Credit 3Days: TUES THURSHours: 16:00:00-17:10:00Prerequisites: COMP. 132 or consent of the instructor

Principles of computer networks and network protocols; Internet protocol stack with emphasis on application, transport, network and link layers; network edge and network core; client/server and peer-to-peer models; routing algorithms; reliable data transfer; flow and congestion control; protocol design and analysis; network performance metrics; software-defined networks; network programming and distributed applications.

COMP 430 / DATA PRIVACY AND SECURITY
Session: Fall 2022Credit 3Days: TUES THURSHours: 10:00:00-11:10:00Prerequisites: 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 443 / MODERN CRYPTOGRAPHY
Session: Fall 2022Credit 3Days: MON WEDHours: 13:00:00-14:10:00Prerequisites: COMP. 106 or consent of the instructor

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 491 / COMPUTER ENGINEERING DESIGN I
Session: Fall 2022Credit 4Days: MON WEDHours: 14:30:00-15:40:00Prerequisites: (COMP. 202 and COMP. 302) or consent of the instructor

A capstone design course where students apply engineering and science knowledge in a computer engineering design project. Development, design, implementation and management of a project in teams under realistic constraints and conditions. Emphasis on communication, teamwork and presentation skills.

COMP 511 / COMPUTER VISION WITH DEEP LEARNING
Session: Fall 2022Credit 3Days: MON WEDHours: 10:00:00-11:10:00

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 530 / DATA PRIVACY AND SECURITY
Session: Fall 2022Credit 3Days: TUES THURSHours: 10:00:00-11:10:00

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 543 / MODERN CRYPTOGRAPHY
Session: Fall 2022Credit 3Days: MON WEDHours: 13:00:00-14:10:00Prerequisites: COMP. 106 or consent of the instructor

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.

CSSM 501 / INTRODUCTION TO COMPUTATIONAL SOCIAL SCIENCES
Session: Fall 2022Credit 3Days: THURSHours: 11:30:00-14:10:00

An applied, non-technical introduction to the methods and ideas of Computational Social Sciences. How new online data sources and the computational methods shed new light on old social science questions and ask brand new questions. Some of the ethical and privacy challenges of living in a world of big data and algorithmic decision making.

CSSM 502 / ADVANCED DATA ANALYSIS PYTHON FOR SOCIAL SCIENCES
Session: Fall 2022Credit 3Days: THURSHours: 8:30:00-11:10:00

This course, broadly speaking, is designed to familiarize the student with Python 3 and advanced data analysis techniques. Core programming concepts using Python, which apply to programming more generally, is covered. These include syntax, data types, functions, loops, recursion, and classes and inheritance. Then, database management, creation, manipulation, and visualization concepts are discussed. A brief overview of Bayesian statistics with an emphasis on practical use in the Stan programming language called through Python will be followed by introductions to the most common machine learning methods. This is a demanding course, with the ultimate goal a final project with an original analysis testing one or several hypotheses. No previous programming experience is assumed. However, a good understanding of linear models is required.

CSSM 550 / ST IN CSSM
Session: Fall 2022Credit 3Days: TUESHours: 14:30:00-17:10:00

Detailed examination of current topics in CSSM

CYBR 501 / FOUNDATIONS FOR CYBER SECURITY
Session: Fall 2022Credit 3Days: MON*Hours: 18:30:00-21:30:00

Foundational topics necessary for cyber security, such as basics of programming, computer architecture, operating systems, computer networks, and databases.

CYBR 503 / CYBER FORENSICS
Session: Fall 2022Credit 3Days: WED*Hours: 18:30:00-21:30:00

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.

CYBR 509 / BLOCKCHAIN&CRYPTO CURRENCIES
Session: Fall 2022Credit 3Days: SAT*Hours: 14:00:00-17:00:00

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

CYBR 521 / INTRODUCTION TO MACHINE LEARNING
Session: Fall 2022Credit 3Days: FRI SAT SUN*Hours: 9:00:00-13:00:00

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.

CYBR 543 / MODERN CRYPTOGRAPHY
Session: Fall 2022Credit 3Hours: 0:00:00-0:00:00

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.

DASC 501 / INTRODUCTION TO DATA SCIENCE WITH PYTHON
Session: Fall 2022Credit 3Days: MON WED*Hours: 18:30:00-21:30:00

An introduction to interactive Python and Jupyter Notebooks, Python built-in data structures, conditional statements, loops, functions, strings and basic input/output, basics of data manipulation and visualization with relevant Python libraries, different types of plots, vector/matrix representations, linear algebra operations, probability/statistics operations, data analysis applications

DASC 521 / INTRODUCTION TO MACHINE LEARNING
Session: Fall 2022Credit 3Days: MON WEDHours: 10:00:00-11:10:00

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.

DASC 521 / INTRODUCTION TO MACHINE LEARNING
Session: Fall 2022Credit 3Days: FRI SAT SUN*Hours: 9:00:00-13:00:00

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.