Free Course for ML & Numerical Software Development


Free Course for ML & Numerical Software Development


Thank you for your interest in attending Organon Analytics - Free Course for ML & Numerical Software Development. 

This FREE course will be the first installment in a series of three:

1. Applied Machine Learning and Numerical Software Development
2. Deep Learning: Theory, Computations and Applications
3. Reinforcement Learning: Theory, Computations and Applications

Please fill out the survey in this link to apply for the first course:

You may find the details and the scope below: 


1. The course is FREE! Tea, coffee & occasional snacks are free. However, you need to bring your own laptop and cover the expenses for your transportation and food. 
2. We don't have enough seats for everyone :( There'll be a selection process. Please fill out the survey at and upload a brief CV and a cover note for why you'd like to attend.

3.Start Date: 15th October or 22nd of October ( to be announced later)
Time: Every Tuesday and Thursday between 18:00 - 20:30
Location : TBD  
Duration : 10 Weeks

4. Attendance is very STRICT. People who miss a cumulative count of 2 sessions will be dropped. Do not apply unless  %100 sure
5. Code developed during the course will be committed to a GitHub repository 
6. We will use C# to develop the code ( Note-1: The contents are language independent  Note-2 : Matrix computations will be delegated to high performance C code)


ML Theory : No toy examples, no unwarranted theoretical assumptions, no sugar coating of the ugly reality. You need to drop your parametric distributions, sampling and stationarity assumptions at the gate. Actually it is better to leave each and every one of your assumptions there. 



  • Statistical Learning, Machine Learning, Deep learning, Artificial Intelligence: Definitions, commonalities, differences, use cases
  • Probability, Statistics & Math: Necessary basics
  • Data: Heterogeneity, structures, distributions, volume, storage, transfer, access, etc.
  • How to build an ML pipeline:
    1. Accessing and integrating heterogeneous data
    2. Monitoring data quality
    3. Preparing data
    4. Running ML algorithms
    5. Deployment of ML models
    6. Documentation, reporting, visualization, and monitoring
  • A survey of technologies, tools, paradigms in building ML pipelines


We will NOT write "code snippets". We will develop "industrial-grade software" during the course. We will get our hands dirty and build working ML software from absolute scratch.

It will not be for the dispassionate. We will get down to the nitty-gritty of commercial software development from modularity, to testing, from parallelization to so-called cross-cutting concerns.

We shall get you from ZERO to HERO in 10 weeks.


We shall code a variant of Gradient Boosting algorithm from scratch. We shall start with an empty text file, and iteratively/incrementally build working numerical software.We shall eventually test it in on large public datasets.

The primary topics to be covered are as follows:

  • What is numerical software?
  • Gradient Boosting algorithm(s)
  • Matrix Computations
  • BLAS and LAPACK libraries
  • Cache Optimization
  • Performance Profiling
  • Shared Memory Parallelization
  • Software Development Patterns/Principles/Practices that matter
  • Layered Software Architecture
  • Managing dependencies in large scale software development
  • Cross Cutting Concerns: Logging, Validation, Exception Handling
  • Testing in all of its flavors: Unit Testing, Integration Testing, Load Testing 
Request a Demo