First Semester at KAUST as CEMSE/CS Ph.D.
This is a post about my first semester (Fall, 2020) at KAUST.
At KAUST classes are not big and professors are world-level scientists.
This gives the opportunity to have direct dialogue with professors on the subject to obtain deep insights and obtain inspiration for the paper.
Classes that I took (CS331, CS380, STAT250, CS398):
As a subpart of my academic load, I took several interesting classes at KAUST during my first semester which I can use for Ph.D. qualification requirements.
In this post, I would like to give some small insides about all of them.
Stochastic Gradient Descent Methods, CS 331
There are a lot of materials. And in my personal feeling, this course should have 6 credits.
The course was taught by prof. Peter Richtarik and has a lot of interaction with the students. In particular, the professor proceeds with lecture materials only if everybody understands what is going on.
If you’re a student, you love math, and you’re working to create future Machine Learning/AI you should enroll in it definitely!
From course description: “Stochastic gradient descent (SGD) in one or another of its many variants is the workhorse method for training modern supervised machine learning models. However, the world of SGD methods is vast and expanding, which makes it hard for practitioners and even experts to understand its landscape and inhabitants. This course is a mathematically rigorous and comprehensive introduction to the field, and is based on the latest results and insights.”
This is the first course in the world of such kind. Reasons:
- It covers recent materials from 2010 - 2020 in the theory of SGD.
- Material covers tools to analyze existing algorithms and ways construct own algorithms suitable for a specific situation or specific Hardware
- Original methods have been developed not in a very uniform way. This course systematize this and bring unification without loss of convergence guarantees.
GPU and GPGPU Programming, CS380
This is an interesting and intensive course which covers both compute and graphical pipelines of modern GPUs teched by prof. Markus Hadwiger. Course webpage: https://faculty.kaust.edu.sa/sites/markushadwiger/pages/cs380.aspx
What is an extra benefit the level of the details has different scales - from low-level hardware aspects of GPU to high-level programming concepts. The course is very useful for people who want to work with GPU and obtain maximum benefit from it for computation or graphical projects.
My final project for the course: Final project report
Class is very useful for people who are going to use GPU.
Sometimes middleware libraries or tools allow you to mitigate direct GPU programming, but in case of creating something non-traditional, you have to program GPU directly if speed is important to you.
Stochastic Processes, STAT250
Contents of this course are relevant to several disciplines including statistics, communications and information systems, computer engineering, signal processing, machine learning, bioinformatics, econometrics, and mathematical finance.
Contents: Probability theory, Introduction to Random Processes, and main concepts. Covering different forms of stochastic processes and useful properties and tool work with them:
Poisson processes, Gaussian processes, Branching processes, Linear filters, ARMA models, Markov discrete and continuous-time chains, elements of queuing theory.
The course has time-limited exams. The course is very interesting and prof. David Bolin is a very interactive professor and a nice professor. If you’re familiar with Probability Theory, Functional Analysis it will help in the first part of the course.
CS398 Graduate Seminar
Graduate Seminars is a non-credit weekly seminar in various fields which has a connection to the CEMSE division where speakers are professors from KAUST or another university, which share their research or observations.