Course Description
Many problems of today are being solved by mixing techniques of
mathematics and statistics, computer science, and computer
engineering. Terms like \emph{deep learning} were developed to
describe an approach based on various kindd of relatively complex
neural networks.
Course Content
This course will focus on understanding neural networks and neural computing.
The most recent versions of MATLAB come with a rich neural computing toolkit.
This will make it possible to illustrate the ideas of the course quickly
with code written in MATLAB.
What will one learn by taking this course
The student will gain hands on experience solving problems in neural
computing utilizing MATLAB. The relevant theory will be introduced,
using a variety of resources, including textbooks and papers. The specific topics may include:
 A historical introduction to connectionism and neural networks.

A survey of various neural networks: Hopfield, softmax,
multilayer, pattern recognition, probabilistic, convolutional,
recurrent, longshort memory, selforganizing etc.
 The anatomy of training of a neural network, both supervised and unsupervised
 Relevant mathematics, including information theory and Bayesian inference.
 Scaling up your programs: parallel programming (threads, thread
pools, synchronisation, locking, etc.)
The use of realistic examples
The course will focus on providing complete, working solutions to
realistic problems. This requires enough implementation detail to see
both theoretical and practical difficulties which may occur in
specific problems. Thus each example will combine mathematical theory,
coding in MATLAB, addressing computational complexity and scaling up
from
tiny data
to
small data
to
REALLY BIG DATA.
Course Information
Textbooks and other course materials
Course materials will be provided by the instructor in electronic form as needed.
Assignments and Exams
This course will be project oriented. The grade in the course will be
based on a number of assignments and smalltomedium programming
projects (dozens to hundreds lines of MATLAB).
Prerequisites
Basic programming skills are required, including familiarity with MATLAB.