CS112

Faculty
Serhii Denysov
Senior algorithms R&D at drawer.ai, Programming and math university teacher.
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
In the first part of the course, we discuss how to work with calculations on the computer, how mathematics is used to solve real-world problems, and practice building, implementing, and studying algorithms for solving different kinds of problems. The second part touches on the basics of formal logic, set theory, and algorithmic complexity analysis.
15 classes
Notion of algorithm. Properties of algorithms.
Working with numbers on the computer.
Approximate calculation. Computational error.
Modelling real-world with mathematics.
Numerical algorithms for solving mathematical models. Stability and convergence. Iterative algorithms for solving nonlinear equations.
System of linear equations. Motivation, importance of the problem. Geometric interpretation and matrix notation. Naive Gauss method. Estimating computational complexity. Basic Big O analysis. Estimating error.
Function approximation problem. Machine learning as a particular case. Ideas and approaches. A bit of theory about polynomials: what is it and why is it so important? Polynomial interpolation as approximation V1. Estimating approximation error with calculus.
Polynomial interpolation practice. Problems with the approach. Possible improvements. Piecewise interpolation. Spline idea and implementation. Fast method for solving tridiagonal systems of linear equations to build spline.
Limitations of interpolation ideas. Noisy data. Overfitting. Least squares approximation idea. Linear regression. General least squares. Finding a solution with SLE. Solving unsolvable SLE. Polynomial and non-polynomial least squares.
Basics of optimisation algorithms. Gradient descent. “Learning rate”. Practice with gradient descent in one dimension. Multidimensional gradient descent. Solving least squares approximation with gradient descent.
Mathematical investigation of gradient descent (convergence). Problematic scenarios and improvement ideas. Stochastic gradient descent, momentum
Modeling the world using differential equations. Basic algorithms. Predator-prey model.
Mid-term exam
Elements of discrete mathematics. Sets. Notation, operations, properties. Venn diagrams. Partitions and disjoint sets. Cartesian product. Binary relations. Order relation. Function as a relation.
Basics of formal logic and boolean algebra. Truth tables. De Morgan’s laws. Working with logical expressions.
More on algorithm complexity. Logarithmic, polynomial and exponential behaviour. Big O and other Bigs.
P and NP classes of problems. Examples of investigating algorithm complexity.
Final exam/Final projects presentation
The basics of calculus (functions, derivatives, gradients, and integrals) and programming.
Lectures, workshops, programming tasks, and exercises.
Serhii has worked in the software engineering industry in different positions for many years. Roles included software developer, system architect, IT consultant, project manager and CTO. He is also an experienced educator and is always glad to help students learn how to start having fun with programming and math and become top-level software developers or R&D engineers.
He has taken part in a long row of business automation projects for different businesses, with many small and several big projects, such as one of the biggest outdoor advertising agency in Ukraine and a country-wide software cash registers company, processing millions of transactions per day. Now he is a senior algorithms R&D in a highly dynamic startup drawer.ai.
See full profileApply for this course
by Serhii Denysov
Total hours
45 Hours
Dates
Jun 10 - Jun 28, 2024
Fee for single course
€1500
Fee for degree students
€750
Filter by campus:
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.