Skip to the content.

GitHub | LinkedIn | Twitter | Codewars | Sololearn

Hello, I’m Sergei. I’m a Data Scientist with a broad professional background, master degrees in Physics and Economics and a professional certificate in accountancy from ACCA. For a number of years I was developing management reporting and controlling systems in corporations (including at C-level), have experience in team leading and project management and continue professional development in Data Science and Machine Learning with ambition to build AI systems that could change the way we do business.

I’ve created this web page to keep a detailed log of my progress in gaining a solid knowledge in CS and DS initially guided by the OSSU CS Curriculum, but subsequently expanded to other extra curriculum activities. It may serve as example for other people looking for an online equvalent of a degree in CS and DS.

The OSSU describes its Curriculum as:

… a complete education in computer science using online materials. It’s for those who want a proper, well-rounded grounding in concepts fundamental to all computing disciplines. It is designed according to the degree requirements of undergraduate computer science majors, minus general education (non-CS) requirements, as it is assumed most of the people following this curriculum are already educated outside the field of CS. The courses themselves are among the very best in the world, often coming from Harvard, Princeton, MIT, etc.

The OSSU CS Curriculum is designed into the following sections (with a quick ref link to each of them):

Intro CS - for students to try out CS and see if it’s right for them
Core CS - corresponds roughly to the first three years of a computer science curriculum, taking classes that all majors would be required to take
Advanced CS - corresponds roughly to the final year of a computer science curriculum, taking electives according to the student’s interests
Projects - to validate, consolidate, and display the knowledge

With my progress in CS, I’ve got a particular interest in Data Science and Machine Learning and complemented the original CS Curriculum with some of the best available online and offline DS courses. Therefore, I’ve added the whole new section on Data Science and Machine Learning, which comes the first below.

Data Science and Machine Learning

My activities in DS and ML complementary to the main CS Curriculum

ID# Course Completed Proof
BD10 Big Data 10.0 by NewProLab (offline 12 week intensive program - Hadoop, Apache Spark, DMP, Data Mining, Recommendation Systems) Jun 2019 Certificate with Honors
MLDA ML & Data Analysis Specialization by MIPT/Yandex on Coursera (RU) - -
MLDA3 > Unsupervised Machine Learning by MIPT/Yandex on Coursera Mar 2019 Certificate
MLDA2 > Supervised Machine Learning by MIPT/Yandex on Coursera Mar 2019 Certificate
MLDA1 > Math & Python for Data Analysis by MIPT/Yandex on Coursera Feb 2019 Certificate
DL Deep Learning Specialization by deeplearning.ai on Coursera Aug 2018 Certificate
DL5 > Sequence Models Aug 2018 Certificate
DL4 > Convolutional Neural Networks Aug 2018 Certificate
DL3 > Structuring Machine Learning Projects Jul 2018 Certificate
DL2 > Improving Deep NN: Hyperparameter tuning, Regularization and Optimization Jul 2018 Certificate
DL1 > Neural Networks and Deep Learning Jul 2018 Certificate
DC DataCamp Training in Data Science - -
DC2 > Introduction to PySpark Jul 2019 Certificate
DC1 > Visualizing Time Series Data in Python Jan 2019 Certificate

Introduction to CS

For students to try out CS and see if it's right for them

Topics covered: imperative programming procedural programming C manual memory management basic data structures and algorithms Python SQL basic HTML, CSS, JavaScript and more

ID# Course Completed Proof
001 CS50’s Introduction to Computer Science by Harvard on edX Oct 2018 Certificate
002 6.00.1x Introduction to Computer Science and Programming using Python by MIT on edX Mar 2018 Certificate
CS How to think like a computer scientist: Learning with Python 3 (a classic open-source book with exercises recommended by python.org) Mar 2018 Repository
CS SQL Fundamentals by Sololearn May 2018 Certificate
CS HTML Fundamentals by Sololearn Sep 2018 Certificate
CS CSS Fundamentals by Sololearn In Progress -
CS JavaScript Tutorial by Sololearn Sep 2018 Certificate
CS Python 3 Tutorial by Sololearn Nov 2018 Certificate

Core CS

Corresponds roughly to the first 3 years of a computer science curriculum, taking classes that all majors would be required to take

Core Programming

Topics covered: functional programming design for testing program requirements common design patterns unit testing object-oriented design Java static typing dynamic typing ML-family languages (via Standard ML) Lisp-family languages (via Racket) Ruby and more

Note: I stick to Python and its ecosystem so far in my current projects. In CS50, I also learned basics of C and Web stack (HTML/CSS/JS/jQuery+Python/Flask/Jinja+SQLite). Courses in this section teach programming concepts with such languages as Lisp-family, Java, ML, Ruby, Haskell, Prolog. I prioritize them as ‘nice to have’, but after I’ve covered other topics of the Curriculum.

