This course will provide a broad overview of information security and privacy topics, with the primary goal of giving students the knowledge and tools they will need "in the field" in order to deal with the security/privacy challenges they are likely to encounter in today's "Big Data" world.

Acoustics and audio is covered and the manipulation and processing of audio signals. It is shown how Fourier analysis of the soundfield yields to the representation of a soundfield with plane waves. These and other acoustic insights are used to explain microphone techniques and reproduction of the soundfield. Spatial hearing is covered in detail and used to motivate stereo and surround mixing and audio playback. In addition, insights on the principles of auralization and virtual acoustics are given, and the simulation of sound propagation in rooms will be further discussed. The short-time Fourier transform is introduced as a tool for flexible manipulation of audio signals, suchs as filtering, delaying and other spectral modification. Matrix surround, audio coding, and beamforming are also treated.


  1. Ancient cryptography: Vigenère, Enigma, Vernam cipher, Shannon theory
  2. Diffie-Hellman cryptography: algebra, Diffie-Hellman, ElGamal
  3. RSA cryptography: number theory, RSA, factoring
  4. Elliptic curve cryptography: elliptic curves over a finite field, ECDH, ECIES
  5. Symmetric encryption: block ciphers, stream ciphers, exhaustive search
  6. Integrity and authentication: hashing, MAC, birthday paradox
  7. Applications to symmetric cryptography: mobile telephony, Bluetooth, WiFi
  8. Public-key cryptography: cryptosystem, digital signature
  9. Trust establishment: secure communication, trust setups
  10. Case studies: Bluetooth, TLS, SSH, PGP, biometric passport

Establishing the theoretical basis of linear and nonlinear dynamical systems in both continuous and discrete time. Learning how to anticipate the properties of linear as well as strongly and weakly nonlinear systems. The course is fairly abstract and mathematical, and does not cover applications (other than some examples used for illustration purposes).

The goal of this class is to present signal processing tools from an intuitive geometric point of view which is at the heart of all modern signal processing techniques from Fourier transforms and sampling theorems to time-frequency analysis and wavelets. The course is designed to provide the mathematical depth and rigor needed for the study of advanced topics in signal processing and also features introductions to current applications where such tools are crucial. In particular, several applications will be studied, including image compression with linear and non-linear approximation, array signal processing , mobile sensing, and prediction of the stock market. 

During this course, students will:
- Master the right tools to tackle advanced signal and data processing problems
- Have an intuitive understanding of signal processing through a geometrical approach
- Get to know the applications that are of interest today
- Learn about topics that are at the forefront of signal processing research

The goal of this class is to acquire mathematical tools and engineering insight about networks whose structure is random.

Many communication networks, such as the global Internet and its multiple interconnected autonomous domains, mobile ad hoc and embedded sensor networks, social networks, and peer-to-peer overlay networks, usually evade detailed engineering and exhaustive measurement to rely instead on principles of self-organization. This new world of massive scale, lack of central control, and randomness requires new theoretical tools to reason about networks and their behavior, as well as new approaches to engineer for and measure aggregate properties. Most of these tools are borrowed from other fields, such as random graph theory, statistical physics, nonlinear dynamical systems, random algorithms, developmental biology, and game theory.

This course will bring together elements of these theories and their application to "large-scale, self-organized or uncontrolled" networks. It will provide an introduction to and perspective on this emerging field, and an opportunity to track and discuss new developments. The course will balance mathematical rigor with practical lessons for engineering.

In this course, various aspects of probability theory are considered. The first part is devoted to the main theorems in the
field (law of large numbers, central limit theorem), while the second part focuses on the theory of martingales in discrete

In this course you will learn and understand the main ideas that underlie and the way networks are built and run. You will be able to apply the concepts to the smart grid. In the labs you will exercise practical configurations. You will be able to

  • Test and clarify your understanding of the networking concepts by connecting computers to form a LAN, interconnected by routers and interconnected autonomous routing domains. 
  • test the effect on performance of your TCP implementation and of traffic control settings
  • develop and test various communicating programs using sockets
  • be familiar with IPv6 as well as IPv4 and the interworking between them
  • run a virtual networking environment in your computer where and deploy real networks in an emulated environment

This is a master level course for master and PhD students

The study of Markov chains finds many applications in computer science and communications. The goal of the course is to get familiar with the theory of Markov chains, and to get an overview of some applications of this theory to problems of interest in communications, computer and network science.