Walid Krichene

Course work

Control and Optimization

EE227C: Convex Optimization and Approximation (Spring 2014, Berkeley)

Taught by Professor Ben Recht.

EE222A: Nonlinear Systems Theory (Fall 2013, Berkeley)

Taught by Professor Murat Arcak.

EE227A: Convex Optimization (Spring 2012, Berkeley)

Convex sets and functions. Linear programming, SOCP and SDP. Weak and strong duality. Optimality conditions and sensitivity analysis.
First order methods: gradient methods, sub-gradient, stochastic sub-gradient.
Second order methods: Newton method, interior point methods. Proximal gradient.
Dual decomposition. Augmented Lagrangian and ADMM.
Robust optimization: bounds on probabilities, robust convex problems and chance constraints. Duality in robust optimization.
Convex optimization in machine learning. SVM, Kernel learning, logistic regression.
Project on Robust PCA, with Maximilian Balandat, Chi Pang Lam and Ka-Kit Lam.
Taught by Professor Laurent El Ghaoui.

EE221A: Linear Systems Theory (Fall 2011, Berkeley)

Linear algebra: eigenspaces, SVD, Jordan form, spectral mapping theorem. Least sqaures problems, pseudo-inverse.
Cauchy-Lipschitz (also known as Picard-Lindel:{o}f) theorem for ODEs.
Stability: internal stability, input-output stability, Lyapunov methods.
Controllability and observability, duality, the Kalman decomposition.
Feedback: pole placement, stabilizability and detectability, observers, state estimation, the separation principle.
Taught by Professor Claire Tomlin.

Discrete Event Systems (Spring 2010, Mines Paristech)

Introduction to max-plus algebras.
Max-plus linear systems, homogenious monotonous systems, linear equations on dioids, path algebras.
Linear representation of temporal event graphs, Petri graphs.
Spectral and asymptotic properties of max-plus matrices, Perron-Frobenius theorem.
Applications to discrete event systems and automata.
Taught by Professor Stéphane Gaubert.

Introduction to Non Linear Control and applications to Robotics (Spring 2010, Mines Paristech)

Dynamical systems, Lyapunov stability.
Differential geometry. System linearization using nonlinear feedback.
Applications to wheel robots, nonholonomic constraints.
Taught by Professor Brigitte d'Andréa-Novel.

Signal Processing and telecommunication (Spring 2010, Mines Paristech)

Sampling. DFT and FFT. Aliasing, Nyquist-Shannon theorem. Impulse response and Finite Response filters.
Digital transmission: white noise channel, Viterbi algorithm.
Synchronization: PLL. Coding: entropy, Huffman coding, LZW.
Error detection and correction: introduction to Galois fields, convolution codes, block codes: linear codes, group codes, cyclic codes and polynomial codes, BCH.
Taught by Professor Yves Rouchaleau.

Introduction to optimization (Spring 2009, Mines Paristech, audited)

Unconstrained optimization. Numerical methods, line search, convergence, Newton method, conjugate gradient.
Constrained optimization. Lagrange multipliers, KKT conditions, duality, quadratic programming.
Inroduction to Convex optimization.
Graph optimization, max flow.
Taught by Professor Nicolas Petit.

Introduction to Control Theory (Fall 2008, Caltech)

Stability, Lyapunov, controllability and state space feedback. Linear systems and discrete time systems.
Transfer functions, Bode plots, loop analysis, Nyquist analysis, Frequency domain control design. PID control, root locus analysis, uncertainty analysis.
Taught by Professor Richard Murray.

Dynamical Systems and Control (Spring 2008, Mines Paristech)

Introduction to linear control. Stability, robustness, perturbations.
Controllability, path planning. Introduction to optimal control.
Observability, estimation, Kalman filtering.
Taught by Professor Nicolas Petit and Professor Pierre Rouchon.

Algorihtms and Computer Science

Principle of reactive programming (Coursera - EPFL, Fall 2013)

Introduction to ScalaCheck.
Functional programming and mutable state.
Future, future composition and comprehensions.
Reactive stream processing, composing streams.
Actors: introduction to the Actor model of computation.
Asynchronous message passing, message delivery semantics, eventual consistency.
Failure handling using Actors.
Conversational patterns, Actor flow control and load balancing.

Taught by Erik Meijer, Martin Odersky and Roland Kuhn.

Combinatorial Algorithms and Data Structures CS270 (Spring 2013, Berkeley)

Experts’ algorithm, applications to min-max for zero-sum two player games and Boosting.
Max congestion minimization.
Max weight matching.
Facility location problem.
Duality, Langrangian. Principal Component Analysis.
Perceptron algorithm.
Streaming algorithms and sketching.
Power of two and Cuckoo hashing.
Spectral graph cuts and Cheeger's inequality.

Taught by Professor Satish Rao.

