The course will delve into methods and techniques used to solve combinatorial optimization problems with examples drawn from industry and covering scheduling, resource allocation or routing to name just a few. It will focus on mainstream optimization techniques with an emphasis on mathematical programming (e.g., Linear Programming, Integer Programming, Constraint Programming).

- Teacher: Laurent Michel

CSE 3150 covers all the essential capabilities of C++, illustrating their specificities as well as how the language can be used to model object-oriented implementation of a number of classic problems.

- Teacher: Greg Johnson

CSE1729 is a rigorous introduction to programming based on the famous text "Structure and Interpretation of Computer Programs," by Abelson and Sussman. The course covers basic programming in a largely declarative style using Scheme, a simple but powerful programming language. The course covers elementary design principles, including object-oriented design, and basic data structures such as binary trees, and heaps as well as Abstract Data Types such as stacks, and queues.

- Teacher: Greg Johnson

CSE 2500 Introduction to Discrete Systems taught by Kaleel Mahmood.

- Teacher: Kaleel Mahmood

CSE 1729 Spring 2022, section taught by Kaleel Mahmood.

- Teacher: Kaleel Mahmood

### Three credits.

Two 50 minutes "flipped" lectures and one 2-hour laboratory per week.

### Prerequisite

CSE2100 or CSE2050.

### Synopsis

Introduction to system-level programming with an emphasis on C programming, process management, and small scale concurrency with multi-threaded programming. Special attention will be devoted to proficiency with memory management and debugging facilities both in a sequential and parallel setting.

- Teacher: Kriti Bhargava
- Teacher: Laurent Michel

**Introduction to Modern Cryptography**

Three credits. Prerequisites: CSE 3400, CSE 3500; and STAT 3025 or 3345 or 3375Q or MATH 3160.

An introduction to the fundamentals of modern cryptography focusing on development of secure cryptographic tools based on hard computational problems. Topics include one-way functions, pseudorandom generators, encryption, digital signatures, and protocols.

- Teacher: Luke Johnson