ID# Course Completed Proof
003 How to Code: Simple Data by UBC on edX In Progress -
004 How to Code: Complex Data by UBC on edX - -
005 Software Construction: Data Abstraction by UBC on edX - -
006 Software Construction: Object-Oriented Design by UBC on edX - -
007 Programming Languages, Part A by UW on Coursera - -
008 Programming Languages, Part B by UW on Coursera - -
009 Programming Languages, Part C by UW on Coursera - -
010 Learn You a Haskell for a Great Good! by Miran Lipovača - -
011 Learn Prolog Now! by Patrick Blackburn, Johan Bos, and Kristina Striegnitz - -

Core Math

Topics covered: linear transformations matrices vectors mathematical proofs number theory differential calculus integral calculus sequences and series discrete mathematics basic statistics O-notation graph theory vector calculus discrete probability and more

Note: I decided to opt out from courses 012-014 on Culculus and Linear Algebra with credits from my Master degree in Physics. MIT’s materials from 015 “Math for CS” I use for reference purposes. I also added refresher courses in Statistics - the more Statistics, the better :). E.g. an excellent ‘Statistical Reasoning’ course by Stanford Online from the OSSU Data Science Curriculum.

ID# Course Completed Proof
015 Mathematics for CS by MIT Open Courseware For reference -
extra Statistical Reasoning by Stanford on Lagunita Jan 2019 Progress records
extra Statistics by Bioinformatics Institute on Stepik (Rus) Jul 2019 Certificate
extra Statistics 2 by Bioinformatics Institute on Stepik (Rus) Aug 2019 Certificate

Core Systems

Topics covered: boolean algebra gate logic memory computer architecture assembly machine language virtual machines high-level languages compilers operating systems network protocols and more

ID# Course Completed Proof
016 Build a Modern Computer from First Principles: From Nand to Tetris by HUJ on Coursera Mar 2018 Certificate
017 Build a Modern Computer from First Principles: Nand to Tetris Part II by HUJ on Coursera In progress -
018 Introduction to Computer Networking by Stanford on Lagunita Nov 2018 Certificate
019 ops-class.org - Hack the Kernel - -

Core Theory

Topics covered: divide and conquer sorting and searching randomized algorithms graph search shortest paths data structures greedy algorithms minimum spanning trees dynamic programming NP-completeness and more

ID# Course Completed Proof
020 Algorithms: Design and Analysis, Part I by Standord on Lagunita Dec 2018 Certificate
022 Algorithms: Design and Analysis, Part II by Stanford on Lagunita In Progress -

Note: (4 Algorithms courses by Stanford on Coursera == 2 Algorithms courses by Stanford on Lagunita)

Core Applications

Topics covered: Agile methodology REST software specifications refactoring relational databases transaction processing data modeling neural networks supervised learning unsupervised learning OpenGL raytracing block ciphers authentication public key encryption and more

ID# Course Completed Proof
024 Databases by Stanford on Lagunita - Certificate for each sub-course
DB4 > Relational Algebra May 2018 Certificate
DB5 > SQL May 2018 Certificate
DB2 > XML Data Jun 2018 Certificate
DB3 > JSON Data Jun 2018 Certificate
DB10 > Indexes and Transactions Feb 2020 Certificate
025 Machine Learning by Stanford on Coursera Jun 2018 Certificate
026 Computer Graphics by UCSD on edX - -
027 Cryptography I by Stanford on Coursera In Progress -
028 Software Engineering: Introduction by UBC on edX - -
029 Software Development Capstone Project by UBC on edX - -

Advanced CS

Corresponds roughly to the final year of a computer science curriculum, taking electives according to the student's interests

Projects

Include both curriculum and extra-curriculum projects to validate, consolidate, and display my knowledge

ID# Project Completed Proof
DS Content based recommendation system for Ozon.ru - 1st place on Private leaderboard Jun 2019 Github repo
DS CF recommendation system with implicit feedback Jun 2019 Github repo
DS Recommendation system for movies with Spark ALS Jun 2019 Github repo
DS Predict gender and age from web logs - 2nd place on Private leaderboard May 2019 Github repo
DS Word2Vec for movie reviews - LSTM Apr 2019 Github repo
DS Bank customers churn Apr 2019 Github repo
DS Classification of Time Series with LSTM RNN Jan 2019 Kaggle kernel
DS Online Learning of Time Series with LSTM RNN Jan 2019 Kaggle kernel
DS Fast LeNet-5 CNN in Keras Nov 2018 Kaggle kernel
001 CS50’s Final Project: An interactive web app ‘Digit Recognizer’ with machine learning Sep 2018 Github repo + YouTube
DS Under the Hood: A Dense Neural Network w/MNIST dataset - digit recognition Sep 2018 Kaggle kernel
DS Under the Hood: A Dense Neural Network w/Titanic dataset - binary classification Aug 2018 Kaggle kernel
DS Titanic: Quick model first, then data manipulation - binary classification Jul 2018 Kaggle kernel
016 Nand2Tetris Final Project: Assembler in Python for the Hack Computer Mar 2018 Github repo