Principles of functional programming (Coursera - EPFL, Spring 2013)

Introduction to functional programming and the Scala language.
Functions as values, immutable objects, inheritance and dynamic binding.
Types and Pattern Matching.
Lists, collections and combinatorial search.
Lazy Evaluation.

Taught by Professor Martin Odersky. certificate

Algorithmic Game Theory (Fall 2011, Berkeley)

Nash equilibria. 2 player zero-sum games, min-max solutions and linear programming.
Pure, mixed, and correlated equilibria. No-regret equilibria and the Multiplicative Updates algorithm.
Existence of Nash equilibria and Complexity of computing them.
Market equilibria, Arrow-Debreu existence theorem, complexity of market equilibria.
Algorithmic mechanism design, Vickrey auctions.

Taught by Professor Christos Papadimitriou.

Distributed applications (Spring 2010, Mines Paristech)

Low level and high level network protocols (Ethernet, TCP, UDP, HTTP).
Network security. Socket programming.
Web application programming in Servlet/JSP.
Taught by Professor Fabien Coelho.

Computational Steering in Science and Engineering (November 2009, Munich Technical University)

Athens intensive course (exchange program)
Computer Architecture. Concurrent processing and threading. Software Transactional Memory.
Applications to computational steering.
Taught by Professor Martin Ruess.

Information Systems (Spring 2009, Mines Paristech)

Relational databases theory. Design and implementation of databases.
Taught by Professor Fabien Coelho.

Information and Complexity (Fall 2008, Caltech, audited)

Entropy and mutual information, symbol coding, unique decodability, Huffman coding, rate-distortion.
Computational complexity, Turing Machines, and uncomputability.
Kolmogorov complexity and algorithmic information.
Taught by Professor Yasser Abu-Mostafa.

Machine Learning and Statistics

Statistical Learning Theory CS281/STAT241 (Fall 2012, Berkeley)

Graphical Models, inference and statistical estimation. Markov properties, elimination. Junction tree algorithm.
Exponential families, IPF (iterative proportional fitting). Factor analysis. Expectation-Maximization algorithm. Kalman filtering. HMM.
Model selection, error estimation, Informaion Criteria (AIC and BIC).
Sampling: Gibbs sampling, particle filtering, MCMC.
Taughy by Professor Martin Wainwright

Random Processes in Systems EE226 (Fall 2011, Berkeley)

Probability theory, discrete time Markov chains, ergodicity, queuing systems, reversibility.
Poisson processes, continuous time Markov chain, Kolmogorov equations, MM1 queues. Jackson networks. Markov decision process.
Jointly Gaussian distributions. Detection, sufficient statistic, Neyman-Pearson theorem, Sequential probability ratio test (SQRT).
MMSE, LLSE, Kalman filtering. Taught by Professor Jean Walrand

Practical Machine Learning (Spring 2009, Mines Paristech)

Neural Networks and back propagation.
Classification, regression, clustering, dimensionality reduction, feature selection.
SVMs, Kernel methods.
Taught by Professor Fabien Moutarde.

Statistics (Spring 2009, Mines Paristech)

Statistical modeling, estimators, confidence tests.
Parameter estimation.
Taught by Professor Pascal Le Masson.

Learning Systems (Fall 2008, Caltech)

The learning problem. Model complexity and over-fitting. VC dimension, bias-variance tradeoff, and regularization.
Learning algorithms: computation issues. Optimization techniques.
Linear programming and quadratic programming.
Neural networks and back propagation, Support Vector Machines, Kernel methods, RBFs. Classification, nearest neighbor, k-means.
Model aggregation: bagging and boosting.
Taught by Professor Yasser Abu-Mostafa.

Probability Theory (Spring 2008, Mines Paristech)

Random variables, moments, conditional laws, transformations, convergence.
Gaussian variables and vectors.
Point processes, Poisson process.
Taught by Professor Francis Maisonneuve.


Probability Theory MATH 218A / STATS 205A - Fall 2013, Berkeley

Taught by Professor David Aldous

Topology and Analysis MATH 202A/B, Fall 2012 - Spring 2013, Berkeley.

Taught by Professor Michael Christ.

Cryptography and Number Theory (Fall 2009, Mines Paristech)

Number theory: arithmetics, Euler function, zeta function, Lucas theorem, prime number distribution.
Complexity classes, one way functions, Diffie-Hellman protocol, signature and DSS, RSA systems, Miller-Rabin test.
Quantum cryptography: n-state systems, n-qubits, Bell's theorem, BB84 protocol.
Taught by Professor Pierre Rouchon.

Distribution theory (Fall 2009, Mines Paristech)

Distribution spaces. Fourier transform, convolution.
Applications to equations of mathematical physics: jump formula, Poisson equation, Stokes formula, wave and heat equations.
Taught by Professor Olivier Laffite.