**Courses**

* Fall 2016 *

** - Optimization Methods 50:198:461, 56:198:561**

Introduction to various methods based on linear programming (LP) to solve
discrete optimization problems. The topics covered include introduction to
non-linear optimization, and especially linear optimization (linear
programming with the simplex algorithm); network flows, and application
of LP-based techniques to solve certain optimization problem.
Prerequisites: 50:640:121 or 50:640:130; and 50:640:250.

Required textbook: J. Matoušek, B. Gärtner,
* Understanding and Using Linear Programming, *
Springer (2007).

** - Crytography and Computer Security 50:198:475, 56:198:575 **

Secret-key cryptography, one-way function, cryptographic hash functions;
public-key cryptography, key agreement, digital signatures; secret
sharing; message and user authentication; key management; attacks;
practical applications to computer and communications security.
Prerequisites: 50:198:113; and 50:640:237 or 50:198:171.

Required textbooks:

A. Menezes, P. van Oorschot and S. Vanstone,
* Handbook of applied cryptography*,
CRC Press (1996) (see http://cacr.uwaterloo.ca/hac/ ).

N. Ferguson, B. Schneier, and T. Kohono,
*Cryptography Engineering*, Wiley (2010).

* Spring 2017 *

** - Numerical Methods 50:198:481 and 56:198:581 **

Computational techniques for solving scientific problems: Precision, IEEE
floating point representation, interpolation, root finding, numerical
integration, numerical differentiation, approximation of functions, functions
minimization, numerical linear algebra, numerical solutions of ordinary
differential equations.

Textbook:
R.L. Burden, J.D. Fayres,
*Numerical Analysis* (any edition from 4th onward).

[Reference page on C, Unix, Python, etc.: Ref. page.]

* Research *

The *Graphical Passwords Project*
in cooperation with D. Hong, N. Memon, S. Man, and S. Wiedenbeck:
page.